Apollo快速搭建

準備工作

apollo官網參考
https://github.com/ctripcorp/apollo

https://github.com/ctripcorp/apollo/wiki/Quick-Start

Apollo服務端:1.8+
Apollo客戶端:1.7+

由於Quick Start會在本地同時啓動服務端和客戶端,所以需要在本地安裝Java 1.8+。

在配置好後,可以通過如下命令檢查:

java -version

樣例輸出:

java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

Windows用戶請確保JAVA_HOME環境變量已經設置。

MySQL

版本要求:5.6.5+
Apollo的表結構對timestamp使用了多個default聲明,所以需要5.6.5以上版本。

連接上MySQL後,可以通過如下命令檢查:

SHOW VARIABLES WHERE Variable_name = 'version';
Variable_name	Value
version	5.7.11
創建目錄
mkdir -p /data/app/ /data/3306/data  /data/3306/binlog
創建MySQL相關用戶、組
useradd mysql
chown -R mysql.mysql /data
系統殘留清空
yum remove mariadb-libs -y

獲取路徑
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/
在這裏插入圖片描述

軟件上傳和解壓

cd /data/app 
tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
做軟連接
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
chown -R mysql. /data
環境變量配置
vim /etc/profile
添加如下
export PATH=/data/app/mysql/bin:$PATH

在這裏插入圖片描述

使環境變量生效
source /etc/profile
cat /etc/my.cnf 

cat >/etc/my.cnf <<EOF 

[mysqld]   
user=mysql             
basedir=/data/app/mysql  
datadir=/data/3306/data
server_id=6       
socket=/tmp/mysql.sock        
[client]   

EOF  

在這裏插入圖片描述

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data

準備啓動腳本

cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
啓動數據庫
service mysqld start 
或者
/etc/init.d/mysqld restart

在這裏插入圖片描述

啓動方式2: Centos7 管理方式 systemd

[root@db01 ~] chkconfig --add mysqld
[root@db01 ~] systemctl stop mysqld
[root@db01 ~] systemctl start mysqld
[root@db01 ~] systemctl restart mysqld
登錄至數據庫查看版本
mysql

SHOW VARIABLES WHERE Variable_name = 'version';

在這裏插入圖片描述

創建ApolloConfigDB
通過各種MySQL客戶端導入sql/apolloconfigdb.sql即可。
下面以MySQL原生客戶端爲例
source /root/apollo/apollo-build-scripts-master/sql/apolloconfigdb.sql;

在這裏插入圖片描述

創建ApolloPortalDB
通過各種MySQL客戶端導入sql/apolloportaldb.sql即可。
下面以MySQL原生客戶端爲例
source /root/apollo/apollo-build-scripts-master/sql/apolloportaldb.sql

在這裏插入圖片描述

授權權限
grant select,insert,update,delete on ApolloConfigDB .* to gx@'%' identified by '123';
grant select,insert,update,delete on ApolloPortalDB .* to gx@'%' identified by '123';
刷新權限
flush privileges;

導入成功後,可以通過執行以下sql語句來驗證

select `Id`, `AppId`, `Name` from ApolloPortalDB.App;

在這裏插入圖片描述

導入成功後,可以通過執行以下sql語句來驗證:

select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;

在這裏插入圖片描述

vim /root/apollo/apollo-build-scripts-master/demo.sh 

在這裏插入圖片描述

./demo.sh start
查看阿波羅日誌詳情
tailf ./portal/apollo-portal.log 
當看到如下輸出後,就說明啓動成功了!

==== 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!

異常排查
如果啓動遇到了異常,可以分別查看service和portal目錄下的log文件排查問題。

注:在啓動apollo-configservice的過程中會在日誌中輸出eureka註冊失敗的信息,如com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。需要注意的是,這個是預期的情況,因爲apollo-configservice需要向Meta Server(它自己)註冊服務,但是因爲在啓動過程中,自己還沒起來,所以會報這個錯。後面會進行重試的動作,所以等自己服務起來後就會註冊正常了。

使用Apollo配置中心

打開http://localhost:8080
打開http://localhost:8090
打開http://localhost:8070

在這裏插入圖片描述

在這裏插入圖片描述

輸入用戶名apollo,密碼admin後登錄

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

運行客戶端程序

./demo.sh client

運行./demo.sh client啓動Demo客戶端,忽略前面的調試信息,可以看到如下提示

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在配置界面點擊timeout這一項的編輯按鈕

在這裏插入圖片描述

在這裏插入圖片描述

點擊發布按鈕,並填寫發佈信息

在這裏插入圖片描述

在這裏插入圖片描述

客戶端查看修改後的值

在這裏插入圖片描述

使用新的項目

應用接入Apollo

這部分可以參考Java應用接入指南

運行客戶端程序
由於使用了新的項目,所以客戶端需要修改appId信息。

編輯client/META-INF/app.properties,修改app.id爲你新創建的app id。

app.id=你的appId

在這裏插入圖片描述
運行./demo.sh client啓動Demo客戶端即可。

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