大数据环境搭建系列-hadoop高可用集群搭建

概述

记录一下快速搭建一个高可用的hadoop集群,机器5台(cdh01~cdh05)

分配 cdh01、cdh02为名称节点,cdh01~cdh05为数据节点

部署规划

主机名 系统 ip 进程
cdh01 Linux 192.168.8.21 NameNode、ZKFC、Resourcemanager、DataNode、NodeManager、Journalnode
cdh02 Linux 192.168.8.22 NameNode、ZKFC、Resourcemanager、DataNode、NodeManager、Journalnode
cdh03 Linux 192.168.8.23 DataNode、NodeManager、JournalNode
cdh04 Linux 192.168.8.24 DataNode、NodeManager、JournalNode
cdh05 Linux 192.168.8.25 DataNode、NodeManager、JournalNode

 

前提条件

五台机器已做免密登录、jdk环境已安装。

安装

1、下载hadoop

版本:hadoop-2.7.5.tar.gz

2、解压

tar -xzvf hadoop-2.7.5.tar.gz

3、移动位置或者创建软连接

ln -s /bigdata/source/hadoop-2.7.5 /bigdata/hadoop

4、配置环境变量

vim ~/.bash_profile

#hadoop
export HADOOP_HOME=/bigdata/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5、使配置文件生效

source ~/.bash_profile

6、配置HA高可用

编辑hadoop安装目录下的etc/hadoop

[core-site.xml]




         
		
			fs.defaultFS
			hdfs://mycluster
		
		
		
			hadoop.tmp.dir
			/home/bigdata/hadoop
		
        
		
			ha.zookeeper.quorum
			cdh01:2181,cdh02:2181,cdh03:2181,cdh04:2181,cdh05:2181
		

[hdfs-site.xml]




    
	
		dfs.nameservices
		mycluster
	
    
	
		dfs.ha.namenodes.mycluster
		nn1,nn2
	
    
	
		dfs.namenode.rpc-address.mycluster.nn1
		cdh01:8020
	
    
	
		dfs.namenode.rpc-address.mycluster.nn2
		cdh02:8020
	
    
	
		dfs.namenode.http-address.mycluster.nn1
		cdh01:50070
	
	
		dfs.namenode.http-address.mycluster.nn2
		cdh02:50070
	
    
	
		dfs.namenode.shared.edits.dir
		qjournal://cdh01:8485;cdh02:8485;cdh03:8485;cdh04:8485;cdh05:8485/mycluster
	
	
		dfs.client.failover.proxy.provider.mycluster
		org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
	
    
	
		dfs.ha.fencing.methods
		
			sshfence
			shell(/bin/true)
		
	
	
		dfs.ha.fencing.ssh.private-key-files
		/home/.ssh/id_rsa
	
    
	
		dfs.journalnode.edits.dir
		/home/bigdata/hadoop/journal
	
     
	
		dfs.ha.automatic-failover.enabled
		true
	
     
	
		dfs.replication
		3
	

[mapred-site.xml]



	
		mapreduce.framework.name
		yarn
	

[yarn-site.xml]



	
		yarn.nodemanager.aux-services
		mapreduce_shuffle
	
	
		yarn.resourcemanager.ha.enabled
		true
	
	
		yarn.resourcemanager.cluster-id
		cluster1
	
	
		yarn.resourcemanager.ha.rm-ids
		rm1,rm2
	
	
		yarn.resourcemanager.hostname.rm1
		cdh01
	
	
		yarn.resourcemanager.hostname.rm2
		cdh02
	
	
		yarn.resourcemanager.webapp.address.rm1
		cdh01:8088
	
	
		yarn.resourcemanager.webapp.address.rm2
		cdh02:8088
	
	
		yarn.resourcemanager.zk-address
		cdh01:2181,cdh02:2181,cdh03:2181,cdh04:2181,cdh05:2181
	
			

[slaves]

配置从节点

cdh01
cdh02
cdh03
cdh04
cdh05

[hadoop-env.sh]

配置你的java路径

...
export JAVA_HOME=/es5.2.0/bigdata/jdk1.8.0_131/
...

7、分发hadoop到其他4台服务器

xsync hadoop

8、启动集群

a、先启动zookeeper集群

zkServer.sh start

b、启动JournalNode

当所有配置都完成以后,我们需要先启动JournalNode服务。在配置了JournalNode服务的每台服务器上执行 

hadoop-daemon.sh start journalnode

c、格式化NameNode

启动了JournalNode后(可以通过jps命令查看),我们需要格式化NameNode。在nn1(cdh01)上执行:

hdfs namenode -format

在另一台NN服务器nn2(cdh02)上执行

hdfs namenode -bootstrapStandby
hdfs namenode -initializeSharedEdits

d、在其中任意一台上面执行namenode上初始化zkfc

hdfs zkfc -formatZK

e、在其中任意一台nn1机器启动hdfs集群

start-dfs.sh

f、在cdh01\cdh02启动yarn进程

yarn-daemon.sh start resourcemanager

9、查看ui

http://cdh01:50070

大数据环境搭建系列-hadoop高可用集群搭建_第1张图片

 

大数据环境搭建系列-hadoop高可用集群搭建_第2张图片

大数据环境搭建系列-hadoop高可用集群搭建_第3张图片

 

10、测试

两台NN的状态应该为一台Active,另一台一台Standby。kill掉Active服务器上的NN进程,查看Standby服务器上的NN进程的状态是否变为Active,如果是,则部署成功。如果没有成功,请检查配置是否正确。

 

 

 

 

 

 

你可能感兴趣的:(大数据)