zookeeper集群(二)

来源:http://www.cnblogs.com/chen1-kerr/archive/2017/05/25/6902206.html
-Advertisement-
Play Games

經過前一篇文章《zookeeper偽集群一》的閱讀,相信大家對zookeeper集群已經有一定的瞭解了,接下來我們再談談zookeeper真集群。其實真集群和偽集群還是有很多相似的部分的,我將模擬3台集群服務並且對其中一臺集群服務的配置進行講解,接下來兩台操作基本一模一樣。 鋪墊: 1、 本人創建3 ...


      經過前一篇文章《zookeeper偽集群一》的閱讀,相信大家對zookeeper集群已經有一定的瞭解了,接下來我們再談談zookeeper真集群。其實真集群和偽集群還是有很多相似的部分的,我將模擬3台集群服務並且對其中一臺集群服務的配置進行講解,接下來兩台操作基本一模一樣。

     鋪墊:

    1、 本人創建3台虛擬機,Linux版本為CentOS7,工具為vmware12

              2、外部鏈接虛擬機的工具為小xmanager5,這個工具只是方便一些,你也可以不用

     3、需要提前在虛擬機上裝好jdk1.7及以上版本,我使用的是1.8版本的,如果不會裝jdk,可以參照我的另一篇文章《Linux下的jdk安裝》

              4、本人將3台虛擬機創建好,獲取到的外網地址分別為192.168.0.124,192.168.0.129,192.168.0.127,我分別取別名為CentOS1,CentOS3,CentOS4

       5、接下來的說明中,如果有關聯關係的地方,我會加粗並且用相同顏色進行標註

  搭建:

     1、修改zookeeper下的zoo.cfg文件,具體內容如下: 

tickTime=2000
syncLimit=10
initLimit=5
dataDir=/home/d5000/zk/data
clientPort=3001
dataLogDir=/home/d5000/zk/log
server.1 = 192.168.0.124:2887:3887
server.2 = 192.168.0.129:2887:3887
server.3 = 192.168.0.127:2887:3887

因為是集群,所以3台機器的埠號可以完全一致,可以共用一個zoo.cfg文件

              2、在3台虛擬機上分別創建/home/d5000/zk目錄,並且在zk下創建data目錄,用於存放dataDir配置的映射文件;接下來將zookeeper也傳到zk目錄下,這一點與偽集群一致

              3、在CentOS1機器的/home/d5000/zk/data下創建myid文件,內容是1

                   在CentOS3機器的/home/d5000/zk/data下創建myid文件,內容是2

                   在CentOS4機器的/home/d5000/zk/data下創建myid文件,內容是3; 

      4、分別給3台機器zookeeper許可權,否則如何啟動呢?可以先給zookeeper一個啟動許可權,進入/home/d5000/zk/zookeeper/bin,執行chmod 777  zkServer.sh

 

至此,集群創建完畢,真叫那個簡單呀,開開心心的進行測試,分別進行啟動,   ./ zkServer.sh start ,第一臺報錯,第二台報錯,第三台還是報錯,而且錯誤信息一致,都是zookeeper no route to host,上網一查發現,有2個可能導致這個問題的出現,一個是防火牆,另一個是hostname。

 排查問題:

         1、分別查看3台機器防火牆是否關閉:firewall-cmd --state,發現防火牆確實沒有關閉,果斷執行關閉systemctl stop firewalld.service

         2、修改CentOS1機器,執行hostname  server.1 命令

     修改CentOS3機器,執行hostname  server.2 命令

               修改CentOS4機器,執行hostname  server.3 命令

         3、重啟虛擬機,init 6     接下來重啟服務

         4,結果還是報一樣的錯誤  zookeeper no route to host,瞬間懵逼

    

                                                    

  -----------------------------------------------------------------------以下都是心碎,省略一萬字-------------------------------------------------------------------------

 

經過多方努力,最終在掌握一定的虛擬機知識後才發現,systemctl stop firewalld.service關閉的防火牆是暫時的,只要服務一重啟防火牆立馬又生效,還有那個hostname也一樣:

    最終修改     

      1、徹底禁用防火牆:systemctl disable firewalld.service 

              2、修改CentOS1機器/etc/hostname文件,內容為server.1

         修改CentOS3機器/etc/hostname文件,內容為server.2

                   修改CentOS4機器/etc/hostname文件,內容為server.3(永久修改)

               3、啟動第一臺、第二台發現還是有錯誤信息,但是現在的錯誤信息意見轉變為connect refuesd(拒絕鏈接),繼續啟動第三台伺服器,發現沒有報錯信息,而且測試後發現集群服務正常,第一                     台報錯是因為第二第三台伺服器沒有啟動導致,第二台報錯是因為第三台集群服務沒啟動導致。這些錯誤完全不妨礙集群

    

       下麵提供一下最簡單的測試,在192.168.0.124執行  telent  192.168.0.127 3001       telent  192.168.0.129 3001   如果都能鏈接成功,說明各自的服務已經能夠正常運行,並且可以進行通信,接下來可以通過代碼進行更加完善的測試。

效果如圖:

 

                                    完畢

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這裡用Nginx1.2.0+mysql5.6.33+php5.6.2搭配安裝環境 Nginx BEGIN 使用命令下載nginx安裝包,用的是穩定版, 這裡下載: <nginx1.6.2> 下載下來後就解壓一下 解壓後得到一個nginx-1.12.0的文件夾 進入文件夾, 運行命令: 回車運行腳本配 ...
  • 閱讀目錄 1. 介紹 2. 軟體準備 3. 建立SVN Server倉庫 4. 配置安裝PHP&IF.SVNadmin 5. 啟動服務 1.介紹 公司最近想把Windows server平臺的SVN遷移到Linux平臺;這邊經過測試成功,所以寫個隨筆記錄一下 今天寫的是CentOS7上搭建基於Apa ...
  • 內容簡介 《UNIX環境高級編程(第3版)》是被譽為UNIX編程“聖經”的Advanced Programming in the UNIX Environment一書的第3版。在本書第2版出版後的8年中,UNIX行業發生了巨大的變化,特別是影響UNIX編程介面的有關標準變化很大。 本書在保持前一版風 ...
  • 前言 最近遇到這樣一個問題,我在實驗室架設了一臺伺服器,給師弟或者小伙伴練習Linux用,然後平時在實驗室這邊直接連接是沒有問題的,都是內網嘛。但是回到宿舍問題出來了,使用校園網的童鞋還是能連接上,使用外網的小土豪就沒有辦法進入內網。這時能不能有一個辦法可以使得通過外網連接到內網的伺服器呢?答案是有 ...
  • 本書介紹了Linux設備驅動開發理論、框架與實例,詳細說明瞭自旋鎖、信號量、完成量、中斷頂/底半部、定時器、記憶體和I/O映射以及非同步通知、阻塞I/O、非阻塞I/O等Linux設備驅動理論,以及字元設備、塊設備、tty設備、I2c設備、LCD設備、音頻設備、USB設備、網路設備、PCI設備等Linux ...
  • 最近使用shell編寫一個備份和替換f伺服器程式的腳本replace.sh,初衷是為了節約人力的重覆機械的勞動。在腳本編寫過程中,由於疏忽多打了一個空格,出現了一個不符合預期的情況。 1.先看一下出問題的replace.sh 清單1:replace.sh 執行腳本,運行結果如下: 多打了一個空格,之 ...
  • 一、功能上的區別 posix和system v有什麼區別/?現在在應用時應用那一標準浮雲484212 | 瀏覽 243 次 2014-11-06 10:362014-11-19 22:36 最佳答案們是有關信號量的兩組程式設計介面函數。POSIX信號量來源於POSIX技術規範的實時擴展方案(POSI ...
  • 文章首發於 "【博客園 陳樹義】" ,請尊重原創保留原文鏈接。 在Linux系統里,有兩個系統文件與用戶組密切相關,它們分別是: /etc/group 、 /etc/gshadow 。 /etc/group: 存儲了用戶組信息。 文件每條記錄遵循著相同的格式: 組名:組密碼位:GID:組成員列表 。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...