HDFS集群搭建(HA)与启动
2017-06-24 12:29
375 查看
在文章http://blog.csdn.net/u013063153/article/details/73611549写到了非HA集群的搭建。
现利用Zookeeper做HA,搭建HDFS集群。需要修改之前的配置。
1.进入etc/hadoop/目录,干掉masters文件(此文件是存放Secondary NameNode的)
cd etc/hadoop/
rm -rf /home/hadoop-2.5.1/etc/hadoop/masters
2.删除数据文件(/opt/hadoop-2.5)
rm -rf /opt/hadoop-2.5
3.编辑hdfs-site.xml
vim hdfs-site.xml
删除之前的所有操作
:.,$-1d
(1)配置NameService ID,目的是在zookeeper中区分不同的服务,value名字随便取,比如此处写个myhdfscluster
<property>
<name>dfs.nameservices</name>
<value>myhdfscluster</value>
</property>
(2)定义两个NameNode
<property>
<name>dfs.ha.namenodes.myhdfscluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.ha.namenode.rpc-address.myhdfscluster.nn1</name>
<value>node1:8020</value>
</property>
<property>
<name>dfs.ha.namenode.rpc-address.myhdfscluster.nn2</name>
<value>node5:8020</value>
</property>
<property>
<name>dfs.ha.namenode.http-address.myhdfscluster.nn1</name>
<value>node1:50070</value>
</property>
<property>
<name>dfs.ha.namenode.http-address.myhdfscluster.nn2</name>
<value>node5:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjuournal://node3:8485;node4:8485;node5:8485/abc(这个文件名随便取)</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.myhdfscluster</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_rsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/journalnode</value>
</property>
4.编辑core-site.xml
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://myhdfscluster</value>(NameServiceID)
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.5</value>
</property>
5.自动切换,编辑hdfs-site.xml
vim hdfs-site.xml
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
6.配置HA集群,修改core-site.xml文件
vim core-site.xml
<property>
<name>ha.zookeeper.quorum</name>
<value>node1:2181,node3:2181,node4:2181</value>
</property>
7.slaves文件
vim slaves
node3
node4
node5
8.拷贝配置文件到其他的几台机器
scp ./* root@node3:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node4:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node5:/home/hadoop-2.5.2/etc/hadoop/
9.启动JournalNode,配置quournal://node3:8485;node4:8485;node5:8485写到的三台机器是JournalNode
在3台机器上分别运行:
hadoop-daemon.sh start journalnode
(停止的命令是hadoop-daemon.sh stop journalnode)
10.检查journalnode启动情况,只能是查看日志
tail -200 hadoop-root-journalnode-node3.log
11.格式化NameNode
随便找一个格式化,这里选node5
在node5上运行
hdfs namenode -format
12.把node5上生成的fsimage文件拷贝到node1上去
在/opt/hadoop-2.5路径下
scp -r /root@node5:/opt/hadoop-2.5 /root/opt/
13.初始化HA,格式化zookeeper
在任意一个NameNode上(现在选择node1)执行:
hdfs zkfc -formatZK
14.启动hdfs
start-dfs.sh
日志显示:
node1,node5 两个namenodes 已经启动
node3,node4,node5三个DataNode已经启动
node3,node4,node5三个journalnode已经启动
node1,node5两个zkfc已经启动
在某一台机器上,单个启动datanode的命令是:
hadoop-daemon.sh startdatanode
无法状态切换,是FailoverController出问题了,查看FailoverController日志
cd /home/hadoop-2.5.1/
tail -100 logs/hadoop-root-zkfc-node5.log
现利用Zookeeper做HA,搭建HDFS集群。需要修改之前的配置。
1.进入etc/hadoop/目录,干掉masters文件(此文件是存放Secondary NameNode的)
cd etc/hadoop/
rm -rf /home/hadoop-2.5.1/etc/hadoop/masters
2.删除数据文件(/opt/hadoop-2.5)
rm -rf /opt/hadoop-2.5
3.编辑hdfs-site.xml
vim hdfs-site.xml
删除之前的所有操作
:.,$-1d
(1)配置NameService ID,目的是在zookeeper中区分不同的服务,value名字随便取,比如此处写个myhdfscluster
<property>
<name>dfs.nameservices</name>
<value>myhdfscluster</value>
</property>
(2)定义两个NameNode
<property>
<name>dfs.ha.namenodes.myhdfscluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.ha.namenode.rpc-address.myhdfscluster.nn1</name>
<value>node1:8020</value>
</property>
<property>
<name>dfs.ha.namenode.rpc-address.myhdfscluster.nn2</name>
<value>node5:8020</value>
</property>
<property>
<name>dfs.ha.namenode.http-address.myhdfscluster.nn1</name>
<value>node1:50070</value>
</property>
<property>
<name>dfs.ha.namenode.http-address.myhdfscluster.nn2</name>
<value>node5:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjuournal://node3:8485;node4:8485;node5:8485/abc(这个文件名随便取)</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.myhdfscluster</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_rsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/journalnode</value>
</property>
4.编辑core-site.xml
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://myhdfscluster</value>(NameServiceID)
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.5</value>
</property>
5.自动切换,编辑hdfs-site.xml
vim hdfs-site.xml
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
6.配置HA集群,修改core-site.xml文件
vim core-site.xml
<property>
<name>ha.zookeeper.quorum</name>
<value>node1:2181,node3:2181,node4:2181</value>
</property>
7.slaves文件
vim slaves
node3
node4
node5
8.拷贝配置文件到其他的几台机器
scp ./* root@node3:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node4:/home/hadoop-2.5.2/etc/hadoop/
scp ./* root@node5:/home/hadoop-2.5.2/etc/hadoop/
9.启动JournalNode,配置quournal://node3:8485;node4:8485;node5:8485写到的三台机器是JournalNode
在3台机器上分别运行:
hadoop-daemon.sh start journalnode
(停止的命令是hadoop-daemon.sh stop journalnode)
10.检查journalnode启动情况,只能是查看日志
tail -200 hadoop-root-journalnode-node3.log
11.格式化NameNode
随便找一个格式化,这里选node5
在node5上运行
hdfs namenode -format
12.把node5上生成的fsimage文件拷贝到node1上去
在/opt/hadoop-2.5路径下
scp -r /root@node5:/opt/hadoop-2.5 /root/opt/
13.初始化HA,格式化zookeeper
在任意一个NameNode上(现在选择node1)执行:
hdfs zkfc -formatZK
14.启动hdfs
start-dfs.sh
日志显示:
node1,node5 两个namenodes 已经启动
node3,node4,node5三个DataNode已经启动
node3,node4,node5三个journalnode已经启动
node1,node5两个zkfc已经启动
在某一台机器上,单个启动datanode的命令是:
hadoop-daemon.sh startdatanode
无法状态切换,是FailoverController出问题了,查看FailoverController日志
cd /home/hadoop-2.5.1/
tail -100 logs/hadoop-root-zkfc-node5.log
相关文章推荐
- hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误
- 2014-01-14---Hadoop的基础学习(八)---HDFS的HA机制及Hadoop集群搭建
- Hadoop-2.7.3集群(HA HDFS)搭建
- Hadoop-2.6.0下HDFS的集群HA的主备自动切换搭建
- hadoop集群搭建HDFS、HA、 YARN
- 【HDFS篇】完全分布式基于HA搭建HDFS集群(ZK+ZKFC+JN)
- Hadoop2.6集群环境搭建(HDFS HA+YARN)
- 搭建高可用的分布式hadoop2.5.2集群 HDFS HA
- HA模式下,扩展HDFS集群遇到的问题,namenode 启动不起来!emmmmmmmm~
- hadoop集群搭建(一)HDFS的namenode的HA搭建
- HDFS集群搭建,高可用双机热备模式(HA)自动切换,hdfs+zookeeper+journalnode,步骤分步原理详解(适合初学者)
- Hadoop2.5的HDFS集群HA搭建(高可用集群)
- hadoop集群搭建HDFS、HA、 YARN
- Hadoop2.6集群环境搭建(HDFS HA+YARN)
- Hadoop2.6集群环境搭建(HDFS HA+YARN)原来4G内存也能任性一次.
- HDFS HA【QJM】集群搭建以及使用Zookeeper集群进行故障转移
- 搭建hadoop2.2.0 HDFS,HA / Federation 和 HA&Federation
- hadoop2.0 HDFS搭建和HA切换
- hdfs集群启动——NameNode任务线程之DecommissionManager$Monitor(3)
- 第九章 搭建Hadoop 2.2.0版本HDFS的HA配置