Hadoop2.6.0從入門到精通系列之Hadoop 單節點安裝與配置
安裝單節點的Hadoop叢集
說明:本文翻譯英文地址出自 Hadoop Apache 官方網站,如需參考英文,請參考官網。
完成目標
1、安裝和配置單一節點的Haddop環境。
2、使用Hadoop MapReduce和 HDFS(Hadoop Distributed File System)進行簡單操作。
Hadoop 支援的作業系統平臺
- GNU/Linux作為開發與產品平臺被支援。在GNU/Linux平臺上,Hadoop已經成功部署2000節點的叢集。
- Windows也是被支援的平臺,但是以下的內容只涉及Linux。想在 Windows上安裝Hadoop,參考 wiki。
需要的軟體環境
- Java 必須在Linux系統中安裝,推薦的Java版本資訊參見 HadoopJavaVersions.
- ssh 必須安裝,要使用Hadoop指令碼管理遠端Hadoop守護程式時會執行ssh。
說明:本人作業系統軟體資訊如下:
#使用者資訊
[root@HadoopMaster ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
#系統資訊
[root@HadoopMaster ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
# JAVA 資訊
[root@HadoopMaster ~]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)
[root@HadoopMaster ~]#
安裝軟體
如果你的作業系統中沒有以上所需的軟體你需要參照以下方式進行安裝。
以Ubuntu Linux為例:
$ sudo apt-get install ssh $ sudo apt-get install rsync
安裝完軟體後,下面下載Hadoop安裝介質。
下載地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
啟動Hadoop 叢集
首先,建立Hadoop Base 目錄,本人建立在根目錄,命名為/hadoop/
#mkdir /hadoop
然後,將下載的Hadoop軟體介質從下載地址拷貝到/hadoop目錄下,執行命名進行解壓。
[root@HadoopMaster hadoop]# mv /download/hadoop-2.6.0.tar.gz /hadoop/hadoop-2.6.0.tar.gz
[root@HadoopMaster hadoop]# tar xvf hadoop-2.6.0.tar.gz
進入到/hadoop/hadoop-2.6.0目錄,編輯etc/hadoop/hadoop-env.sh檔案,修改以下引數資訊
[root@HadoopMaster hadoop]# cd hadoop-2.6.0
[root@HadoopMaster hadoop-2.6.0]# vi etc/hadoop/hadoop-env.sh
#設定Java安裝的路徑,我的系統Java安裝在/hadoop/jdk1.6.0_45目錄下,安裝Java的時候一定要注意32位還是64位版本。 export JAVA_HOME=/hadoop/jdk1.6.0_45/ # 設定HADOOP安裝目錄所在目錄,本人未在etc/hadoop/hadoop-env.sh檔案內找到該說明,所以未進行設定。 export HADOOP_PREFIX=/hadoop
[root@HadoopMaster hadoop-2.6.0]# bin/hadoop Usage: hadoop [--config confdir] COMMAND where COMMAND is one of: fs run a generic filesystem user client version print the version jarrun a jar file checknative [-a|-h] check native hadoop and compression libraries availability distcp copy file or directories recursively archive -archiveName NAME -p * create a hadoop archive classpath prints the class path needed to get the credential interact with credential providers Hadoop jar and the required libraries daemonlog get/set the log level for each daemon trace view and modify Hadoop tracing settings or CLASSNAME run the class named CLASSNAME Most commands print help when invoked w/o parameters. [root@HadoopMaster hadoop-2.6.0]# #以上是hadoop 指令碼命令的使用方法,出現上述資訊說明安裝成功。
現在,你就準備好了,可以使用以下三種模式之一啟動你的Hadoop叢集了。
- Local (Standalone) Mode (本地(單獨)模式)
- Pseudo-Distributed Mode(偽分散式模式)
- Fully-Distributed Mode(完全分散式模式):此篇暫時不做說明
本地模式操作
預設情況下,Hadoop被配置成單一Java程式執行的非分散式模式,這樣很利於除錯。
下面的例子拷貝解壓的conf目錄作為輸入來使用,然後查詢並顯示所有匹配的正規表示式。並將查詢結果寫入到指定的目錄。
[hadoop@HadoopMaster hadoop]$ pwd
/hadoop
[hadoop@HadoopMaster hadoop]$ ls -l[root@HadoopMaster hadoop]# ll
total 260832
drwxr-xr-x 12 hadoop hadoop 4096 Mar 29 19:09 hadoop-2.6.0
-rwxrwxr-x 1 hadoop hadoop 195257604 Mar 29 18:37 hadoop-2.6.0.tar.gz
drwxr-xr-x 8 hadoop grid 4096 Mar 26 2013 jdk1.6.0_45
-rwxr-xr-x 1 hadoop grid 71799552 Nov 26 09:28 jdk-6u45-linux-i586.bin
drwxr-xr-x 2 hadoop grid 16384 Nov 26 08:54 lost+found
$cd hadoop-2.6.0
注:以上命令是本人主機環境,具體如何做根據個人情況執行,做完以上操作,繼續以下操作。
$ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+' 執行完成,未出現錯誤的情況下,檢視結果。 [hadoop@HadoopMaster hadoop-2.6.0]$ cat output/* [hadoop@HadoopMaster hadoop-2.6.0]$ cat output/* 1 dfsadmin 1 dfs.replication 注:以下結構是我主機上執行的結果。
[hadoop@HadoopMaster hadoop-2.6.0]$ ls -al output/
total 20
drwxrwxr-x 2 hadoop hadoop 4096 03-29 18:52 .
drwxr-xr-x 11 hadoop hadoop 4096 03-29 18:52 ..
-rw-r--r-- 1 hadoop hadoop 11 03-29 18:52 part-r-00000
-rw-rw-r-- 1 hadoop hadoop 12 03-29 18:52 .part-r-00000.crc
-rw-r--r-- 1 hadoop hadoop 0 03-29 18:52 _SUCCESS
-rw-rw-r-- 1 hadoop hadoop 8 03-29 18:52 ._SUCCESS.crc
以上操作主要功能是在Hadoop安裝的目錄下建立資料夾input,然後將 etc/hadoop/目錄下的xml 檔案拷貝到資料夾input下,通過執行hadoop命令呼叫java編寫的jar程式share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 將input目錄下的所有xml檔案內包含dfs的內容寫入到output目錄下。
偽分散式操作
hadoop也能在單節點上以偽分散式模式執行,Hadoop守護程式以獨立的Java程式執行。
配置:
etc/hadoop/core-site.xml:
etc/hadoop/hdfs-site.xml:fs.defaultFS hdfs://localhost:9000
dfs.replication 1
Setup passphraseless ssh 安裝無密ssh(Secure Shell)
首先,檢查是否可以通過在提供密碼的情況下使用ssh命令連線到localhost主機。
$ ssh localhost 如果不能在無密的情況下ssh到localhost,現在需要使用以下命令配置ssh信任。 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #注意:執行完成以上命令後,請確認 ~/.ssh/authorized_keys 檔案的許可權,一定要是644,否則,互信不會成功,導致無法正常通訊,具體原因是由於SSH出於安全考慮。
操作步驟
以下命令是在本地執行MapReduce作業,如果想在YARN上執行作業,請參考YARN on Single Node.
#cd /hadoop/hadoop-2.6.0/
-
$ bin/hdfs namenode -format
-
啟動名稱節點和資料節點後臺程式:
$ sbin/start-dfs.sh
Hadoop守護程式日誌輸出被寫入$HADOOP_LOG_DIR目錄(預設為$HADOOP_HOME/logs)
-
瀏覽名稱節點資訊,在本地瀏覽器位址列輸入:http://192.168.9.21:50070,資訊如下:
-
建立Hadoop Distributed File System(HDFS)
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/
#本人執行的是 $bin/hdfs dfs -mkdir /user/hadoop -
拷貝本地的 etc/hadoop目錄下的檔案拷貝到分散式檔案系統 /user/hadoop/input目錄下:
$ bin/hdfs dfs -put etc/hadoop /usr/hadoop/input #第一個地址是源地址,第二個地址是目標地址即HDFS地址。
-
執行Hadoop提供的例子。
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
-
檢測輸出檔案:
將分散式檔案系統中的檔案拷貝到本地,並檢視輸出內容:
$ bin/hdfs dfs -get output output $ cat output/*
或者在分散式檔案系統中檢視檔案:
$ bin/hdfs dfs -cat output/*
-
停止分散式檔案系統守護程式
$ sbin/stop-dfs.sh
今天就到這裡了,睡個好覺,明天繼續努力。
以下的英文說明對於單節點安裝配置作用不大,後面的部分仍會有提及,再次不做過度詳述。
You can run a MapReduce job on YARN in a pseudo-distributed mode by setting a few parameters and running ResourceManager daemon and NodeManager daemon in addition.
The following instructions assume that 1. ~ 4. steps of the above instructions are already executed.
-
Configure parameters as follows:
etc/hadoop/mapred-site.xml:
mapreduce.framework.name yarn etc/hadoop/yarn-site.xml:
yarn.nodemanager.aux-services mapreduce_shuffle -
Start ResourceManager daemon and NodeManager daemon:
$ sbin/start-yarn.sh
-
Browse the web interface for the ResourceManager; by default it is available at:
- ResourceManager - http://localhost:8088/
- Run a MapReduce job.
-
When you're done, stop the daemons with:
$ sbin/stop-yarn.sh
Fully-Distributed Operation
For information on setting up fully-distributed, non-trivial clusters see Cluster Setup.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23628945/viewspace-1486002/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- React從入門到精通系列之(1)安裝ReactReact
- React從入門到精通學習系列之(1)安裝ReactReact
- React從入門到精通系列之(24)DOM ElementsReact
- React從入門到精通系列之(23)ReactDOM的用法React
- Flask框架從入門到精通之引數配置(二)Flask框架
- Flask框架從入門到精通之模板表單(二十)Flask框架
- React從入門到精通系列之(21)React頂級APIReactAPI
- 單篇長文TestNG從入門到精通
- Flink從入門到精通系列文章
- Hadoop入門系列(2)-安裝HadoopHadoop
- React從入門到精通系列之(12)深入理解JSXReactJS
- React從入門到精通系列之(2)JSX的介紹ReactJS
- Flask框架從入門到精通之模型資料庫配置(十一)Flask框架模型資料庫
- Thymeleaf從入門到精通
- LESS從入門到精通
- Git 從入門到精通Git
- Shell從入門到精通
- Promise從入門到精通Promise
- vim從入門到精通
- Charles 從入門到精通
- RabbitMQ從入門到精通MQ
- SAP從入門到精通
- redis從入門到精通Redis
- Flask框架從入門到精通之Session(九)Flask框架Session
- Flask框架從入門到精通之Response(七)Flask框架
- Flask框架從入門到精通之Request(六)Flask框架
- Docker 從入門到精通(三)一 網路配置Docker
- 一、Hadoop2.6.0 單機模式配置Hadoop模式
- 安裝 Hadoop:設定單節點 Hadoop 叢集Hadoop
- ElasticSearch 7.8.1 從入門到精通Elasticsearch
- Eclipse從入門到精通Eclipse
- RabbitMQ 從入門到精通 (一)MQ
- ActiveMQ從入門到精通(一)MQ
- ActiveMQ從入門到精通(二)MQ
- Kaizen如何從入門到精通?AI
- Celery框架從入門到精通框架
- jsp從入門到精通JS
- Python從入門到精通Python