Linux下配置安裝Apollo、Centons下配置安裝Apollo(二)

筆者在工作中遇到如下問題,隨着程序功能越多,配置文件不斷增加,一些功能的開關、服務器地址、接口地址、不同環境的一些配置文件不同,這些在每次發佈不同環境、更新項目時都比較繁瑣,後來學習微服務時接觸到了Spring Cloud Config配置中心,用了一段時間發現比之前方便不少,但是還是比較繁瑣和麻煩,而且功能還達不到生產級,只能小規模場景下使用,在中大規模企業場景下不建議採用。後來瞭解到攜程Apollo配置中心,Apollo支持完善的管理界面,支持多環境,配置變更實時生效,權限和配置審計等多種生產級功能,而且在攜程到微服務架構體系中也運用了這個,在國內衆多互聯網公司也有落地案例,就開始去接觸瞭解。最後結合工作和學習的一些經驗分享給大家Apollo的入門使用和一些走過的坑,本篇文章主要介紹了在Linux(Centons7)下配置安裝Apollo。

簡要步驟:

①、下載Apollo解壓包

②、解壓Apollo

③、修改配置文件(重點

④、啓動Apollo

⑤、修改配置文件、啓動、關閉Apollo腳本(筆者自己寫的簡單腳本

 

推薦博客:

Apollo架構體系、Apollo運行原理、Apollo配置中心簡單介紹:https://blog.csdn.net/zjh_746140129/article/details/86179522

Linux下配置安裝Apollo、Centons下配置安裝Apollo:https://blog.csdn.net/zjh_746140129/article/details/86179601

Spring Boot項目整合Apollo配置中心:https://blog.csdn.net/zjh_746140129/article/details/86361168

 

詳細步驟:

一、Apollo下載

https://github.com/ctripcorp/apollo/releases

 

二、解壓

這裏把下載的三個包放到一個apollo下去解壓了,也可以新建一個apollo文件把這三個解壓進去即可。

tar -zxvf pollo.tar.gz

 

 

 查看文件

三、修改配置文件

1、配置apollo-adminservice的數據庫連接信息

 

vim application-github.properties

 

修改數據庫連接信息
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/apolloconfigdb?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = root

 

2、配置apollo-configservice的數據庫連接信息

 

vim application-github.properties

修改數據庫連接信息
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/apolloconfigdb?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = root


3、配置apollo-portal的數據庫連接信息

vim application-github.properties
修改數據庫連接信息
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/apolloconfigdb?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = root

 

4、修改apollo-portal的配置中的meta.service信息

Apollo Portal需要在不同的環境訪問不同的meta service(apollo-configservice)地址,所以我們需要在配置中提供這些信息。默認情況下,meta service和config service是部署在同一個JVM進程,所以meta service的地址就是config service的地址。

使用程序員專用編輯器(如vim,notepad++,sublime等)打開apollo-portal-x.x.x-github.zip中config目錄下的apollo-env.properties文件。

假設DEV的apollo-configservice未綁定域名,地址是1.1.1.1:8080,FAT的apollo-configservice綁定了域名apollo.fat.xxx.com,UAT的apollo-configservice綁定了域名apollo.uat.xxx.com,PRO的apollo-configservice綁定了域名apollo.xxx.com,那麼可以如下修改各環境meta service服務地址,格式爲${env}.meta=http://${config-service-url:port},如果某個環境不需要,也可以直接刪除對應的配置項(如lpt.meta):

dev.meta=http://1.1.1.1:8080

fat.meta=http://apollo.fat.xxx.com

uat.meta=http://apollo.uat.xxx.com

pro.meta=http://apollo.xxx.com

注1: 爲了實現meta service的高可用,推薦通過SLB(Software Load Balancer)做動態負載均衡

注2: meta service地址也可以填入IP,0.11.0版本之前只支持填入一個IP。從0.11.0版本開始支持填入以逗號分隔的多個地址(PR #1214),如http://1.1.1.1:8080,http://2.2.2.2:8080,不過生產環境還是建議使用域名(走slb),因爲機器擴容、縮容等都可能導致IP列表的變化。

 

 

apollo-env.properties
local.meta=http://localhost:8080
dev.meta=http://192.168.234.155:8080

 

5、設置jvm內存、端口、日誌路徑

記得在scripts/startup.sh中按照實際的環境設置一個JVM內存,以下是我們的默認設置,供參考:

export JAVA_OPTS="-server -Xms2560m -Xmx2560m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:SurvivorRatio=22"

注1:如果需要修改JVM參數,可以修改scripts/startup.sh的JAVA_OPTS部分。

注2:如要調整服務的日誌輸出路徑,可以修改scripts/startup.sh和apollo-portal.conf中的LOG_DIR。

注3:如要調整服務的監聽端口,可以修改scripts/startup.sh中的SERVER_PORT。

 

 

 

四、啓動Apollo

1、啓動apollo-adminservice

2、啓動apollo-configservice(圖是後面補上的)

3、啓動apollo-portal

訪問Apollo:ip:8079

http://192.168.234.155:8070  用戶名:apollo   密碼:admin

 

五、修改配置文件、啓動、關閉Apollo腳本

1、啓動Apollo腳本

#!/bin/bash

cd /usr/local/devtools/apollo/apollo/apollo-adminservice-1.1.2-github/scripts/
./startup.sh
cd ~
cd /usr/local/devtools/apollo/apollo/apollo-configservice-1.1.2-github/scripts/
./startup.sh
cd ~
cd /usr/local/devtools/apollo/apollo/apollo-portal-1.1.2-github/scripts/
./startup.sh 
ps -ef | grep appllo

 

2、停止Apollo腳本

#!/bin/bash

cd /usr/local/devtools/apollo/apollo/apollo-adminservice-1.1.2-github/scripts/
./shutdown.sh
cd ~
cd /usr/local/devtools/apollo/apollo/apollo-configservice-1.1.2-github/scripts/
./shutdown.sh
cd ~
cd /usr/local/devtools/apollo/apollo/apollo-portal-1.1.2-github/scripts/
./shutdown.sh
cd ~
rm -rf /usr/local/devtools/apollo/apollo/logs/

ps -ef | grep appllo

3、修改配置文件腳本

#!/bin/bash

cd /usr/local/devtools/apollo/apollo/apollo-adminservice-1.1.2-github/config/
echo spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 > application-github.properties
echo spring.datasource.username = root >> application-github.properties
echo spring.datasource.password = root >> application-github.properties

cd /usr/local/devtools/apollo/apollo/apollo-configservice-1.1.2-github/config/
echo spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 > application-github.properties
echo spring.datasource.username = root >> application-github.properties
echo spring.datasource.password = root >> application-github.properties


cd /usr/local/devtools/apollo/apollo/apollo-portal-1.1.2-github/config/
echo spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 > application-github.properties
echo spring.datasource.username = root >> application-github.properties
echo spring.datasource.password = root >> application-github.properties



cd /usr/local/devtools/apollo/apollo/apollo-portal-1.1.2-github/config/
echo local.meta=http://localhost:8080 > apollo-env.properties
echo dev.meta=http://localhost:8080 >> apollo-env.properties

 

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