posts - 167,  comments - 30,  trackbacks - 0
          為了保障線上zk服務正常,需要平滑進行擴容或者縮容
          原始配置如下:
          server.1=10.200.93.103:2888:3888
          server.3=10.200.93.108:2888:3888
          server.4=10.135.29.163:2888:3888
          server.5=10.135.29.164:2888:3888
          server.6=10.176.30.87:2888:3888  #leader
          將所有機器的conf/zoo.cfg文件中 server.6修改為server.10, 目的是為新增的機器編碼空出位置。
          server.1=10.200.93.103:2888:3888
          server.3=10.200.93.108:2888:3888
          server.4=10.135.29.163:2888:3888
          server.5=10.135.29.164:2888:3888
          server.10=10.176.30.87:2888:3888  #leader
          同時將leader的機器myid由6修改為10[必須]
          myid位置可以查看conf/zoo.cfg中的dataDir=/letv/data/zookeeper
          按照myid的從小到大順序重啟zookeeper,1、3、4、5、10.
          如果不修改myid直接啟動提示已啟動,但實際進程沒有起來。
          配置-myid
          在dataDir里會放置一個myid文件,里面就一個數字,用來唯一標識這個服務。這個id是很重要的,一定要保證整個集群中唯一。zookeeper會根據這個id來取出server.x上的配置。比如當前id為1,則對應著zoo.cfg里的server.1的配置。
          如果myid跟server.id不匹配,啟動zk,日志會拋出如下錯誤:
          2014-05-13 14:12:58,801 [myid:] – ERROR [main:QuorumPeerMain@85] – Invalid config, exiting abnormally
          org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing 
          當還剩下一臺follower未重啟時,通過nc命在leader機器上查看,會提示This ZooKeeper instance is not currently serving requests,此時剩余2臺機器,違反了zk集群“過半存活”原則,處于不可用狀態(tài)。
          [root@vm-30-87-pro01-zwdx conf]# echo mntr | nc localhost 2181
          zk_version      3.4.6-1569965, built on 02/20/2014 09:09 GMT
          zk_avg_latency  0
          zk_max_latency  331
          zk_min_latency  0
          zk_packets_received     273980621
          zk_packets_sent 273931833
          zk_num_alive_connections        186
          zk_outstanding_requests 0
          zk_server_state leader
          zk_znode_count  9402
          zk_watch_count  2975
          zk_ephemerals_count     1563
          zk_approximate_data_size        1497826
          zk_open_file_descriptor_count   262
          zk_max_file_descriptor_count    600000
          zk_followers    2
          zk_synced_followers     2
          zk_pending_syncs        0
          [root@vm-30-87-pro01-zwdx conf]# echo mntr | nc localhost 2181
          This ZooKeeper instance is not currently serving requests
          重啟后,會選舉server.5作為leader,此時因server.10未重啟,與server.10之間沒有通訊連接,所以將server.10重啟后變?yōu)閒ollower。 此時,重啟server.5上的zookeeper,重新選舉server.10為leader即可。
          先擴容到7臺,然后縮容為2臺,最終配置如下:
          #server.1=10.200.93.103:2888:3888
          #server.3=10.200.93.108:2888:3888
          server.4=10.135.29.163:2888:3888
          server.5=10.135.29.164:2888:3888
          server.6=10.180.1.204:2888:3888
          server.7=10.180.1.196:2888:3888
          server.10=10.176.30.87:2888:3888

          參考資料:
          http://siye1982.github.io/2015/06/16/zookeeper/
          http://www.cnblogs.com/yuyijq/p/3391945.html
          posted on 2017-07-19 18:10 David1228 閱讀(3440) 評論(0)  編輯  收藏 所屬分類: 性能優(yōu)化NettyZK

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           

          <2017年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          Java

          Linux知識相關

          Spring相關

          云計算/Linux/虛擬化技術/

          友情博客

          多線程并發(fā)編程

          開源技術

          持久層技術相關

          搜索

          •  

          積分與排名

          • 積分 - 359238
          • 排名 - 154

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北宁市| 平乡县| 临武县| 汶上县| 尉犁县| 东平县| 家居| 察雅县| 高安市| 巴林左旗| 安西县| 太谷县| 调兵山市| 德庆县| 云浮市| 南漳县| 宝丰县| 利津县| 宁国市| 恭城| 扬州市| 太原市| 八宿县| 南平市| 琼结县| 新丰县| 珲春市| 泾阳县| 阜宁县| 额敏县| 滁州市| 普格县| 沛县| 江永县| 金川县| 八宿县| 都匀市| 洛南县| 太仆寺旗| 通化市| 佳木斯市|