[虛擬機器VM][Ubuntu12.04]搭建Hadoop完全分散式環境(三)(終篇)
阿新 • • 發佈:2019-02-18
接前兩篇,這是最終篇,前面的準備工作都完成了之後,我們開始安裝和部署hadoop
安裝和配置Hadoop
hadoop
叢集中每臺機器的配置都基本相同,我們先配置好master
,然後複製到slave1
和slave2
上
1、下載並解壓,並重命名目錄為hadoop
,移動到/usr
目錄下去
hadoop@master:~$ tar -zxvf hadoop-2.2.0_x64.tar.gz
hadoop@master:~$ mv hadoop-2.2.0 hadoop
hadoop@master:~$ sudo mv ~/hadoop /usr/
2、建立幾個關鍵目錄,以備後用:
hadoop@master :~$ mkdir dfs
hadoop@master:~$ mkdir dfs/name
hadoop@master:~$ mkdir dfs/data
hadoop@master:~$ mkdir tmp
3、修改配置檔案:
~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc /hadoop/yarn-site.xml
3.1 修改hadoop-env.sh
,將JAVA_HOME
後面填寫上自己的JDK路徑
3.2 修改yarn-env.sh
,將JAVA_HOME
後面填寫上自己的JDK路徑
3.3 修改slaves
,填寫所有的slave
節點
3.4 修改core-site.xml
,說明:
hdfs://master:8020
中的master
是hostname
,如果你們設定的跟我的不一樣請修改file:/home/hadoop/tmp
就是剛才第2步設定的目錄,如果你們設定的跟我的不一樣請修改hadoop.proxyuser.hadoop.hosts
和hadoop.proxyuser.hadoop.groups
hadoop
換成自己的使用者名稱
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
3.5 修改hdfs-site.xml
,說明:
master:9001
中的master
是hostname
,如果你們設定的跟我的不一樣請修改file:/home/hadoop/dfs/name
和file:/home/hadoop/dfs/data
就是剛才第2步設定的目錄,如果你們設定的跟我的不一樣請修改
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
3.6 修改mapred-site.xml
,說明:其中的master
是hostname
,如果你們設定的跟我的不一樣請修改
<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>
3.7 修改yarn-site.xml
,說明:其中的master
是hostname
,如果你們設定的跟我的不一樣請修改
<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>
4、master
配置完成,我們把hadoop
整個目錄複製到slave1
和slave2
上去
hadoop@master:~$ sudo scp -r /usr/hadoop hadoop@slave1:~/
hadoop@master:~$ sudo scp -r /usr/hadoop hadoop@slave2:~/
5、使用ssh分別到slave1
和slave2
機器上將hadoop
目錄移動到和master相同的目錄中去
hadoop@master:~$ ssh slave1
hadoop@slave1:~$ sudo mv ~/hadoop/ /usr/
hadoop@master:~$ ssh slave2
hadoop@slave2:~$ sudo mv ~/hadoop/ /usr/
6、新增hadoop
路徑到環境變數中
hadoop@master:~$ vi /etc/environment
hadoop@master:~$ source /etc/environment
新增以下紅框的內容,如果你們的hadoop路徑和我的不一樣,請修改
7、啟動hadoop
格式化namenode
hadoop@master:~$ hdfs namenode –format
啟動hdfs
hadoop@master:~$ start-dfs.sh
啟動yarn
hadoop@master:~$ start-yarn.sh
8、檢視程序
先看master
的:
hadoop@master:~$ jps
到slave1
上檢視程序:
hadoop@master:~$ ssh slave1
hadoop@slave1:~$ jps
也可以到瀏覽器中輸入http://master:8088/
檢視:
至此,Hadoop完全分散式環境已全部搭建完成!