Hadoop_HA配置过程记录
来源:互联网 发布:倍福plc编程软件 编辑:程序博客网 时间:2024/06/05 12:40
一、修改配置文件
①vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_71
②vim core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://cluster1</value></property>【默认的HDFS路径。多个HDFS集群同时工作时,集群名称在这里指定!该值来自于hdfs-site.xml中的配置】<property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-2.7.2/tmp</value></property>【这是NameNode、DataNode、JournalNode等存放数据的公共目录。也可以单独指定这三类节点的目录。】<property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node3:2181,node4:2181,node5:2181</value></property>
③vim hdfs-site.xml
<property> <name>dfs.replication</name> <value>3</value></property><property> <name>dfs.nameservices</name> <value>silence1101</value></property>【HDFS集群别名,多个集群时相互不重复即可】<property> <name>dfs.ha.namenodes.silence1101</name> <value>master1,master2</value></property>【该集群namenode节点】<property> <name>dfs.namenode.rpc-address.silence1101.master1</name> <value>master1:9000</value></property><property> <name>dfs.namenode.http-address.silence1101.master1</name> <value>master1:50070</value></property><property> <name>dfs.namenode.rpc-address.silence1101.master2</name> <value>master2:9000</value></property><property> <name>dfs.namenode.http-address.silence1101.master2</name> <value>master2:50070</value></property><property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node1:8485;node2:8485;node3:8485/silence1101</value></property>【指定两个NameNode共享edits文件目录时,使用的JournalNode集群信息】<property> <name>dfs.ha.automatic-failover.enabled.silence1101</name> <value>true</value></property>【启动自动故障恢复,当NameNode出故障时,自动切换到另一台NameNode】<property> <name>dfs.client.failover.proxy.provider.silence1101</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </value></property>【指定该集群出故障时,哪个实现类负责执行故障切换】<property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value></property>【一旦需要NameNode切换,使用ssh方式进行操作】<property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value></property>【如果使用ssh进行故障切换,使用ssh通信时用的密钥存储的位置】<property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value></property>
④vim mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value></property>【指定运行mapreduce的环境是yarn】
⑤vim yarn-site.xml
<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value></property>【启动HA高可用性】<property> <name>yarn.resourcemanager.cluster-id</name> <value>yrc</value></property>【指定resourcemanager的名字】<property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value></property>【使用了2个resourcemanager,分别指定Resourcemanager的地址】<property> <name>yarn.resourcemanager.hostname.rm1</name> <value> master1</value></property>【指定ResourceManager1的地址】<property> <name>yarn.resourcemanager.hostname.rm2</name> <value> master2</value></property>【指定ResourceManager2的地址】<property> <name>yarn.resourcemanager.zk-address</name> <value>node1:2181,node2:2181,node3:2181,node4:2181,node5:2181</value></property>【指定Zookeeper节点】<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>【默认】
⑥vim slaves
node1node2node3node4
二、启动过程
启动zookeeper集群
./zkServer.sh start
查看状态
./zkServer.sh status
启动journalnode(分别在在主机node1、node2、node3启动)
sbin/hadoop-daemon.sh start journalnode
验证
jps
显示JouralNode + QuorumpeerMain
格式化namenode(master1)
hdfs namenode -format
格式化ZKFC(在master1上执行)
hdfs zkfc -formatZK
NameNode从master1同步到master2
① 在master2执行
hdfs namenode bootstrapstandby验证tmp下生成dfs
② 如果①失败(在master1执行)
ssh-keygen -f "~/.ssh/known_hosts" -R master1验证tmp下生成dfs
启动NameNode和DataNode
start-dfs.sh
启动yarn(在master2执行)
start-yarn.sh验证jps显示ResourceManager + NodeManager
启动ZookeeperFailoverController(master1和master2执行)
hadoop-daemon.sh start zkfc验证jps显示DFSZKFailoverController
三、UI验证
打开浏览器查看master1(namenode显示active)打开浏览器查看master2(namenode显示standby)
四、常见错误
hadoop HA启动时 两个namenode节点都是standby,解决办法:①启动zookeeper选举制度 sbin/hadoop-daemon.sh start zkfc②执行bin/hdfs haadmin -transitionToActive master2 如果是新配置的HAhadoop集群,可能是zkfc(DFSZKFailoverController)没有格式化导致namenode节点的自动切换机制没有开启
阅读全文
0 0
- Hadoop_HA配置过程记录
- Hadoop_HA集群
- Hadoop_HA原理
- SnapKit配置过程记录
- 配置Docker过程记录
- LINUX配置过程记录
- Ubuntu_DNS配置过程记录
- Ubuntu_Kerberos配置过程记录
- Hadoop_Kerberos配置过程记录
- bushHibernte配置过程重点记录
- 安装配置opensips过程记录
- Ubuntu配置vim过程记录
- 安装配置opensips过程记录
- mysql主从配置过程记录
- Centos 配置phabricator 过程记录
- 安装配置opensips过程记录
- * 安装配置opensips过程记录
- 安装配置opensips过程记录
- jQuery滚动监听,实现商城楼梯式导航、滚动监听根据滚动条所处的位置来自动更新导航项
- [Leetcode] 464. Can I Win 解题报告
- 利用腾讯云免费证书打造全https站
- CRT连接linux,新建的用户“oralce”可以登陆了,root就登录不了了。 /etc/ssh/sshd_config 找到 PermitRootLogin no 改为yes
- 机器学习面试系列七
- Hadoop_HA配置过程记录
- WebService的List类型
- urllib库在python2与python3中的区别
- 剑指offer 两个链表的第一个公共节点
- cocos2dx版本热更新梳理
- Swift基础 元组
- Boost Python中exec,eval, exec_file, extract<>的函数形式和使用方法
- MySQL 将某个字段的值复制到同行记录的另一个字段
- 集合中LIst和ArrayList以及Hash一些知识点总结