温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HADOOP的HA搭建

发布时间:2020-07-03 12:51:21 来源:网络 阅读:375 作者:厦小岗 栏目:大数据

进入到执行:/soft/hadoop-2.7.1/etc/hadoop_cluster$ gedit hdfs-site.xml

[配置部分]

[hdfs-site.xml]

1.配置名称服务:dfs.nameservices

名称服务的逻辑名。

<property>

  <name>dfs.nameservices</name>

  <value>mycluster</value>

</property>

2.配置nameservice中每个namenode

dfs.ha.namenodes.[nameservice ID]

<property>

  <name>dfs.ha.namenodes.mycluster</name>

  <value>nn1,nn2</value>

</property>

注意:目前的hadoop2.7.2最多只能配置2namenode

3.配置每个namederpc地址

<property>

  <name>dfs.namenode.rpc-address.mycluster.nn1</name>

  <value>s1:8020</value>

</property>

<property>

  <name>dfs.namenode.rpc-address.mycluster.nn2</name>

  <value>s8:8020</value>

</property>

4.配置每个namenodewebui地址

<property>

  <name>dfs.namenode.http-address.mycluster.nn1</name>

  <value>machine1.example.com:50070</value>

</property>

<property>

  <name>dfs.namenode.http-address.mycluster.nn2</name>

  <value>machine2.example.com:50070</value>

</property>

5.配置namenode的共享edit log目录

<property>

  <name>dfs.namenode.shared.edits.dir</name>

  <value>qjournal://s1:8485;s7:8485;s8:8485/mycluster</value>

</property>

 

6.配置客户端容灾代理供应商类

供客户端用来检测那个是namenode是活页节点。

<property>

  <name>dfs.client.failover.proxy.provider.mycluster</name>

  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

7.(可选的)配置HA防护方法名集合.

QJM防止脑裂发生,不存在两个active node

可以配置sshfence或者shell脚本。

8.配置hdfs的文件系统

[core-site.xml]

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://mycluster</value>

</property>

9.配置JN的本地存放数据(edit log)的目录

<property>

  <name>dfs.journalnode.edits.dir</name>

  <value>/home/ubuntu/hadoop/journal</value>

</property>

 

2、把core-site.xml文件的客户机名改成如下再颁发给每个虚拟机:<property>

  <name>fs.defaultFS</name>

  <value>hdfs://mycluster</value>

 

3、然后回到hdfs-site.xml里面把<property>

  <name>fs.defaultFS</name>

  <value>hdfs://mycluster</value>

</property>删掉。同样颁发给每个虚拟机

 

4、接下来启动jn进程即:hadoop-daemon.sh starat journalnode

(我是在s1s7s8上分别启动journalnode进程。我一共八台虚拟机)

 

5、将s1hadoop目录下的 dfs拷贝到s8中。即执行:scp -r dfs ubuntu@s8:/home/ubuntu/hadoop

 

6、在开启一个namenode节点的情况下,登录:ssh s8的虚拟机上执行hdfs namenode -bootstrapStandby

 

7、再停止namenode节点,然后 在s1虚拟机上执行:hdfs namenode -initializeSharedEdits

 

8、分别在s1s8上启动namenode即:执行hadoop-daemno.sh start namenode

 

9、最后启动所有的数据节点:hadoop-daemons.sh start datanode (hadoop-daemons.sh是启动所有的节点)

 

管理ha过程

 

1、手动完成状态切换:

hdfs haadmin -transitionToActive nn1

hdfs haadmin -transitionToStandbby nn1

 

 


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI