Dubbo-admin配置及安裝

Dubbo介紹

當服務越來越多時,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需要增加一個調度中心基於訪問壓力實時管理集羣容量,提供集羣利用率。其中,用於提高機器利用率的資源調度和治理中心是關鍵。

Dubbo 是阿里巴巴開源項目的一個分佈式服務框架。致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,Dubbo就是個服務框架,如果沒有分佈式的需求,其實是不需要用的,只有在分佈式的時候,纔有Dubbo這樣的分佈式服務框架的需求,並且本質上是個服務調用的東西,說白了就是個遠程服務調用的分佈式框架(告別Web Service模式中的WSDL,以服務者與消費者的方式在Dubbo上註冊)。

名詞解釋:

  • WSDL:Web Services Description Language,網絡服務描述語言

  • RPC:Remote Procedure Call Protocol,遠程過程調用協議

  • SOA:Service-Oriented Architecture,面向服務的體系結構

Dubbo工作原理:
Dubbo-admin配置及安裝

調用關係說明:

1) 服務容器啓動、加載和運行服務提供者;

2) 服務提供者在啓動時,向註冊中心註冊自己提供的服務;

3) 服務消費者在啓動時,向註冊中心訂閱自己所需的服務;

4) 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更給消費者;

5) 服務消費者從地址列表中,基於軟負載均衡算法選一臺服務提供者進行調用,如果調用失敗再選另一臺;

6) 服務消費者和服務提供者在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

Zookeeper的作用:

Zookeeper 作爲一個分佈式的服務框架,主要用來解決分佈式集羣中應用系統的一致性問題,它能提供基於類似於文件系統的目錄節點樹方式的數據存儲,但是 Zookeeper 並不是用來專門存儲數據的,它的作用主要是用來維護和監控你存儲的數據的狀態變化。通過監控這些數據狀態的變化,從而可以達到基於數據的集羣管理。

Dubbo和zookeeper啥關係?

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

再說一個分佈式的項目,server(消費)層與 service(供給)層被拆分了開來, 部署在不同的tomcat中, 我在server層需要調用 service層的接口,但是兩個運行在不同tomcat下的服務無法直接互調接口,那麼就可以通過zookeeper和Dubbo實現。就好比把動物放到動物園,我們要看了直接去動物園就行。而不能直接到動物生活的地方去看,會有性命安全之憂(比如你去看老虎)。

我們通過Dubbo 建立service這個服務,並且到zookeeper上面註冊,填寫對應的zookeeper服務所在 的IP及端口號。

環境準備

JDK-1.8
Maven-3.5.3
Zookeeper-3.4.12
Tomcat-9——8月8日改:由於Dubbo-Admin替換爲SpringBoot的新版本,不在需要依賴Tomcat運行,可以跳過安裝
Dubbo-Admin——8月8日改:新版本的編譯和執行,補充在末尾

一、安裝Java

(可選) 卸載已有的open jdk

# rpm -qa | grep jdk
       java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
# yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
       remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686

安裝步驟, 請見 http://qiangsh.blog.51cto.com/3510397/1771748

第二步:安裝Maven

Maven的下載地址是:http://maven.apache.org/download.cgi

下載最新版本的Maven-3.5.4.tar.gz

1. 安裝Maven-3.5.4

#下載maven
cd /data/packages
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

#創建maven的工作路徑
mkdir -p /usr/local/maven
tar -zvxf apache-maven-3.5.4-bin.tar.gz -C /usr/local/maven/

#做一個軟鏈接,方便以後升級:
ln -s /usr/local/maven/apache-maven-3.5.4 /usr/local/maven/maven3

2. 修改系統環境變量

# vim /etc/profile

#在適當的位置添加
export M2_HOME=/usr/local/maven/maven3
export PATH=$M2_HOME/bin:$PATH

#執行以下命令,使修改生效:
# source /etc/profile

3. 驗證安裝

# mvn -v

4. 創建本地資源倉庫

#在本地創建一個資源文件的下載目錄:
mkdir -p /data/maven/local-Repository

#修改Maven配置文件:
vim /usr/local/maven/maven3/conf/settings.xml
  #個人配置如下:

 <localRepository>/data/maven/local-Repository</localRepository> 

 <mirror>
        <id>alimaven</id>
        <name>aliyun-maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

  <mirror>
     <id>repo2</id>
     <name>Maven Repository2</name>
     <url>http://repo2.maven.org/maven2/</url>
     <mirrorOf>central</mirrorOf>
 </mirror> 

第三步:搭建Zookeeper單機環境

Zookeeper下載地址:

https://www.apache.org/dyn/closer.cgi/zookeeper/

1. 安裝Zookeeper

tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local/
mv  /usr/local/zookeeper-3.4.13  /usr/local/zookeeper

2. 創建Zookeeper項目目錄

mkdir /data/zookeeper     #項目目錄
mkdir  /data/zookeeper/zkdata          #存放快照日誌
mkdir  /data/zookeeper/zkdatalog     #存放事物日誌

3. 修改配置文件

#進入 /usr/local/zookeeper/conf目錄,複製zoo_sample.cfg文件並改名爲zoo.cfg。
cp zoo_sample.cfg zoo.cfg

#修改zoo.cfg文件,需要修改以下幾個地方:
# vim zoo.cfg

-----

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zkdata
dataLogDir=/data/zookeeper/zkdatalog
clientPort=12181
server.1=127.0.0.1:12888:13888

4. 配置zookeeper的環境變量

# vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

# source /etc/profile

5. 啓動Zookeeper

#進入bin目錄
cd  /usr/local/zookeeper/bin

# 啓動zookeeper服務
./zkServer.sh start

# 啓動完成後,查看服務狀態:
./zkServer.sh status

6. 配置 zookeeper 開機啓動

echo '/usr/local/zookeeper/bin/zkServer.sh start' &gt;&gt;/etc/rc.local

第四步:安裝Dubbo-Admin

爲了更好的調試、發現問題、解決問題,因此引入dubbo-admin。通過dubbo-admin可以對消費者和提供者進行管理。

1. 下載Dubbo-Admin

#下載
cd /opt
git clone https://github.com/apache/incubator-Dubbo-ops

2. 修改配置信息

cd /opt/incubator-Dubbo-ops/dubbo-admin/src/main/resources
vim application.properties

Dubbo-admin配置及安裝
需要注意的地方是:

  • 默認的訪問端口爲7001;
  • Zookeeper的地址,如果zkServer和Dubbo-Admin不在同一臺機器上,需要修改成zkServer所在的IP地址;
  • 用戶root、guest的密碼酌情修改。

3: 編譯

cd /opt/incubator-Dubbo-ops/
mvn package 

完成後,編譯獲得dubbo-admin-0.0.1-SNAPSHOT.jar,可以直接運行,不需要依賴Tomcat。

ls /opt/incubator-Dubbo-ops/dubbo-admin/target
classes                                  generated-sources       maven-status
dubbo-admin-0.0.1-SNAPSHOT.jar           generated-test-sources  surefire-reports
dubbo-admin-0.0.1-SNAPSHOT.jar.original  maven-archiver          test-classes

4: 啓動

#將這個jar包複製到合適的路徑下,如/usr/local/dubbo-admin/
mkdir /usr/local/dubbo-admin
cp /opt/incubator-Dubbo-ops/dubbo-admin/target/dubbo-admin-0.0.1-SNAPSHOT.jar /usr/local/dubbo-admin/

#然後啓動服務
java -jar /usr/local/dubbo-admin/dubbo-admin-0.0.1-SNAPSHOT.jar &

#加入開機自啓:
echo 'java -jar /usr/local/dubbo-admin/dubbo-admin-0.0.1-SNAPSHOT.jar &' >>/etc/rc.local 

在啓動run-DubboAdmin.sh之前我們需要先把Zookeeper啓動起來,之後我們就可以訪問Dubbo-admin了。

會生成日誌文件:dubbo-governance.log,記錄啓動和訪問的記錄。

確認關閉了防火牆,或者允許7001端口的通訊。

在瀏覽器輸入:http://your_ip:7001;輸入用戶名root和密碼後,顯示主頁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章