CentOS7安裝部署Apollo分布式配置管理系統(tǒng)

Apollo簡介

Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境,不同分配的配置,配置修改后能夠?qū)崟r推送到應(yīng)用端,并且具有規(guī)范的權(quán)限,流程治理等特性,適用于微服務(wù)配置管理場景。

Apollo背景

隨著程序功能的日益復(fù)雜,程序的配置日益增多:各種功能的開關(guān)、參數(shù)的配置、服務(wù)器的地址……
對程序配置的期望值也越來越高:配置修改后實時生效,灰度發(fā)布,分環(huán)境、分集群管理配置,完善的權(quán)限、審核機(jī)制……
在這樣的大環(huán)境下,傳統(tǒng)的通過配置文件、數(shù)據(jù)庫等方式已經(jīng)越來越無法滿足開發(fā)人員對配置管理的需求。
Apollo配置中心應(yīng)運(yùn)而生!

準(zhǔn)備工作

首先將系統(tǒng)內(nèi)的軟件包升級到最新版(這步非必操作)
yum -y upgrade

1.配置jdk環(huán)境

安裝之前先檢查一下系統(tǒng)有沒有自帶open-jdk

rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj

如果沒有輸入信息表示沒有安裝。

接著檢索包含java的列表

yum list java*

檢索1.8的列表

yum list java-1.8*   

安裝1.8.0的所有文件

yum install java-1.8.0-openjdk* -y

使用命令檢查是否安裝成功

java -version

到此安裝結(jié)束了。這樣安裝有一個好處就是不需要對path進(jìn)行設(shè)置,自動就設(shè)置好了

2.配置mysql數(shù)據(jù)庫

注意:Mysql的版本要5.6.5以上,Apollo的表結(jié)構(gòu)對timestamp使用了多個default聲明,所以需要5.6.5以上版本。
我是基于mysql5.7版本進(jìn)行部署的,這里就不介紹如何部署了,具體可以參考我的另外一篇文章
http://www.itdecent.cn/p/ad87325b49e3

下載Apollo源碼包

首先到官網(wǎng)下載源碼包

創(chuàng)建目錄

--進(jìn)入目錄
cd /usr/local/

--創(chuàng)建存儲目錄,用于存放apollo安裝包的地方
mkdir software

cd software

--用于將存儲解壓apollo的源碼包的地方
mkdir apollo

這里可以通過兩種方式下載(兩種方式看個人喜好)

1.先在windows中下載完源碼包之后,通過ftp工具上傳到linux目錄中(推薦,下載速度可能稍微快點(diǎn))
2.直接在linux里面通過wget命令下載到目錄里

wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-adminservice-1.7.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-configservice-1.7.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-portal-1.7.0-github.zip

我這里就直接通過ftp工具,上傳源碼包到指定目錄了

解壓源碼包

cd /usr/local/software

unzip apollo-adminservice-1.7.0-github.zip -d /usr/local/software/apollo/apollo-adminservice
unzip apollo-configservice-1.7.0-github.zip -d /usr/local/software/apollo/apollo-configservice
unzip apollo-portal-1.7.0-github.zip -d /usr/local/software/apollo/apollo-portal

如果報錯: -bash: unzip: 未找到命令

yum -y install unzip

創(chuàng)建Apollo數(shù)據(jù)庫

Apollo服務(wù)端共需要兩個數(shù)據(jù)庫:ApolloPortalDB和ApolloConfigDB,數(shù)據(jù)庫、表的創(chuàng)建和樣例數(shù)據(jù)都分別準(zhǔn)備了sql文件,只需要導(dǎo)入數(shù)據(jù)庫即可。
注意:如果你本地已經(jīng)創(chuàng)建過Apollo數(shù)據(jù)庫,請注意備份數(shù)據(jù)。這里準(zhǔn)備的sql文件會清空Apollo相關(guān)的表。

https://github.com/nobodyiam/apollo-build-scripts/tree/master/sql 

修改配置數(shù)據(jù)庫連接信息

注意:填入的用戶需要具備對ApolloPortalDB和ApolloConfigDB數(shù)據(jù)的讀寫權(quán)限且用戶名和密碼后面不要有空格!

--進(jìn)入目錄 
cd /usr/local/software/apollo
############################################ apollo-adminservice ############################################
vim apollo-adminservice/config/application-github.properties

# DataSource
spring.datasource.url = jdbc:mysql://192.168.137.16:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = 用戶名
spring.datasource.password = 密碼(如果沒有密碼,留空即可)


 
############################################ apollo-configservice ############################################
vim apollo-configservice/config/application-github.properties
 
# DataSource
spring.datasource.url = jdbc:mysql://192.168.137.16:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = 用戶名
spring.datasource.password = 密碼(如果沒有密碼,留空即可)
 
############################################ apollo-portal ############################################
vim apollo-portal/config/application-github.properties
 
# DataSource
spring.datasource.url = jdbc:mysql://192.168.137.16:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = 用戶名
spring.datasource.password = 密碼(如果沒有密碼,留空即可)

如果報錯-bash: vim: 未找到命令

yum -y install vim 安裝插件 或者 直接使用內(nèi)置的 vi命令也行

修改apollo-configservice服務(wù)地址

分別是不同環(huán)境下的服務(wù)地址,這里只配置了(開發(fā)-dev)環(huán)境下的地址

vim apollo-portal/config/apollo-env.properties

local.meta=http://192.168.137.5:8080
dev.meta=http://192.168.137.5:8080
fat.meta=http://fill-in-fat-meta-server:8080
uat.meta=http://fill-in-uat-meta-server:8080
lpt.meta=${lpt_meta}
pro.meta=http://fill-in-pro-meta-server:8080

修改數(shù)據(jù)庫數(shù)據(jù)

ApolloConfigDB庫的ServerConfig表eureka.service.url中value值為http://192.168.137.16:8080/eureka/

啟動Apollo配置中心

腳本會在本地啟動3個服務(wù),分別使用8070, 8080, 8090端口,請確保這3個端口當(dāng)前沒有被使用。

接著創(chuàng)建啟動腳本

--------------------------------- 啟動腳本---------------------------------
vim start.sh

#!/bin/bash
/usr/local/software/apollo/apollo-configservice/scripts/startup.sh
/usr/local/software/apollo/apollo-adminservice/scripts/startup.sh
/usr/local/software/apollo/apollo-portal/scripts/startup.sh

--------------------------------- 停止腳本---------------------------------
vim shutdown.sh
 
#!/bin/bash
/usr/local/software/apollo/apollo-adminservice/scripts/shutdown.sh
/usr/local/software/apollo/apollo-configservice/scripts/shutdown.sh
/usr/local/software/apollo/apollo-portal/scripts/shutdown.sh

啟動出現(xiàn)權(quán)限不足


解決方案->賦予權(quán)限

chmod 777 ./start.sh
chmod 777 ./shutdown.sh

執(zhí)行啟動腳本

./start.sh

當(dāng)看到如下輸出后,就說明啟動成功了!


訪問Apollo配置中心

http://192.168.137.15:8070

默認(rèn)賬號密碼:
賬號:apollo
密碼:admin

Apollo內(nèi)置Eureka訪問地址

http://192.168.137.16:8080/

到此Apollo單機(jī)版部署就結(jié)束了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容