zoukankan      html  css  js  c++  java
  • Apollo-配置管理中心-安装

    携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
    环境准备:centos ==> 7+,mysql ==> 5.7+,java ==> 1.8+
    环境搭建:
    yum -y install wget //下载安装包需要的命令
    yum -y install java //java环境
    yum -y install lrzsz  //上传下载功能
    yum -y install unzip zip  //压缩和解压zip所需的组件
    

    一、MySQL安装:

    安装步骤
    1、检测下系统有没有自带的mysql:
    yum list installed | grep mysql
    

    如果已经有的话执行命令卸载已经安装的mysql

    yum -y remove mysql-libs.x86_64
    2、先到mysql官网下载5.7的安装包,download-yum选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package , 该文件只是将mysql添加到yum库中,现在从官网下载默认的安装版本是8.0,需要禁用到8.0选择5.7
    wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
    如果没有wget命令可以通过如下命令安装
    yum install wget -y
    3、添加选择yum源:
    yum localinstall mysql57-community-release-el7-7.noarch.rpm
    #查看可用和默认的yum源,这里默认的就是5.7
    yum repolist all | grep mysql 
    4、安装mysql:
    yum install mysql-community-server 
    5、启动mysql:
    #启动
    service mysqld start 
    #查看安装版本
    mysqladmin --version
    #查看状态
    service mysqld status
    6、查看默认密码
    grep -n password /var/log/mysqld.log
    7、修改初始密码,允许远程访问
    #本地连接数据库,输入刚刚获取的密码
    mysql -u root -p
    #修改默认密码,默认密码后续操作会报错
    SET PASSWORD = PASSWORD('Mysql@123456');
    #选择mysql库
    use mysql;
    #更新权限
    update user set Host='%' where User='root';
    生效:
    FLUSH PRIVILEGES;
    
    vim etc/my.cnf 添加 character-set_server=utf8 否则会有乱码
     
    8、配置防火墙打开3306端口
    #查看3306端口是否开启
    firewall-cmd --permanent --query-port=3306/tcp
    #允许外部访问3306端口(可设置固定IP或IP段访问某一特定端口)
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    #删除3306端口
    firewall-cmd --zone=public --remove-port=3306/tcp --permanent
    #配置生效
    systemctl restart firewalld.service
    #查看防火墙状态
    firewall-cmd --state
    #启动firewall
    systemctl start firewalld.service
    #置开机自启:
    systemctl enable firewalld.service
    # 重启防火墙:
    systemctl restart firewalld.service
    查看防火墙设置开机自启是否成功:
    systemctl is-enabled firewalld.service;echo $?
    #查看已开启的firewall端口:
    netstat -ntlp 或:firewall-cmd --list-ports
    下载程序包地址:
    源代码地址:https://github.com/ctripcorp/apollo/
    已编译完成程序包:https://github.com/ctripcorp/apollo/releases
    config数据库和portal数据库SQL地址:https://github.com/ctripcorp/apollo/tree/master/scripts/sql
     
    本次使用已编译完成的程序包
    wget	https://github.com/ctripcorp/apollo/releases/download/v1.9.0/apollo-adminservice-1.9.0-github.zip
    wget	https://github.com/ctripcorp/apollo/releases/download/v1.9.0/apollo-configservice-1.9.0-github.zip
    wget	https://github.com/ctripcorp/apollo/releases/download/v1.9.0/apollo-portal-1.9.0-github.zip
    若下载速度较慢,可修改系统host文件:140.82.114.4 github.com 199.232.5.194 github.global.ssl.fastly.net
     
    二、程序接口名称及功能说明
    名称
    功能说明
    接口服务对象
    Portal
    提供Web界面供用户管理配置
    配置管理员
    Admin Service
    提供配置管理接口
    Portal
    Config Service
    提供配置获取接口
    Apollo客户端程序
    Eureka
    Config Service和Admin Service会向Eureka注册服务,并保持心跳
    Config和Admin
    Meta Server
    Meta Server从Eureka获取Config Service和Admin Service的服务信息
    Portal和Client
     
    Meta Server和Config Service是在一个JVM进程中Eureka和Config Service是在一个JVM进程中
     
    三、部署分布说明
    • Portal单独使用 ApolloPortalDB 库,可以独立部署
    • Config ServiceAdmin Service共用 ApolloConfigDB 库,建议部署至同一台服务器。
    • Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置
    • Config ServiceAdmin Service在每个环境都独立部署,使用独立的数据库(提供给相对应环境的客户端程序调用配置接口)
     
    四、默认支持环境说明
    名称
    说明
    DEV
    开发环境
    FAT
    测试环境,相当于alpha环境(功能测试)
    UAT
    集成环境,相当于beta环境(回归测试)
    PRO
    生产环境
     
     
    五、安装Config ServiceAdmin Service
    • 导入数据库
    mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS ApolloConfigDB DEFAULT CHARACTER SET = utf8mb4'
    mysql -uroot -p ApolloConfigDB < ApolloConfigDB.sql
    • 安装程序
    mkdir -p /wwwroot/{apollo-config,apollo-admin}
    unzip apollo-adminservice-1.9.0-github.zip -d /wwwroot/apollo-admin/
    unzip apollo-configservice-1.9.0-github.zip -d /wwwroot/apollo-config/
    • 修改配置文件
    vim /wwwroot/apollo-config/config/application-github.properties
    ######修改config server数据库地址以及用户名密码
    spring.datasource.url = jdbc:mysql://10.2.1.241:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
    spring.datasource.username = root
    spring.datasource.password = Mysql@123456
     
    vim /wwwroot/apollo-admin/config/application-github.properties
    ######修改admin server数据库地址以及用户名密码
    spring.datasource.url = jdbc:mysql://10.2.1.241:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
    spring.datasource.username = root
    spring.datasource.password = Mysql@123456
    • 启动程序
    /wwwroot/apollo-config/scripts/startup.sh
    /wwwroot/apollo-admin/scripts/startup.sh
    chmod 777 start.sh 
    chmod 777 shutdown.sh
    • 开启防火墙
    firewall-cmd --permanent --zone=public --add-port=8080/tcp
    firewall-cmd --permanent --zone=public --add-port=8090/tcp
    firewall-cmd --permanent --zone=public --add-port=8070/tcp
    • 检查启动情况
    • 打开网页 http://10.2.1.241:8080,查看是否有APOLLO-CONFIGSERVICE以及APOLLO-ADMINSERVICE成功注册
    • 使用命令curl -X GET "http://10.2.1.241:8080/eureka/apps"检查已注册服务 
    六、同一套环境中部署Config ServiceAdmin Service集群
    • 修改数据库配置文件
      ###修改 `ApolloConfigDB`.`ServerConfig`表中 `Value`选项
      ###将原 http://localhost:8080/eureka/ 修改为内网IP,(Eureka服务Url,多个service以英文逗号分隔)
      ###例如:
      UPDATE `ApolloConfigDB`.`ServerConfig` SET `Value` = 'http://10.2.1.241:8080/eureka/,http://10.2.1.242:8080/eureka/' WHERE `Id` = 
    • 部署并启动
    • 在10.2.1.241以及10.2.1.242服务器上部署config及admin服务
    • 启动config及admin服务
    • 检查启动情况
    • 打开网页http://10.2.1.241:8080以及http://10.2.1.242:8080,两台程序都服务注册成功即可。
    • 使用命令 curl -X GET "http://10.2.1.241:8080/eureka/apps"检查已注册服务. 
    七、安装配置portal
    • 导入数据库
    mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS ApolloPortalDB DEFAULT CHARACTER SET = utf8mb4'
    mysql -uroot -p ApolloPortalDB < ApolloPortalDB.sql
    • 安装程序
    mkdir -p /wwwroot/apollo-portal
    unzip apollo-portal-1.9.0-github.zip -d /wwwroot/apollo-portal/
    • 修改配置文件
    • 修改数据库配置文件
    vim /wwwroot/apollo-portal/config/application-github.properties
    ######修改portal数据库地址以及用户名密码
    spring.datasource.url = jdbc:mysql://10.2.1.241:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
    spring.datasource.username = root
    spring.datasource.password = Mysql@123456
    修改访问环境配置文件
    vim /wwwroot/apollo-portal/config/apollo-env.properties
    ######修改各环境的eureka访问地址,仅添加需要的环境,如果eureka配置集群模式,填入地址,使用逗号隔开。(更建议使用域名+负载均衡)
    dev.meta=http://10.2.1.241:8080,http://10.2.1.242:8080
    修改数据库配置
     
    配置统一存储在 ApolloPortalDB.ServerConfig 表中
    ###允许支持多环境
    `apollo.portal.envs`键值中,如需管理多个环境的话,使用逗号隔开
    例如 "DEV,FAT,UAT,PRO"
    ###修改部门列表信息
    `organizations`键值中,按照样例修改可选部门信息
    ###超级管理官
    `superAdmin`键值中,拥有超级管理员权限用户名,如需添加多个,用逗号隔开
    • 启动程序
    /wwwroot/apollo-portal/scripts/startup.sh
    chmod 777 start.sh 
    chmod 777 shutdown.sh
    八、访问配置管理页面访问域名 : http://10.2.1.241:8070 默认用户名 : apollo默认密码 : admin
    • 增加配置请查看官方git说明书
  • 相关阅读:
    正则表达式  语法
    正则表达式  语法
    SQL Server 删除日志文件
    SQL Server 删除日志文件
    C# CLR简介
    C# CLR简介
    理解 C# 项目 csproj 文件格式的本质和编译流程
    理解 C# 项目 csproj 文件格式的本质和编译流程
    De4Dot+Reflector 支持多种反混淆
    De4Dot+Reflector 支持多种反混淆
  • 原文地址:https://www.cnblogs.com/soulmate/p/15181152.html
Copyright © 2011-2022 走看看