Hadoop HDFS通过QJM实现高可用HA环境搭建
2017-08-09 17:40
746 查看
官方参考文档:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html
所有主机已经安装好了jdk环境
修改zookeeper配置文件
修改core-site.xml
修改hdfs-site.xml
修改yarn-site.xml
修改mapred-site.xml
修改slaves
格式化其中一个namenode
namenode节点数据同步
把刚刚格式化之后的元数据拷贝到其他的namenode上
启动刚刚格式化的namenode
在没有格式化的namenode上执行:
启动其他的namenode
在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK
停止上面节点:stop-dfs.sh
全面启动:start-dfs.sh
环境准备
机器列表主机 | NN | DN | ZK | ZKFC | JN | RM | NM |
---|---|---|---|---|---|---|---|
node1 | Y | Y | Y | ||||
node2 | Y | Y | Y | Y | Y | Y | Y |
node3 | Y | Y | Y | Y | |||
node4 | Y | Y | Y |
zookeeper集群安装
下载解压zookeeper
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz tar -xvzf zookeeper-3.4.10.tar.gz -C /home
修改zookeeper配置文件zoo.cfg
tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
创建zookeeper的myid文件
# vi /var/lib/zookeeper/myid 1 # 对应配置文件server.X的X
启动zookeeper
./bin/zkServer.sh start
hadoop安装
下载解压、配置ssh免密登录
参考http://blog.csdn.net/mralgernon/article/details/76987477修改配置
修改hadoop的JAVA环境变量etc/hadoop/hadoop-env.sh# set to the root of your Java installation export JAVA_HOME=/usr/local/jdk1.8
修改core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://myhdfs-cluster</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-2.7</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node3:2181</value> </property>
修改hdfs-site.xml
<configuration> <property> <name>dfs.nameservices</name> <value>myhdfs-cluster</value> </property> <property> <name>dfs.ha.namenodes.myhdfs-cluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.myhdfs-cluster.nn1</name> <value>node1:8020</value> </property> <property> <name>dfs.namenode.rpc-address.myhdfs-cluster.nn2</name> <value>node2:8020</value> </property> <property> <name>dfs.namenode.http-address.myhdfs-cluster.nn1</name> <value>node1:50070</value> </property> <property> <name>dfs.namenode.http-address.myhdfs-cluster.nn2</name> <value>node2:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node2:8485;node3:8485;node4:8485/abc</value> </property> <property> <name>dfs.client.failover.proxy.provider.myhdfs-cluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_dsa</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/journalnode</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> </configuration>
修改yarn-site.xml
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>myhdfs-cluster</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>node1</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>node4</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>node1:2181,node2:2181,node3:2181</value> </property>
修改mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
修改slaves
node2 node3 node4
启动集群
启动三个JournalNode./sbin/hadoop-daemon.sh start journalnode
格式化其中一个namenode
./bin/hdfs namenode -format
namenode节点数据同步
把刚刚格式化之后的元数据拷贝到其他的namenode上
启动刚刚格式化的namenode
./sbin/start-dfs.sh
在没有格式化的namenode上执行:
hdfs namenode -bootstrapStandby
启动其他的namenode
在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK
停止上面节点:stop-dfs.sh
全面启动:start-dfs.sh
相关文章推荐
- Hadoop 2.x之HDFS利用QJM实现HA高可用
- HDFS namenode 高可用(HA)搭建指南 QJM方式 ——本质是多个namenode选举master,用paxos实现一致性
- 【1】搭建HA高可用hadoop-2.3(规划+环境准备)
- hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建
- Hadoop HA(高可用)环境的搭建
- Hadoop分布式文件存储系统HDFS高可用HA搭建(何志雄)
- hadoop namenode 高可用(HA)搭建指南 QJM方式
- 搭建高可用的分布式hadoop2.5.2集群 HDFS HA
- Hadoop2.6集群环境搭建(HDFS HA+YARN)原来4G内存也能任性一次.
- Hadoop2.6集群环境搭建(HDFS HA+YARN)
- Hadoop HA高可用的环境搭建(ZK)
- Hadoop2.x通过Zookeeper实现NameNode HA方案集群搭建-实践版
- Hadoop2.6集群环境搭建(HDFS HA+YARN)
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
- 利用QJM实现HDFS自动主从切换(HA Automatic Failover)源码详析
- Hadoop-2.7.0中HDFS NameNode HA实现之DFSZKFailoverController、ZKFailoverController(一)
- hadoop-HA hadoop2.0 HDFS搭建和HA切换
- Hadoop 2.2.0 HDFS HA(Automatic Failover)搭建
- 【2】搭建HA高可用hadoop-2.3(安装zookeeper)
- 【3】搭建HA高可用hadoop-2.3(部署配置hadoop--cdh5.1.0)