Apollo-oracle-普通部署

一、前置準備工做html

部署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狀況假設以下:git

  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

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

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

解壓後獲得的文件目錄爲:
apollo-config\
apollo-admin\
apollo-portal\
sql\
startall.sh
stopall.shsql

(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)對該文件的操做markdown

  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.propertiessession

替換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

四、鏈接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

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

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

等待並觀察日誌輸出(大概5分鐘),若爲以下則啓動成功:

六、啓動成功瀏覽器中http://Apollo_IP:8070訪問Apollo配置中心 默認admin/admin登陸(該帳戶下已經包含全部項目運行須要的相關配置 登陸後進行相應的配置修改便可知足項目運行須要)

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

七、執行 ./stopall.sh 能夠關閉Apollo服務

相關文章
相關標籤/搜索