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服务

相关文章
相关标签/搜索