前面先把host 、ssh 信任 都弄好 html
3、下載並解壓hadoop安裝包,配置hadoopjava
一、 關於安裝包的下載就很少說了,不過能夠提一下目前我使用的版本爲hadoop-2.7.1node
二、 配置namenode,修改site文件web
下面開始修改hadoop的配置文件了,即各類site文件,文件存放在etc/Hadoop/下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml這三個文件。apache
這裏我只把個人實例貼出來,經供參考,更多詳細配置請參照官方文檔服務器
core-site.xml:app
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>ssh
hdfs-site.xml:webapp
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> </configuration>分佈式
mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> </configuration>
三、 配置namenode,修改env環境變量文件
配置以前要說的話:你必須確保你已經安裝了java6或者java7,而且java的環境變量已經配置好,因爲本文的重點不在此,故不詳細說明,我係統java的環境變量爲/usr/java/jdk1.7.0_71
因此講hadoop-env.sh、mapred-env.sh、yarn-env.sh這幾個文件中的JAVA_HOME改成/usr/java/jdk1.7.0_71,以下圖所示:
文件中的其餘一些配置項,請參考官方文檔
四、 slaves文件配置,增長以下兩行內容:
node1 node2
4、向節點服務器node一、node2複製咱們剛剛在master服務器上配置好的hadoop
scp–r hadoop root@node1:/usr/local/hadoop scp–r hadoop root@node2:/usr/local/hadoop
5、格式化namenode,在master節點上執行以下命令:
bin/hdfs namenode-format
只要出現「successfully formatted」就表示成功了。
6、啓動hadoop
這一步也在主結點master上進行操做:
7、用jps檢驗各後臺進程是否成功啓動
master
node1
node2
8、向hadoop集羣系統提交第一個mapreduce任務
到這裏爲止咱們已經完成了一個真正意義上的hadoop徹底分佈式環境搭建,下面咱們要像這個集羣系統提交第一個mapreduce任務
一、 bin/hdfs dfs -mkdir /tmp 在虛擬分佈式文件系統上建立一個測試目錄tmp
二、 bin/hdfs dfs -copyFromLocal ./ LICENSE.txt /tmp 將當前目錄下的LICENSE文件複製到虛擬分佈式文件系統中
三、bin/hdfs dfs-ls /tmp查看文件系統中是否存在咱們所複製的文件
下面這張圖顯示了一系列的操做過程
三、 運行以下命令向hadoop提交單詞統計任務
bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount/tmp/LICENSE.txt /tmp-output
最後會顯示一個運算結果: