1. 程式人生 > >Centos安裝Hadoop叢集

Centos安裝Hadoop叢集

提示:

需要修改hosts檔案,文章中使用hostname代替ip地址

需要SSH無金鑰登入配置

需要配置rsync遠端同步工具

1)叢集部署規劃

 

centos01.bkm

centos02.bkm

centos03.bkm

HDFS 

 

NameNode

DataNode

 

DataNode

SecondaryNameNode

DataNode

YARN

 

NodeManager

ResourceManager

NodeManager

 

NodeManager

2)配置檔案

(1)core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
	<property>
		<name>fs.defaultFS</name>
        <value>hdfs://centos01.bkm:9000</value>
	</property>
	<!-- 指定hadoop執行時產生檔案的儲存目錄 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop/data/tmp</value>
	</property>

(2)hdfs

       hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       hdfs-site.xml

<configuration>	
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>centos03.bkm:50090</value>
    </property>
</configuration>

       slaves(注意,不能有空格空行和多餘字元)

centos01.bkm
centos02.bkm
centos03.bkm

(3)yarn

       yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer獲取資料的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

<!-- 指定YARN的ResourceManager的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>centos02.bkm</value>
	</property>
</configuration>

(4)mapreduce

       mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       mapred-site.xml

<configuration>
<!-- 指定mr執行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

3)在叢集上分發以上所有檔案

cd /opt/hadoop/etc/hadoop
xsync /opt/hadoop/etc/hadoop

4)檢視檔案分發情況

xcall cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves

5叢集啟動及測試

如果叢集是第一次啟動,需要格式化namenode,如果重新格式化則需要先刪除data中資料
    bin/hdfs namenode -format
1)啟動/停止HDFS:啟動後使用jps命令看是否跟規劃節點一樣
sbin/start-dfs.sh/
sbin/stop-dfs.sh
2)啟動/停止yarn:啟動後使用jps命令看是否跟規劃節點一樣
sbin/start-yarn.sh
sbin/stop-yarn.sh
#注意:Namenode和ResourceManger如果不是同一臺機器,不能在NameNode上啟動 yarn,應該在ResouceManager所在的機器上啟動yarn。


上傳檔案
hadoop fs -put /home/centos/Downloads/hadoop-2.7.7.tar.gz /user/centos/input
如果上傳完檔案後沒有產生備份,則需要檢視對應埠是否開放

上傳檔案後進入data的最深層目錄
-rw-r--r--. 1 root root 134217728 Dec  3 21:25 blk_1073741830
-rw-r--r--. 1 root root   1048583 Dec  3 21:25 blk_1073741830_1006.meta
-rw-r--r--. 1 root root  84502793 Dec  3 21:25 blk_1073741831
-rw-r--r--. 1 root root    660187 Dec  3 21:25 blk_1073741831_1007.meta
touch tmp
cat blk_1073741830>>tmp
cat blk_1073741831>>tmp
tar -zxvf tmp 
可得到解壓後的hadoop-2.7.7.tar.gz