zoukankan      html  css  js  c++  java
  • 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代理然后个域名 然后给写备份脚本 然后投入使用

  • 相关阅读:
    [学习总结]1、View的scrollTo 和 scrollBy 方法使用说明和区别
    [项目总结]Android 手动显示和隐藏软键盘
    Ubuntu系统下C语言编程
    windows API程序设计(一个简单的窗口)
    小程序的四种文件类型和基本结构
    小乌龟使用错误
    ROS通信编程与仿真工具
    小程序的事件机制--捕捉与回调,catch与bind
    Sql 中Collate用法
    tf.data.dataset
  • 原文地址:https://www.cnblogs.com/linuxys/p/12909297.html
Copyright © 2011-2022 走看看