Hadoop及其HA搭建

Posted 安小猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop及其HA搭建相关的知识,希望对你有一定的参考价值。

1、关闭防火墙  所有节点
service iptables stop
chkconfig iptables off


2、设置免密钥

在master中生成密钥文件
ssh-keygen -t rsa
一直回车

将密钥文件同步到所有节点
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2


3、上传hadoop安装包 上传到msater的/usr/local/soft/
hadoop-2.7.6.tar.gz

4、解压
tar -xvf hadoop-2.7.6.tar.gz

5、配置环境变量

vim /etc/profile

增加hadoop环境变量,将bin和sbin都配置到PATh中
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile


6、修改配置文件
hadoop 配置文件在/usr/local/soft/hadoop-2.7.6/etc/hadoop/

cd /usr/local/soft/hadoop-2.7.6/etc/hadoop/

6.1、slaves : 从节点列表(datanode)
vim slaves
增加node1, node2 

6.2、hadoop-env.sh : Hadoop 环境配置文件
vim hadoop-env.sh
修改JAVA_HOME
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

6.3、core-site.xml : hadoop核心配置文件
vim core-site.xml 
在configuration中间增加以下内容

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>
</property>

<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>



6.4、hdfs-site.xml : hdfs配置文件

vim hdfs-site.xml

在configuration中间增加以下内容

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>


6.5、yarn-site.xml: yarn配置文件

vim yarn-site.xml

在configuration中间增加以下内容

<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</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>604800</value>
</property>

<property>  
<name>yarn.nodemanager.resource.memory-mb</name>  
<value>20480</value>  
</property>  

<property>  
<name>yarn.scheduler.minimum-allocation-mb</name>  
<value>2048</value>  
</property>  

<property>  
<name>yarn.nodemanager.vmem-pmem-ratio</name>  
<value>2.1</value>  
</property>  


6.6、mapred-site.xml: mapreduce配置文件

重命名
mv  mapred-site.xml.template mapred-site.xml

vim 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> 



7、将hadoop安装文件同步到子节点
scp -r /usr/local/soft/hadoop-2.7.6/ node1:/usr/local/soft/
scp -r /usr/local/soft/hadoop-2.7.6/ node2:/usr/local/soft/


8、格式化namenode

hdfs namenode -format 


9、启动hadoop

start-all.sh

10、访问hdfs页面验证是否安装成功

http://master:50070





如果安装失败
stop-all.sh
再次重启的时候
1需要手动将每个节点的tmp目录删除: 所有节点都要删除
rm -rf /usr/local/soft/hadoop-2.7.6/tmp
然后执行将namenode格式化
2在主节点执行命令:
hdfs namenode -format
3启动hadoop
start-all.sh

HA(高可用)搭建,先装zookeeper

		ZK	NN	DN	RM	NM	JN	ZKFC
master	1	1		1		1	1
node1	1	1	1	1	1	1	1
node2	1		1		1	1




1、防火墙
	service iptables stop
2、时间同步
	yum install ntp
	ntpdate -u s2c.time.edu.cn
	
	或者
	date -s 20180503

3、免密钥   (远程执行命令)
	在两个主节点生成密钥文件
	ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
	ssh-copy-id ip

	master-->master,node1,node2
	node1-->master,node1,node2

4、修改hadoop配置文件
	core-site.xml
	hdfs-site.xml

	同步到其它节点
		 scp * node1:`pwd`
		 scp * node2:`pwd`

5、删除hadoop数据存储目录下的文件  每个节点都需要删除
	 rm -rf /usr/local/soft/hadoop-2.7.6/tmp

6、启动zookeeper  三台都需要启动
	zkServer.sh start
	zkServer.sh status

7、启动JN   存储hdfs元数据
 	三台JN上执行 启动命令: 
 	hadoop-daemon.sh start journalnode

 8、格式化 在一台NN上执行
	  hdfs namenode -format
	  启动当前的NN
	  hadoop-daemon.sh start namenode


9、执行同步 没有格式化的NN上执行  在另外一个namenode上面执行
	hdfs namenode -bootstrapStandby


10、格式化ZK   在已经启动的namenode上面执行
	!!一定要先 把zk集群正常 启动起来
	  hdfs zkfc -formatZK

11、启动hdfs集群,在启动了namenode的节点上执行
	start-dfs.sh




yarn  高可用
1、修改配置文件
	yarn-site.xml
	mapred-site.xml
	
	同步到所有节点

2、启动yarn   在master启动
	start-yarn.sh

3、在另外一台主节点上启动RM
	yarn-daemon.sh start resourcemanager


	master:8088
	node1:8088

以上是关于Hadoop及其HA搭建的主要内容,如果未能解决你的问题,请参考以下文章

搭建HA高可用hadoop-2.3(部署配置HBase)

hadoop HA + HBase HA搭建:

hadoop2 环境的搭建(手动HA)

hadoop2 环境的搭建(自动HA)

Hadoop HA集群的搭建

hadoop2.8 ha 集群搭建