欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

2.联邦模式配置---扩容,负载均衡

发布时间:2023/12/10 69 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2.联邦模式配置---扩容,负载均衡 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原理图  两个集群---目的:扩容

HA联邦模式解决了单纯HA模式的性能瓶颈(主要指Namenode、ResourceManager),将整个HA集群划分为两个以上的集群,不同的集群之间通过Federation进行连接,使得HA集群拥有了横向扩展的能力。理论上,在该模式下,能够通过增加计算节点以处理无限增长的数据。联邦模式下的配置在原HA模式的基础上做了部分调整。

配置过程 federation
  cp -r local/ federation     1.规划集群         ns1:nn1(s101) + nn2(s102)         ns2:nn3(s103) + nn4(s014)     2.准备         [nn1 ~ nn4 ]ssh 所有节点.       3.停止整个集群              4.配置文件         4.1)s101和s102的hdfs-site.xml配置             [hadoop/federation/hdfs-site.xml]             <?xml version="1.0" encoding="UTF-8"?>             <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>             <configuration>                     <property>                                     <name>dfs.nameservices</name>                                     <value>ns1,ns2</value>                     </property>                     <!-- **************ns1********************* -->                     <property>                                     <name>dfs.ha.namenodes.ns1</name>                                     <value>nn1,nn2</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns1.nn1</name>                                     <value>s101:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns1.nn2</name>                                     <value>s102:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns1.nn1</name>                                     <value>s101:50070</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns1.nn2</name>                                     <value>s102:50070</value>                     </property>                     <property>                                     <name>dfs.client.failover.proxy.provider.ns1</name>                                     <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>                     </property>                     <!-- **************ns2********************* -->                     <property>                                     <name>dfs.ha.namenodes.ns2</name>                                     <value>nn3,nn4</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns2.nn3</name>                                     <value>s103:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns2.nn4</name>                                     <value>s104:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns2.nn3</name>                                     <value>s103:50070</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns2.nn4</name>                                     <value>s104:50070</value>                     </property>                     <property>                                     <name>dfs.client.failover.proxy.provider.ns2</name>                                     <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>                     </property>                     <!--***********************************************-->                       <property>                                     <name>dfs.namenode.shared.edits.dir</name>                                     <value>qjournal://s102:8485;s103:8485;s104:8485/ns1</value>                     </property>                       <property>                                     <name>dfs.ha.fencing.methods</name>                                     <value>                                                     sshfence                                                     shell(/bin/true)                                     </value>                     </property>                     <property>                                     <name>dfs.ha.fencing.ssh.private-key-files</name>                                     <value>/home/centos/.ssh/id_rsa</value>                     </property>                       <property>                                     <name>dfs.ha.automatic-failover.enabled</name>                                     <value>true</value>                     </property>                     <property>                                     <name>dfs.replication</name>                                     <value>3</value>                     </property>             </configuration>           4.2)s103和s104的hdfs-site.xml配置             [hadoop/federation/hdfs-site.xml]             <?xml version="1.0" encoding="UTF-8"?>             <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>             <configuration>                     <property>                                     <name>dfs.nameservices</name>                                     <value>ns1,ns2</value>                     </property>                     <!-- **************ns1********************* -->                     <property>                                     <name>dfs.ha.namenodes.ns1</name>                                     <value>nn1,nn2</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns1.nn1</name>                                     <value>s101:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns1.nn2</name>                                     <value>s102:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns1.nn1</name>                                     <value>s101:50070</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns1.nn2</name>                                     <value>s102:50070</value>                     </property>                     <property>                                     <name>dfs.client.failover.proxy.provider.ns1</name>                                     <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>                     </property>                     <!-- **************ns2********************* -->                     <property>                                     <name>dfs.ha.namenodes.ns2</name>                                     <value>nn3,nn4</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns2.nn3</name>                                     <value>s103:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.rpc-address.ns2.nn4</name>                                     <value>s104:8020</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns2.nn3</name>                                     <value>s103:50070</value>                     </property>                     <property>                                     <name>dfs.namenode.http-address.ns2.nn4</name>                                     <value>s104:50070</value>                     </property>                     <property>                                     <name>dfs.client.failover.proxy.provider.ns2</name>                                     <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>                     </property>                     <!--***********************************************-->                       <property>                                     <name>dfs.namenode.shared.edits.dir</name>                                     <value>qjournal://s102:8485;s103:8485;s104:8485/ns2</value>                     </property>                       <property>                                     <name>dfs.ha.fencing.methods</name>                                     <value>                                                     sshfence                                                     shell(/bin/true)                                     </value>                     </property>                     <property>                                     <name>dfs.ha.fencing.ssh.private-key-files</name>                                     <value>/home/centos/.ssh/id_rsa</value>                     </property>                       <property>                                     <name>dfs.ha.automatic-failover.enabled</name>                                     <value>true</value>                     </property>                     <property>                                     <name>dfs.replication</name>                                     <value>3</value>                     </property>             </configuration>                  4.3)s101 ~ s104的core-site.xml配置文件             [hadoop/federation/core-site.xml]             <?xml version="1.0"?>             <configuration xmlns:xi="http://www.w3.org/2001/XInclude">                     <xi:include href="mountTable.xml" />                     <property>                                     <name>fs.defaultFS</name>                                     <value>viewfs://ClusterX</value>                     </property>                     <property>                                     <name>dfs.journalnode.edits.dir</name>                                     <value>/home/centos/hadoop/federation/journalnode</value>                     </property>                     <property>                                      <name>hadoop.tmp.dir</name>                                     <value>/home/centos/hadoop/federation</value>                     </property>                     <property>                                     <name>ha.zookeeper.quorum</name>                                     <value>s102:2181,s103:2181,s104:2181</value>                     </property>             </configuration>                  4.4)mountTable.xml  挂载表文件             [hadoop/federation/mountTable.xml]             <configuration>                     <property>                             <name>fs.viewfs.mounttable.ClusterX.homedir</name>                             <value>/home</value>                     </property>                     <property>                             <name>fs.viewfs.mounttable.ClusterX.link./home</name>                             <value>hdfs://ns1/home</value>                     </property>                     <property>                             <name>fs.viewfs.mounttable.ClusterX.link./tmp</name>                             <value>hdfs://ns2/tmp</value>                     </property>                     <property>                             <name>fs.viewfs.mounttable.ClusterX.link./projects/foo</name>                             <value>hdfs://ns1/projects/foo</value>                     </property>                     <property>                             <name>fs.viewfs.mounttable.ClusterX.link./projects/bar</name>                             <value>hdfs://ns2/projects/bar</value>                     </property>             </configuration>       5.操作         5.1)删除所有节点的日志和本地临时目录             $>xcall.sh rm -rf /soft/hadoop/logs/*             $>xcall.sh rm -rf /home/centos/hadoop/federation/*                  5.2)修改所有节点的hadoop软连接             $>xcall.sh ln -sfT /soft/hadoop/etc/federation /soft/hadoop/etc/hadoop           5.3)对ns1集群进行格式化以及初始工作             a)启动jn集群                 登录s102 ~ s104,启动jounalnode进程。                 $>hadoop-daemon.sh start journalnode             b)格式化nn1节点                 [s101]                 $>hdfs namenode -format             c)复制s101的元数据到s102下.                 [s101]                 $>scp -r             d)在s102上执行引导过程                 #s101启动名称节点                 $>hadoop-daemon.sh start namenode                 # s102执行引导,不要重格(N)                 $>hdfs namenode -bootstrapStandby               e)在s102上初始化编辑日志到jn集群(N)                 $>hdfs namenode -initializeSharedEdits             f)在s102对zookeeper格式化zkfc(选择Y).                 $>hdfs zkfc -formatZK             g)启动s101和s102的namenode和zkfc进程。                 [s101]                 $>hadoop-daemon.sh start zkfc                                  [s102]                 $>hadoop-daemon.sh start namenode                 $>hadoop-daemon.sh start zkfc               h)测试webui                                         5.4)对ns2集群进行格式化以及初始工作             a)格式nn3,切记使用-clusterId属性,保持和ns1的一致。                 [s103]                 $>hdfs namenode -format -clusterId CID-e16c5e2f-c0a5-4e51-b789-008e36b7289a                              b)复制s103的元数据到s104上。                 $>scp -r /home/centos/hadoop/federation centos@s104:/home/centos/hadoop/             c)在s104引导                 #在s103启动namenode                 $>hadoop-daemon.sh start namenode                 #在s104执行引导                 $>hdfs namenode -bootstrapStandby             d)在s104上初始化编辑日志                 $>hdfs namenode -initializeSharedEdits             e)在s104对zookeeper格式化zkfc(选择Y).                 $>hdfs zkfc -formatZK             f)启动s103和s104的namenode和zkfc进程。                 [s103]                 $>hadoop-daemon.sh start zkfc                                  [s104]                 $>hadoop-daemon.sh start namenode                 $>hadoop-daemon.sh start zkfc         5.5)停止集群             $>stop-dfs.sh           5.6)重启dfs集群             $>start-dfs.sh                          5.7)创建目录             # 注意加p参数             $>hdfs dfs -mkdir -p /home/data                        #上传文件,考察webui             $>hdfs dfs -put 1.txt /home/data    

转载于:https://www.cnblogs.com/star521/p/9703171.html

总结

以上是生活随笔为你收集整理的2.联邦模式配置---扩容,负载均衡的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。