您的位置:首页 > 运维架构 > 网站架构

Hadoop之HDFS的配置------HA(高可用版本)

2017-05-10 18:32 555 查看
Step 1:配置节点直接SSH无密钥登录

http://blog.csdn.net/ymf827311945/article/details/71483220

Step 2:

搭建Hadoop之HDFS—-secondary版本(并不是说搭建HA必须先搭建secondary版本),首先是为了熟悉两种搭建方式,其次是因为搭建HA版本的HDFS的时候,有很多的步骤都是重复的,所以如果对于什么也没有搭建的来说,可以先搭建一个Secondary版本的HDFS,这样搭建HA版本的时候就很简单了(其实只是配置文件属性不同而已),而且我在将这个HA版本的时候是基于secondary版本的

http://blog.csdn.net/ymf827311945/article/details/71498248

Step3:

在node11节点上执行命令:

mkdir -p /opt/apps/hadoop/hadoop-2.6.0/journalnode

vi /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/hdfs-site.xml

删除Secondary版本的属性,添加如下属性(下列的ymf可以替换成你自己的cluster名字,包括节点替换成你自己的节点,还有journalnode的路径等等吧),然后保存退出

<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>


<property>
<name>dfs.ha.namenodes.ymf</name>
<value>nn1,nn2</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ymf.nn1</name>
<value>node11:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ymf.nn2</name>
<value>node12:8020</value>
</property>

<property>
<name>dfs.namenode.http-address.ymf.nn1</name>
<value>node11:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.ymf.nn2</name>
<value>node12:50070</value>
</property>

<property>
<name>dfs.namenode.shared.edits.dir</name>    <value>qjournal://node11:8485;node12:8485;node13:8485/ymf</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.ymf</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/apps/hadoop/hadoop-2.6.0/journalnode</value>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>




Step 4:

在node11节点上执行命令:

mkdir -p /opt/apps/hadoop/hadoop-2.6.0/tmp

vi /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/core-site.xml

删除Secondary版本的属性,然后在两个configuration之间添加如下属性

<property>
<name>hadoop.tmp.dir</name>
<value>/opt/apps/hadoop/hadoop-2.6.0/tmp</value>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://ymf</value>
</property>


<property>
<name>ha.zookeeper.quorum</name>
<value>node11:2181,node12:2181,node13:2181</value>
</property>




Step 5:

在node11节点上执行命令:

rm -rf /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/masters



Step 6:

在node11节点上执行命令:

rm -rf /opt/apps/hadoop/hadoop-2.6.0/tmp/*————-为了删除之前的文件



Step 7:

分别删除node12和node13节点上原来的文件夹,

rm -rf /opt/apps/hadoop/*





然后执行命令

scp -r /opt/apps/hadoop/hadoop-2.6.0/ node12:/opt/apps/hadoop/





Step 8:

分别在三个节点执行命令:

hadoop-daemon.sh start journalnode







Step 9:

在node11节点上执行命令:

hdfs namenode -format



Step 10:

在node11节点上执行命令:

hadoop-daemon.sh start namenode



Step 10:

在node12(另一个namenode)节点上执行命令:

hdfs namenode -bootstrapStandby——————-中途系统会提示reformat system,输入Y即可



Step 11:

在node11节点执行命令:

hadoop-daemon.sh stop namenode———————-再次停止namenode



Step 12:

分别在三台节点执行命令:

zkServer.sh start







Step 13:

在node11(namenode)节点上执行命令:

hdfs zkfc -formatZK——————格式化zookeeper



Step 14:

在node11节点上执行命令:

start-dfs.sh



Step 15:

分别在三个节点上执行命令:

jps————-查看进程







Step 16:

打开浏览器:分别输入—————-这个时候node12是活跃的节点,然后node11是备用点,如果node12节点宕机了,那么node11会自动成为active节点

http://192.168.80.11:50070

http://192.168.80.12:50070





Step 17:

在node12(active)节点上执行命令:

hadoop-daemon.sh stop namenode



Step 18:

在node12节点上执行命令:

hadoop-daemon.sh start namenode——————重新启动namenode



Step 19:

重新打开浏览器,或者刷新上面的两个网页:————你会发现node11的状态由standby变为了active,而node12节点的状态由active变为了standby,这就是借助zookeeper做到的HA版本,也就是高可用版本,当namenode的active节点宕机的时候,由副节点变为active,继续正常的工作

http://192.168.80.11:50070

http://192.168.80.12:50070





Step 20:

在node11节点上执行命令:

stop-dfs.sh————关闭HDFS

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop hdfs ssh HA zookeeper