apollo配置中心

搭建apollo高可用分布式配置中心(自定义环境)

apollo源码包和jar包

https://github.com/ctripcorp/apollo/releases

这个是快速安装包 单机环境)

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

需求:搭建apollo一共五个环境 三个自定义环境 分布式 高可用

分别是

DEV 开发环境
DAILY 测试环境
PRE 预发环境
BETA 灰度环境
PROD 生产环境

     自定义环境列表可以参考这个 需要下载源码包改代码

https://github.com/ctripcorp/apollo/wiki/%E9%83%A8%E7%BD%B2&%E5%BC%80%E5%8F%91%E9%81%87%E5%88%B0%E7%9A%84%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98#42-%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E7%8E%AF%E5%A2%83

需要先安装 idea和mvn然后配置仓库等

需要添加的代码有四处

1

2

3

4

 

 按照上面参考改完后直接运行源码里build.sh

打包好后找到源码包里的这三个文件

 

 

 

可以在这里改也可以传到服务器里改配置 看自己喜好

                            服务器环节

[root@localhost ~]# yum install glibc.i686

[root@localhost ~]# tar zxvf jdk-8u221-linux-i586.tar.gz

[root@localhost ~]# mv jdk1.8.0_221/ /usr/local/java

[root@localhost ~]# vi /etc/profile

JAVA_HOME=/usr/local/java/

JAVA_BIN=/usr/local/java/bin

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin:/bin

CLASSPATH=.:/lib/dt.jar:/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

[root@localhost ~]# source /etc/profile

[root@localhost ~]# ln -s /usr/local/java/bin/* /usr/local/bin/

[root@localhost ~]# java –version

java version "1.8.0_221"

Java(TM) SE Runtime Environment (build 1.8.0_221-b11)

Java HotSpot(TM) Client VM (build 25.221-b11, mixed mode)

测试环境为了方便,使用yum安装数据库

[root@localhost ~]#  wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

[root@localhost ~]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm

[root@localhost ~]# yum -y install mysql-server

[root@localhost ~]# vi /etc/my.cnf

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server = utf8

collation-server = utf8_unicode_ci

skip-character-set-client-handshake

transaction-isolation = READ-COMMITTED

[root@localhost ~]# systemctl start mysqld

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log

2019-07-05T02:13:24.902657Z 1 [Note] A temporary password is generated for root@localhost: /w6mAIS+SWp+  最后面有一个随机密码

[root@localhost ~]#  mysql -uroot –p

                  Enter password: 复制密码到这里

mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY 'pwd@123123A';

现在可以跑apollo首先修改sql文件然后导入

修改apolloportaldb.sql中的 ServerConfig

1 apollo.portal.envs dev,daily,pre,beta,pro 可支持的环境列表 0 default 2019-07-27 09:35:33 2019-07-27 09:37:01

2 organizations [{"orgId":"TEST1","orgName":"开发一组"},{"orgId":"TEST2","orgName":"开发二组"},{"orgId":"TEST3","orgName":"开发三组"},{"orgId":"TEST4","orgName":"测试组"},{"orgId":"TEST5","orgName":"前端组"},{"orgId":"TEST6","orgName":"后端组"},{"orgId":"TEST7","orgName":"运维组"}] 部门列表 0 default 2019-07-27 09:35:33 apollo 2019-07-27 12:12:16

 

如果一个服务器配置多个环境需要改apolloconfigdb.sql数据库表ServerConfig

1 eureka.service.url default http://localhost:8080/eureka/               Eureka服务Url,多个service以英文逗号分隔,修改ip和端口

建议使用Navicat Premium

进入数据库给root授权任何地方可以登陆

grant all on *.* to 'root'@'%' identified by'pwd@123123A';

flush privileges;

exit

管理端导入apolloportaldb

进入数据库输入命令 source apolloportaldb.sql;

其他环境导入apolloconfigdb.sql

进入数据库输入命令source apolloconfigdb.sql;

数据库配置完毕

导入apollo文件 到linux服务器

[root@yy ~]#mkdir /usr/local/Apollo

[root@yy ~]# cd /usr/local/apollo/

管理端使用工具导入apollo-portal-1.4.0-github下的文件

[root@yy apollo]# ls

apollo-portal-1.4.0.jar  apollo-portal-1.4.0-sources.jar  apollo-portal.conf  config  

scripts

然后修改配置文件

首先修改数据库连接文件

[root@yy apollo]# vi config/application-github.properties

# DataSource

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloportaldb?characterEncoding=utf8

#数据库连接地址端口等

spring.datasource.username = root

#数据库连接用户

spring.datasource.password = pwd@123123A

#数据库连接密码

wq

再修改分布式配置文件

[root@yy apollo]# vi config/apollo-env.properties

local.meta=http://localhost:8080

dev.meta=http://fill-in-dev-meta-server:8080

daily.meta=http://192.168.163.201:8080

pre.meta=${pre_meta}

beta.meta=http://192.168.163.200:8080

fat.meta=http://fill-in-fat-meta-server:8080

uat.meta=http://fill-in-uat-meta-server:8080

lpt.meta=${lpt_meta}

pro.meta=http://fill-in-pro-meta-server:8080

管理端完成

配置各个环境的apollo

[root@localhost ~]# mkdir /usr/local/apollo

[root@localhost ~]# cd /usr/local/apollo/

[root@localhost apollo]# mkdir conf

[root@localhost apollo]# mkdir admin

[root@localhost apollo]# ls

admin  conf

[root@localhost apollo]# cd conf/

导入文件夹apollo-configservice-1.4.0-github 下的文件

[root@localhost conf]# pwd

/usr/local/apollo/conf

[root@localhost conf]# ls

apollo-configservice-1.4.0.jar  apollo-configservice-1.4.0-sources.jar  apollo-configservice.conf  config  scripts

修改数据库连接文件

[root@localhost conf]# vi config/application-github.properties

# DataSource

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = pwd@123123A

wq

[root@localhost apollo]# cd /usr/local/apollo/admin/

导入文件夹apollo-adminservice-1.4.0-github 下的文件

[root@localhost admin]# ls

apollo-adminservice-1.4.0.jar  apollo-adminservice-1.4.0-sources.jar  apollo-adminservice.conf  config  scripts

修改数据库连接文件

[root@localhost admin]# vi config/application-github.properties

# DataSource

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = pwd@123123A

:wq

多台环境配置一样举例一个

开启服务

开启环境服务器中的config 后再开启admin 等待全部环境服务器都开启后,再开启管理端

[root@localhost ~]# chmod +x /usr/local/apollo/conf/scripts/startup.sh

[root@localhost ~]# /usr/local/apollo/conf/scripts/startup.sh start

Fri Jul 26 15:17:03 CST 2019 ==== Starting ====

Started [83655]

Waiting for server startup.....................

Fri Jul 26 15:18:55 CST 2019 Server started in 105 seconds!

启动成功后启动admin

[root@localhost ~]# chmod +x /usr/local/apollo/admin/scripts/startup.sh

[root@localhost ~]# /usr/local/apollo/admin/scripts/startup.sh start

Fri Jul 26 15:19:53 CST 2019 ==== Starting ====

Started [86239]

Waiting for server startup......................

Fri Jul 26 15:21:49 CST 2019 Server started in 110 seconds!

全部开启后就可以开启管理端了

[root@yy ~]# chmod +x /usr/local/apollo/scripts/startup.sh

[root@yy ~]# /usr/local/apollo/scripts/startup.sh start

Fri Jul 26 15:22:58 CST 2019 ==== Starting ====

Started [90851]

Waiting for server startup.............

Fri Jul 26 15:24:08 CST 2019 Server started in 65 seconds!

 

访问 http://ip:8070 控制页面

用户名 :Apollo

密码:admin

自定义环境列表生效

 

修改组或添加也可以在     管理员工具>系统参数里>key搜索 organizations
 

看系信息
 

 

现在就可以配置nginx代理然后个域名 然后给写备份脚本 然后投入使用

原文地址:https://www.cnblogs.com/linuxys/p/12909297.html