1. Java
- Apollo服務端:1.8+
- Apollo客戶端:1.7+
由於Quick Start會在本地同時啟動服務端和客戶端,所以需要在本地安裝Java 1.8+。
在配置好后,可以通過如下命令檢查:
java -version
2 . MySQL
- 版本要求:5.6.5+
Apollo的表結構對timestamp
使用了多個default聲明,所以需要5.6.5以上版本。
連接上MySQL后,可以通過如下命令檢查:
SHOW VARIABLES WHERE Variable_name = 'version';
3 下載Quick Start安裝包
-
從Github下載
- checkout或下載apollo-build-scripts項目
- 由於Quick Start項目比較大,所以放在了另外的repository,請注意項目地址
-
從百度網盤下載
- 通過網盤鏈接下載
- 下載到本地后,在本地解壓apollo-quick-start.zip
4. 創建數據庫
1 創建數據庫
Apollo服務端共需要兩個數據庫:ApolloPortalDB
和ApolloConfigDB
,我們把數據庫、表的創建和樣例數據都分別准備了sql文件,只需要導入數據庫即可。
注意:如果你本地已經創建過Apollo數據庫,請注意備份數據。我們准備的sql文件會清空Apollo相關的表。
創建ApolloPortalDB
通過各種MySQL客戶端導入sql/apolloportaldb.sql即可。
下面以MySQL原生客戶端為例:
source /your_local_path/sql/apolloportaldb.sql
導入成功后,可以通過執行以下sql語句來驗證:
select `Id`, `AppId`, `Name` from ApolloPortalDB.App;
創建ApolloConfigDB
通過各種MySQL客戶端導入sql/apolloconfigdb.sql即可。
下面以MySQL原生客戶端為例:
source /your_local_path/sql/apolloconfigdb.sql
導入成功后,可以通過執行以下sql語句來驗證:
select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
2. 配置數據庫連接信息
Apollo服務端需要知道如何連接到你前面創建的數據庫,所以需要編輯demo.sh,修改ApolloPortalDB和ApolloConfigDB相關的數據庫連接串信息。
注意:填入的用戶需要具備對ApolloPortalDB和ApolloConfigDB數據的讀寫權限。
#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用戶名
apollo_config_db_password=密碼(如果沒有密碼,留空即可)
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用戶名
apollo_portal_db_password=密碼(如果沒有密碼,留空即可)
注意:不要修改demo.sh的其它部分
5. 啟動Apollo配置中心
1. 確保端口未被占用
Quick Start腳本會在本地啟動3個服務,分別使用8070, 8080, 8090端口,請確保這3個端口當前沒有被使用。
例如,在Linux/Mac下,可以通過如下命令檢查:
lsof -i:8080
2. 執行啟動腳本
./demo.sh start
當看到如下輸出后,就說明啟動成功了!
==== starting service ====
Service logging file is ./service/apollo-service.log
Started [10768]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup....
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [10846]
Waiting for portal startup......
Portal started. You can visit http://localhost:8070 now!
3. 異常排查
如果啟動遇到了異常,可以分別查看service和portal目錄下的log文件排查問題。
注:在啟動apollo-configservice的過程中會在日志中輸出eureka注冊失敗的信息,如
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
。需要注意的是,這個是預期的情況,因為apollo-configservice需要向Meta Server(它自己)注冊服務,但是因為在啟動過程中,自己還沒起來,所以會報這個錯。后面會進行重試的動作,所以等自己服務起來后就會注冊正常了。
4. 注意
Quick Start只是用來幫助大家快速體驗Apollo項目,具體實際使用時請參考:分布式部署指南。
另外需要注意的是Quick Start不支持增加環境,只有通過分布式部署才可以新增環境,同樣請參考:分布式部署指南