Apollo-oracle-普通部署


1、前置准備工作

部署Apollo的目標服務器要求:
(1)Linux 發行版本建議CentOS7 (由於Apollo服務內置3個JVM進程 所以系統可用內存建議不低於2G)
(2)安裝Oracle 版本10g+(下面教程為11g,為Apollo部署Oracle服務,也可以借用已經部署好的Oracle服務)
(3)安裝JDK 版本1.8+
(4)安裝unzip解壓工具 yum install zip unzip
(5)服務器IP情況假設如下:

  1. Oracle部署所在服務器IP Oracle_IP(下文均通過這個來指代),實例名稱為xe,兩組用戶apolloconfig/apolloapolloportal/apollo(下文會說明用戶創建過程)
  2. Apollo部署所在服務器IP Apollo_IP(下文均通過這個來指代)
  3. 特別注意:由於業務系統需要訪問Apollo獲取配置,如果Apollo_IP和業務系統不再一個局域網,那么Apollo_IP必須是外網IP,同理,由於Apollo需要訪問Oracle,如果Oracle_IPApollo_IP不屬於同一個局域網,Oracle_IP也必須是外網IP

2、從FTP服務器下載Apollo初始安裝文件apollo-oracle-simple.zip

3、本地解壓初始安裝文件,修改Apollo相關連接配置信息

解壓后得到的文件目錄為:
apollo-config\
apollo-admin\
apollo-portal\
sql\
startall.sh
stopall.sh

(1)修改apollo-config\config下的application-github.properties和apollo-config\scripts下的startup.sh

替換application-github.properties中的IP為Oracle_IP、SID為xe、並設置訪問用戶名和密碼為apolloconfig/apollo(不要設置成其他的了,后面會介紹Oracle對該用戶的創建和授權,注意配置的值前后不要有空格)

  1. spring.datasource.url=jdbc:oracle:thin:@Oracle_IP:1521:SID
  2. spring.datasource.username=apolloconfig
  3. spring.datasource.password=apollo

替換startup.sh中的IP為Apollo_IP,並將前面的注釋符號#去除

  1. export JAVA_OPTS="$JAVA_OPTS -Deureka.instance.ip-address=Apollo_IP"

(2)修改apollo-admin\config下的application-github.properties 配置同上(1)對該文件的操作

  1. spring.datasource.url=jdbc:oracle:thin:@Oracle_IP:1521:SID
  2. spring.datasource.username=apolloconfig
  3. spring.datasource.password=apollo

(3)修改apollo-portal\config下的application-github.properties和apollo-env.properties

替換application-github.properties中的IP為Oracle_IP、SID為xe,並設置訪問用戶名和密碼為apolloportal/apollo(不要設置成其他的了,后面會介紹Oracle對該用戶的創建和授權)

  1. spring.datasource.url=jdbc:oracle:thin:@Oracle_IP:1521:SID
  2. spring.datasource.username=apolloportal
  3. spring.datasource.password=apollo

替換apollo-env.properties中的IP為Apollo_IP:

  1. #local.meta=http://localhost:8080
  2. #dev.meta=
  3. #fat.meta=
  4. #uat.meta=
  5. #lpt.meta=${lpt_meta}
  6. pro.meta=http://Apollo_IP:8847

4、連接Oracle數據庫(使用Navicat或者Oracle命令行),執行sql下的2個數據庫腳本導入Apollo初始數據(sql腳本獨立下載地址ftp://mdm.sunwayworld.com:6821/mdm/soft/apollo/apollo-oracle-sql.zip)

  1. MySQL不同,Oracle下不同的用戶對應不同的表空間(即數據庫),因為Apollo需要用到2個數據庫apolloconfigdb apolloportaldb,所以事先需要在Oracle中創建2個對應的表空間和相對應的2個用戶並分別賦予相應的權限,具體的操作命令語句可參考:

(1)若使用Oracle命令行(sqlplus)(前提是直接在Oracle服務器所在機器操作,並且sql腳本上傳到該機器),SSH登錄Oracle所在機器,依次執行如下語句:

  1. ### 以system用戶登錄Oracle
  2. sqlplus system/oracle
  3. #查詢數據庫字符集(記下下面要用到 假設得到的字符集為AMERICAN_AMERICA.AL32UTF8 )
  4. select userenv('language') from dual;
  5. #退出回到終端
  6. quit;
  7. #設置環境變量(這么做的目的是保證下面將要執行的sql腳本導入不出現中文亂碼情況)
  8. export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
  9. ###重新登錄Oracle
  10. sqlplus system/oracle
  11. ### 針對 apolloconfigdb 創建表空間、用戶、授權 (ps:datafile后面指定的表空間目錄可以自定義)
  12. create tablespace apolloconfigdb datafile '/u01/app/oracle/oradata/apolloconfigdb.dbf' size 100M;
  13. #創建用戶名為apolloconfig密碼為apollo的用戶(不建議其他名稱和密碼 因為sql腳本中存在引用設置)並設置表空間apolloconfigdb
  14. create user apolloconfig identified by apollo default tablespace apolloconfigdb;
  15. grant create session,create table,create view,create sequence,unlimited tablespace to apolloconfig;
  16. ### 針對 apolloportaldb 創建表空間、用戶、授權
  17. create tablespace apolloportaldb datafile '/u01/app/oracle/oradata/apolloportaldb.dbf' size 100M;
  18. #創建用戶名為apolloportal密碼為apollo的用戶(同上理 不建議為其他名稱和密碼)並設置表空間apolloportaldb
  19. create user apolloportal identified by apollo default tablespace apolloportaldb;
  20. grant create session,create table,create view,create sequence,unlimited tablespace to apolloportal;
  21. ### 導入sql腳本
  22. #切換到apolloconfig用戶(一定要切換用戶)
  23. conn apolloconfig/apollo
  24. #關掉&輸入(因為腳本中存在&特殊符號 為避免導入報錯)
  25. set define off
  26. #導入apolloconfigdb數據庫(@后面是apolloconfigdb.sql的全路徑)
  27. @/u01/app/oracle/oradata/apolloconfigdb.sql
  28. #切換到apolloportal用戶(一定要切換用戶)
  29. conn apolloportal/apollo
  30. #關掉&輸入(因為腳本中存在&特殊符號 為避免導入報錯)
  31. set define off
  32. #導入apolloportaldb數據庫
  33. @/u01/app/oracle/oradata/apolloportaldb.sql

5、使用SFTP工具將修改並重新壓縮后的apollo-oracle-simple.zip上傳到目標Linux服務器指定目錄如/home/apollo下,然后在該目錄下依次運行如下命令:

(1)unzip apollo-oracle-simple.zip
(2)chmod +x startall.sh
(3)./startall.sh

等待並觀察日志輸出(大概5分鍾),若為如下則啟動成功:

6、啟動成功瀏覽器中http://Apollo_IP:8070訪問Apollo配置中心 默認admin/admin登錄(該賬戶下已經包含所有項目運行需要的相關配置 登錄后進行相應的配置修改即可滿足項目運行需要)

  1. oracle版本的Apollo配置管理平台目前還存在如下BUG
  2. 不支持空值配置:即不支持 key= 這種只有key沒有value值配置
  3. 不支持注釋添加:即不支持 #這里是配置的注釋說明 這樣的配置

7、執行 ./stopall.sh 可以關閉Apollo服務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM