3臺服務器的服務規劃:node
nameNodeweb |
dataNodeapache |
resourceManager服務器 |
nodeManagerapp |
jobHistoryServerssh |
secondaryNameNodewebapp |
|
hadoop.node.server01分佈式 (192.168.159.130)oop |
Yspa |
Y |
Y |
Y |
||
hadoop.node.server02 (192.168.159.128) |
Y |
Y |
Y |
|||
hadoop.node.server03 (192.168.159.129) |
Y |
Y |
|
Y |
一、下載hadoop包。
本人使用的是成熟版本2.5.0,下載有兩種方式:一種是使用CDH的封裝的版本,下載地址:http://archive.cloudera.com/cdh5/cdh/5/,一種是apache官網下載,官網的版本最新版本已是2.7.5版本了,要找2.5.0的老版本,必須在https://archive.apache.org/dist/hadoop/common/
二、解壓hadoop包,命令是tar -zxvf hadoop.tar.gz
三、對如下文件配置JAVA環境變量值
配置文件地址:${HADOOP_HOME}/etc/hadoop,配置的文件以下:
hadoop-env.sh
mapred-env.sh
yarn-env.sh
以上3個文件都配置:export JAVA_HOME=/opt/modules/jdk1.8
四、修改core-site.xml,增長如下屬性配置:
====core-site.xml====
<!--指定第一臺作namenode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.node.server01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-2.5.0/data</value>
</property>
五、修改配置hdfs-site.xml,增長如下屬性配置:
<!-- 分佈式副本數設置爲3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- secondarynamenode主機名 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop.node.server03:50090</value>
</property>
<!-- namenode的web訪問主機名:端口號 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop.node.server01:50070</value>
</property>
<!-- 關閉權限檢查用戶或用戶組 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
六、修改yarn-site.xml,增長如下屬性配置:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop.node.server02</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
七、修改mapred.site.xml
首先將mapred-site.xml.template更名爲mapred-site.xml,而後增長如下屬性配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop.node.server01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop.node.server01:19888</value>
</property>
在server01中執行如下兩條命令分別發往server02和server03服務器中,替換配置文件:
scp /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/* hadoop.node.server02: /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/
scp /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/* hadoop.node.server03: /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/
在namenode所在server01服務器,以及resourceManager所在的server02服務器,分別向其它服務器配置無密碼ssh登陸,
1)、在server01執行如下命令:
ssh-keygen -t rsa
ssh-copy-id hadoop.node.server02
ssh-copy-id hadoop.node.server03
2)、在server02執行如下命令:
ssh-keygen -t rsa
ssh-copy-id hadoop.node.server01
ssh-copy-id hadoop.node.server03
/usr/local/hadoop/hadoop-2.5.0/bin/hdfs namenode -format
在server01服務器中,執行命令: /usr/local/hadoop/hadoop-2.5.0/sbin/start-dfs.sh
在server02服務器中,執行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/start-yarn.sh
在server01服務器,執行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/mr-jobhistory-daemon.sh start historyserver
至此,一切服務就緒。