2.联邦模式配置---扩容,负载均衡
生活随笔
收集整理的這篇文章主要介紹了
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.联邦模式配置---扩容,负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库with ur_Pyth
- 下一篇: VS2010 C++编译报错LINK :