hadoop2.6.0-cdh5.8.3安装

在搭建hadoop高可用之前先要搭建zookeeper:
参考官方文档进行安装部署
http://zookeeper.apache.org/doc/r3.4.5/zookeeperAdmin.html#sc_systemReq
1.vim /etc/hosts
添加:
192.168.12.51 cm01
192.168.6.92 cm02
192.168.9.54 cm03
2.vim /etc/hostname 改成相应的主机名
在对应机器上执行hostname cm0i (i=1,2,3),使hostname生效
3.配置免密
ssh-keygen
ssh-copy-id root@[主机名]

ssh-keygen
ssh-copy-id root@192.168.12.51
ssh-copy-id root@192.168.6.92
ssh-copy-id root@192.168.9.54

4 安装
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.8.3.tar.gz

解压到对应文件夹下:
tar -zxvf hadoop-2.6.0-cdh5.8.3.tar.gz -C /usr/local/hadoop

修改配置并按配置添加相应的目录:
core-site.xml

<configuration>
	<property>
	<name>fs.defaultFS</name>
	<value>hdfs://ha</value>
	</property>
	<property>
	<name>ha.zookeeper.quorum</name>
	<value>cm01:2181,cm02:2181,cm03:2181</value>
	</property>
	<property>
	<name>hadoop.tmp.dir</name>
	<value>/var/lib/hadoop/log</value>
	</property>
</configuration>

hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>/var/lib/hadoop/hdfs</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/lib/hadoop/data</value>
</property>
<!--指定hdfs的nameservice为ha,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ha</value>
</property>
<!-- ha下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ha</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ha.nn1</name>
<value>cm01:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ha.nn1</name>
<value>cm01:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ha.nn2</name>
<value>cm02:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ha.nn2</name>
<value>cm02:50070</value>
</property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://cm01:8485;cm02:8485;cm03:8485/ha</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<!-- 开启NameNode失败自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ha</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>cm01:2181,cm02:2181,cm03:2181</value>
</property>
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔离机制超时时间 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>

yarn-site.xml

<!-- 开启RM高可用 -->
<property>
	<name>yarn.resourcemanager.ha.enabled</name>
	<value>true</value>
</property>
<!--开启故障自动切换-->
<property>
	<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
	<value>true</value>
</property>
	<property>
	<name>yarn.resourcemanager.ha.rm-ids</name>
	<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址(hostname,不加端口号) -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>cm01</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>cm02</value>
</property>
<!--在namenode1上配置rm1,在namenode2上配置rm2-->
<property>
<name>yarn.resourcemanager.ha.id</name>
<value>rm1</value>
</property>
<!-- 指定zk集群地址 -->
<property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>cm01:2181,cm02:2181,cm03:2181</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

5 问题总结:
问题一:
start-yarn.sh
出现:
localhost: Error: JAVA_HOME is not set and could not be found.
在hadoop-env.sh中export JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8
系统环境变量里面已经设置了,为什么还要再设置一边?这个问题先留着。

问题二:
active启动了
standby启动的时候出现以下异常:
Error starting ResourceManager
org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server
原来是yarn.resourcemanager.ha.id在第二台机器上没有改过来,将第二个resourcemanager的该配置值改成rm2
yarn.resourcemanager.ha.id
rm1

问题三:查看activeResourmanagerIp:8088的页面的时候,提示的资源是24G,24vcore。但是实际上3台机器的资源为16G,8vcore

需要在yarn-site.xml中添加配置项
#设置RM分配的container最小的内存为1024M

<property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>1024</value>
</property>
#设置RM分配的container每次增加的内存大小
<property>
	<name>yarn.scheduler.increment-allocation-mb</name>
	<value>512</value>
</property>
#设置RM分配的container最大的内存为2048M
<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>2048</value>
</property>
#设置RM分配的Vcore
<property>
    <name>yarn.scheduler.minimum-allocation-vcores</name>
    <value>1</value>
</property>
<property>
    <name>yarn.scheduler.increment-allocation-vcores</name>
    <value>1</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>2</value>
</property>
#设置单个NM的内存大小
<property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>3072</value>
</property>
#设置单个NM的vcore
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>2</value>
</property>

#虚拟内存率,默认2.1,放这表明有这个东西
<property>
	<name>yarn.nodemanager.vmem-pmem-ratio</name>
	<value>2.1</value>
</property>

在mapred-site.xml中添加以下配置:

<property>
    <name>mapreduce.map.memory.mb</name>
    <value>1024</value>
</property>
<property>
    <name>mapreduce.map.cpu.vcores</name>
    <value>1</value>
</property>
<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>
</property>
<property>
    <name>mapreduce.reduce.cpu.vcores</name>
    <value>1</value>
</property>

停掉有的nn和rm。修改配置重启
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh stop nodemanager

active rm :
start-yarn.sh
standby rm:
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager

UI查看资源情况:
在这里插入图片描述
参考文章:
cdh hadoop官方文档:
http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.8.3/
csdn的博客:这篇文章搭建了zookeeper,高可用的hadoop,hbase 写很详细
https://blog.csdn.net/qq_40784783/article/details/79115526
yarn资源的配置文章参考
https://blog.csdn.net/suifeng3051/article/details/48135521#commentsedit
https://blog.csdn.net/dxl342/article/details/52840455

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值