linux下配置zookeeper注冊中心及運行dubbo服務


dubbo和zookeeper的關系

簡單來說打個比方:dubbo就是動物園的動物,zookeeper是動物園。如果游客想看動物的話那么就去動物園看。比如你要看老虎,那么動物園有你才能看到。換句話說我們把很多不同的dubbo(動物)放到zookeeper(動物園中)提供給我們游客進行觀賞。這個過程中三個關鍵:場所、供給者、消費者。

1.   Zookeeper的作用:

        zookeeper用來注冊服務和進行負載均衡,哪一個服務由哪一個機器來提供必需讓調用者知道,簡單來說就是ip地址和服務名稱的對應關系。當然也可以 通過硬編碼的方式把這種對應關系在調用方業務代碼中實現,但是如果提供服務的機器掛掉調用者無法知曉,如果不更改代碼會繼續請求掛掉的機器提供服務。 zookeeper通過心跳機制可以檢測掛掉的機器並將掛掉機器的ip和服務對應關系從列表中刪除。至於支持高並發,簡單來說就是橫向擴展,在不更改代碼 的情況通過添加機器來提高運算能力。通過添加新的機器向zookeeper注冊服務,服務的提供者多了能服務的客戶就多了。
 

2.  dubbo:

      是管理中間層的工具,在業務層到數據倉庫間有非常多服務的接入和服務提供者需要調度,dubbo提供一個框架解決這個問題。

      注意這里的dubbo只是一個框架(項目),至於你架子上放什么是完全取決於你的,就像一個汽車骨架,你需要配你的輪子引擎。這個框架中要完成調度必須要有一個分布式的注冊中心,儲存所有服務的元數據,你可以用zk,也可以用別的,只是大家都用zk。

zookeeper運行環境

  ZooKeeper服務器是用Java編寫創建,它運行在JVM。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

配置說明

  1:文件下載:

  zookeeper-3.4.8.tar.gz包,

  jdk-7u80-linux-x64.tar.gz包,

  apache-tomcat-7.0.68.tar.gz包,

  dubbo-admin-2.5.3.war管理項目,

  注意Zookeeper版本要與jdk版本兼容

  2:通過Filezilla或別的工具連接Linux,並將以上下載的文件放入路徑/usr/local/tmp下

  3:打開Xshell連接linux

  跳轉:cd /usr/local/tmp

  4:jdk及tomcat安裝配置:

    解壓--->移動--->配置環境變量

    tar zxvf jdk-7u80-linux-x64.tar.gz 

    cp -r jdk-7u80-linux-x64 ../jdk

    tar zxvf apache-tomcat-7.0.68.tar.gz 

    cp -r apache-tomcat-7.0.68 ../tomcat

    vim /etc/profile

      在profile文件中配置jdk及Tomcat環境變量

      export JAVA_HOME=/usr/local/jdk

      export PATH=$JAVA_HOME/bin:$PATH

      export TOMCAT_HOME=/usr/local/tomcat

      export CATALINA_HOME=/usr/local/tomcat

    :wq保存退出后使修改的文件生效

    source /etc/profile

  5:Zookeeper安裝配置

    tar zxvf zookeeper-3.4.8.tar.gz

    cp -r zookeeper-3.4.8 ../zookeeper

    5.1 到zookeeper目錄創建一個data文件夾

      cd /usr/local/zookeeper

      mkdir data

    5.2 在zookeeper下的conf目錄下復制一份zoo_sample.cfg並改為zoo.cfg

      cp -r zoo_sample.cfg zoo.cfg

    5.3 修改zoo.cfg配置文件中dataDir屬性為dataDir=/usr/local/zookeeper/data

      vim zoo.cfg

      dataDir=/usr/local/zookeeper/data

      留意:clientPort=2181為zookeeper端口號

      保存退出

  6:設置防火牆放行2181及8080的端口(后面Tomcat啟動使用的是8080端口)

    vim /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

    :wq回車

    server iptables restart  重啟防火牆服務

  7:啟動zookeeper服務

    cd /usr/local/zookeeper/bin

    ./zkServer.sh start(查看啟動狀態./zkServer.sh status)

  8:啟動Tomcat服務

    cd /usr/local/tomcat/bin

    ./startup.sh  

  9:部署管理項目到Tomcat下

    cd /usr/local/tmp

    cp -r dubbo-admin-2.5.3.war ../tomcat/webapps

    此時Tomcat會自動創建一個dubbo-admin-2.5.3文件夾

  10:關閉Tomcat,刪除war包,將dubbo-admin-2.5.3改名為dubbo

    [root@192 tmp]# ../tomcat/bin/shutdown.sh

    cd ../tomcat/webapps

    mv -r dubbo-admin-2.5.3 dubbo

  11:修改項目的注冊中心地址

    cd /usr/local/tomcat/webapps/WEB-INF

    vim dubbo.properties

    dubbo.registry.address=zookeeper://127.0.0.1:2181

    :wq退出

  12:重啟Tomcat,訪問dubbo管理項目地址

    cd /usr/local/tomcat/bin

    ./startup.sh

    http://192.168.48.130:8080/dubbo

    用戶名密碼均為 root

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM