• 安装apollo


     
    安装apollo
    目前的访问地址:
    目前监听的三个端口 8070,8080,8090
    http://122.8.189.208:8070;
    账号:
    默认账号密码
    apollo
    admin
     
     
    里面的 第 6,8,9 不需要执行

    0 安装java环境

    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# tar xf jdk-8u141-linux-x64.tar.gz -C /usr/local/
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# tail -5 /etc/profile
    #####set java environment######
    export JAVA_HOME=/usr/local/jdk1.8.0_141
    export JRE_HOME=$JAVA_HOME/jre
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# source /etc/profile
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# which java
    /usr/local/jdk1.8.0_141/bin/java
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]#

    1 下载安装包

    cd /usr/local/src

    2 解压

    mkdir -p /opt/apollo/{apollo-adminservice,apollo-configservice,apollo-portal}
    cd /usr/local/src
    unzip apollo-adminservice-1.6.1-github.zip -d /opt/apollo/apollo-adminservice/
    unzip apollo-configservice-1.6.1-github.zip -d /opt/apollo/apollo-configservice/
    unzip apollo-portal-1.6.1-github.zip -d /opt/apollo/apollo-portal/

    3 初始化脚本

     
    cd /usr/local/src/apollo/scripts/sql/
    chmod 777 apollo*
    [root@ss-microl-mx-nanopay-platform-test sql]# ls -l /usr/local/src/apollo/scripts/sql/apolloconfigdb.sql
    -rw-r--r-- 1 root root 21291 Nov 18 03:36 /usr/local/src/apollo/scripts/sql/apolloconfigdb.sql
    [root@ss-microl-mx-nanopay-platform-test sql]# ls -l /usr/local/src/apollo/scripts/sql/apolloportaldb.sql
    -rw-r--r-- 1 root root 16278 Nov 18 03:36 /usr/local/src/apollo/scripts/sql/apolloportaldb.sql

    4 创建用户并授权

    首先安装mysql,默认情况下,都是安装好的
    然后执行:service mysqld status
    看看是否启动,
    如果没有启动执行:
    service mysqld start;
    然后登陆mysql:
    mysql -uroot -pRoot@123
    # 创建apolloconfig用户,并授权ApolloConfigDB权限
    CREATE USER 'apolloconfig'@'%' IDENTIFIED BY '123456';
    (注意此处可能会失败,密码强度不够,参考后面的疑难问题解答)
    grant all privileges on ApolloConfigDB.* to 'apolloconfig'@'%';
    # 创建apolloportal用户,并授权ApolloPortalDB权限
    CREATE USER 'apolloportal'@'%' IDENTIFIED BY '123456';
    grant all privileges on ApolloPortalDB.* to 'apolloportal'@'%';
    之后登录mysql ,source初始化这俩脚本
    source /usr/local/src/apollo/scripts/sql/apolloconfigdb.sql
    source /usr/local/src/apollo/scripts/sql/apolloportaldb.sql

    5 修改数据库配置文件

    修改三个配置的数据库地址和账户密码,注意对应的数据库和用户名一一对应,按照模板
    1、vi /opt/apollo/apollo-adminservice/config/application-github.properties
    内容:
    spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8
    spring.datasource.username = apolloconfig
    spring.datasource.password = 123456
     
    2、 vi /opt/apollo/apollo-configservice/config/application-github.properties

    内容:

    spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8
    spring.datasource.username = apolloconfig
    spring.datasource.password = 123456
    #apollo.eureka.server.enabled=true
    #apollo.eureka.client.enabled=true
    3、vi /opt/apollo/apollo-portal/config/application-github.properties
    spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloportaldb?characterEncoding=utf8
    spring.datasource.username = apolloportal
    spring.datasource.password = 123456
    检查下:
    cat /opt/apollo/apollo-adminservice/config/application-github.properties
    cat /opt/apollo/apollo-configservice/config/application-github.properties
    cat /opt/apollo/apollo-portal/config/application-github.properties

    6 启动服务

    均使用scripts 下的startup.sh,不过需要修改一些配置(如果是几个apollo 集群联邦的话)
    修改/opt/apollo/apollo-adminservice/scripts/startup.sh
    SERVICE_NAME=apollo-adminservice
    ## Adjust log dir if necessary
    LOG_DIR=/work/logs/100003172
    ## Adjust server port if necessary
    SERVER_PORT=${SERVER_PORT:=8090}
     
    取消以下启动参数的注释
    ## Adjust memory settings if necessary
    export JAVA_OPTS="-Xms2560m -Xmx2560m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1536m -XX:MaxNewSize=1536m -XX:SurvivorRatio=8”
     
    ## 添加对公网访问
    export JAVA_OPTS="$JAVA_OPTS -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Deureka.instance.homePageUrl=http://public-ip:8090"
    修改/opt/apollo/apollo-configservice/scripts/startup.sh
    SERVICE_NAME=apollo-configservice
    ## Adjust log dir if necessary
    LOG_DIR=/work/logs/100003171
    ## Adjust server port if necessary
    SERVER_PORT=${SERVER_PORT:=8080}
     
    取消以下启动参数的注释
    ## Adjust memory settings if necessary
    export JAVA_OPTS="-Xms2048m -Xmx2048m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:SurvivorRatio=8”
     
    ## 添加对公网访问
    export JAVA_OPTS="$JAVA_OPTS -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Deureka.instance.homePageUrl=http://public-ip:8080"
    修改/opt/apollo/apollo-portal/scripts/startup.sh
    SERVICE_NAME=apollo-portal
    ## Adjust log dir if necessary
    LOG_DIR=/work/logs/100003173
    ## Adjust server port if necessary
    SERVER_PORT=${SERVER_PORT:=8070}
     
    取消以下启动参数的注释
    ## Adjust memory settings if necessary
    export JAVA_OPTS="-Xms2560m -Xmx2560m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1536m -XX:MaxNewSize=1536m -XX:SurvivorRatio=8”
    默认账号密码
    apollo
    admin
    7 修改环境变量
    登陆MySQL mysql -uroot -pRoot@123
    执行:
    UPDATE ApolloPortalDB.ServerConfig SET ServerConfig.`Value`='dev,fat,uat,pro' WHERE `Key`='apollo.portal.envs';
    8 apollo的portal 管理多个环境的话,更改如下的配置
    比如我想用一套portal界面管理后台,管理生产和测试的两套apollo configserver,那么需要更改如下的配置
    [root@ss-micro-mx-nanopay-platform-apollo-1 apollo-portal]# cat /opt/apollo/apollo-portal/config/apollo-env.properties
    dev.meta=http://119.8.8.40:8080 #<=测试环境的apollo configserver 地址
    pro.meta=http://119.8.11.181:8080 #<=生产环境的apollo configserver 地址
    这样就可以通过一套apollo管理生产和测试的两套apollo configserver环境了
    注意的是,如果使用上面的方式来管理多个apollo环境,apollo的configserver 必须要配置公网访问,就是上面第6部分的内容:
    ## 添加对公网访问
    export JAVA_OPTS="$JAVA_OPTS -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Deureka.instance.homePageUrl=http://public-ip:8090"
    9 生产configserver有三台,如何配置configserver多集群
    登录数据库,进行如下的修改,这里使用peakpaisa的三台apollo的内网地址为例,需要注意的是,configserver配置多个集群的话,只能在这里修改数据库的字段,但是如果生产的configserver 就一台的话,那么默认就http://localhost:8080/eureka 就好了,则就不用修改此处
    update ApolloConfigDB.ServerConfig set Value='http://172.42.63.72:8080/eureka/,http://172.42.86.34:8080/eureka/,http://172.42.77.32:8080/eureka/' where `key`='eureka.service.url';
     
     

    疑难问题解答:

    1、密码强度不够:

    改一下级别:参考:https://blog.csdn.net/liu59412/article/details/104675439
    1、SHOW VARIABLES LIKE 'validate_password%';
    2、set global validate_password_policy=LOW;
    3、set global validate_password_length=6;

    2、修改用户名和密码 +Ip

    /opt/apollo/apollo-adminservice/config/application-github.properties
    /opt/apollo/apollo-configservice/config/application-github.properties
    /opt/apollo/apollo-portal/config/application-github.properties
     
    iP默认127.0.0.1
     

    3、启动脚本

     
    /opt/apollo/apollo-adminservice/scripts/startup.sh
    在这里执行:
    sh /opt/apollo/apollo-adminservice/scripts/startup.sh
     
    注意点启动的时候要依次启动,这样搞:分批启动
    apollo分布式部署,早上刚解决掉
     
    apollo-adminservice/scripts/startup.sh
    apollo-configservice/scripts/startup.sh
    apollo-portal/scripts/startup.sh
     

    4、数据库 的名称要改成小写;

     
    改完 DB的配置之后,需要重启下
    修改前:
    修改后:
     
     
    sh /opt/apollo/apollo-adminservice/scripts/ shutdown.sh
    sh /opt/apollo/apollo-adminservice/scripts/startup.sh

    5、apollo 的端口监听 需要运维配置一下;

    目前监听的三个端口 8070,8080,8090
    http://122.8.189.208:8070;
    6、目前的apollo架构图:
    portal是单独的机器,然后 不同的环境有不同的机器,生产建议两台机器做高可用;

    6、 unable to find java

    找运维安装java ,顶多1分钟,不要自己按,太麻烦还没办法往上传包;

    7、 8090可以启动,8080,8070 不能启动

    因为只启动了一个服务,其他的没有启动,需要这样启动:
    apollo-adminservice/scripts/startup.sh
    apollo-configservice/scripts/startup.sh
    apollo-portal/scripts/startup.sh
     
    我之前只启动了一个服务:
    apollo-adminservice/scripts/startup.sh
    因为只启动了 admin所以只有8090 可以访问,其他的不能访问;
  • 相关阅读:
    杭电oj2032、2040、2042、2054、2055
    杭电oj2022-2030
    杭电oj2012-2021
    杭电oj2000-2011
    值得思考的几句话,放在这看看
    CEO 是一家创业公司的天花板
    致敬骄傲的产品人
    【新业务搭建】竞争情报业务规划及体系构建的思考——By Team
    微软威胁情报中心总经理的十句话——From John Lambert——太精辟了.......
    【调研与分析】标杆学习、知识管理和竞争情报的关系——From Team
  • 原文地址:https://www.cnblogs.com/aspirant/p/16377899.html
Copyright © 2020-2023  润新知