Apollo 服务器部署(源码构建方式)

Apollo 服务器部署

@(Apollo)[apollo部署, 帮助]

设置ali源,安装依赖

备份yum源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 

设置aliyun的yum源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 

添加EPEL源
sudo wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo

清理缓存,生成新缓存,执行yum更新
sudo yum clean all
sudo yum makecache

mysql 安装部署

  • 配置YUM源:在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源
sudo yum localinstall mysql57-community-release-el7-8.noarch.rpm
  • 检查mysql源是否安装成功,出现以下即成功
  • 修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64 MySQL Connectors Community                 175
mysql-tools-community/x86_64      MySQL Tools Community                      120
mysql57-community/x86_64          MySQL 5.7 Community Server                 464

  • 安装Mysql
yum install -y mysql-community-server
  • 启动mysql服务
sudo systemctl start mysqld
  • 查看mysql服务状态
[dengbiao@dengbiao ~]$ systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2020-11-29 08:55:43 CST; 7s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2346 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2291 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2349 (mysqld)
    Tasks: 27
   Memory: 321.6M
   CGroup: /system.slice/mysqld.service
           └─2349 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

11月 29 08:55:28 dengbiao systemd[1]: Starting MySQL Server...
11月 29 08:55:43 dengbiao systemd[1]: Started MySQL Server.

  • 开机启动
sudo systemctl enable mysqld
sudo systemctl daemon-reload

  • 修改root本地登录密码
  • mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码
sudo grep 'temporary password' /var/log/mysqld.log
2020-11-29T00:55:38.640733Z 1 [Note] A temporary password is generated for root@localhost: ZFH#Nu<Bj7kH
mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  • mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

  • 查看密码策略的相关信息:show variables like '%password%';


  • 修改密码策略(此步骤可忽略)
  • 在/etc/my.cnf文件添加validate_password_policy配置:择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
  • 如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可
sudo vim /etc/my.conf

validate_password = off
systemctl restart mysqld

  • 设置远程登录
mysql -uroot -p

use mysql;

# root 用户名 ,% 所有人都可以访问 ,password 密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new_password' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

service mysqld restart

jdk1.8 安装部署

sudo cp jdk-8u241-linux-x64.tar.gz /usr/local/

cd /usr/local

sudo tar -zxvf jdk-8u241-linux-x64.tar.gz

sudo vim /etc/profile
  • 最后追加
…………
JAVA_HOME=/usr/local/jdk1.8.0_241
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
  • 刷新验证
[root@dengbiao local]# source /etc/profile
[root@dengbiao local]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

maven安装部署

<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>
cp apache-maven-3.3.9-bin.tar.gz /usr/local/
tar -zxvf apache-maven-3.3.9-bin.tar.gz
vim /etc/profile
ENV MAVEN_HOME=/usr/local/apache-maven-3.3.9
ENV PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

source /etc/profile
mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_241, vendor: Oracle Corporation
Java home: /usr/local/jdk1.8.0_241/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.19.1.el7.x86_64", arch: "amd64", family: "unix"

apollo发布地址下载release包

部署apollo 版本是1.1.2
apollo发布地址下载release包

数据库导入

  • 此次直接从联调环境导入即可

配置数据库连接

  • 修改ApolloConfigDB 数据库ServerConfig表:
key=eureka.service.url,修改value=http://ip:8080/eureka/
# 解压
tar -zxvf apollo-1.1.2.tar.gz 
# 配置数据库连接信息,修改源码包`apollo-1.1.2`中的`scripts/build.sh`文件

# apollo config db info
apollo_config_db_url=jdbc:mysql://ip:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=username
apollo_config_db_password=password

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://ip:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=username
apollo_portal_db_password=password

# meta server url, different environments should have different meta server addresses
dev_meta=http://ip:8080
fat_meta=http://fill-in-fat-meta-server:8080
uat_meta=http://fill-in-uat-meta-server:8080
pro_meta=http://fill-in-pro-meta-server:8080
  • 修改apollo-1.1.2/apollo-adminservice/src/main/resources下的bootstrap.yml文件中eureka.instance.hostnameeureka.instance.preferIpAddress的值

  • 修改apollo-1.1.2/apollo-configservice/src/main/resources下的bootstrap.yml文件中eureka.instance.hostnameeureka.instance.preferIpAddress的值

  • 查询日志路径

    apollo-adminservice、apollo-configservice、apollo-portal 日志路径分别在各自目录的`/src/main/scripts/startup.sh`中
    
  • 创建日志目录

    mkdir /opt/logs/100003171
    mkdir /opt/logs/100003172
    mkdir /opt/logs/100003173
    

构建

  • 该脚本会依次打包apollo-configservice, apollo-adminservice, apollo-portal
chmod -R 777 apollo-1.1.2/
cd apollo-1.1.2
./scripts/build.sh start
  • 获取apollo-configservice安装包:位于apollo-configservice/target/目录下的apollo-configservice-x.x.x-github.zip

  • 获取apollo-adminservice安装包:位于apollo-adminservice/target/目录下的apollo-adminservice-x.x.x-github.zip

  • 获取apollo-portal安装包:位于apollo-portal/target/目录下的apollo-portal-x.x.x-github.zip

部署Apollo服务端

  • 注意执行顺序 :configservice、adminservice、portal

  • 部署apollo-configservice:将对应环境的apollo-configservice-x.x.x-github.zip上传到服务器上,解压后执行scripts/startup.sh即可

  • 部署apollo-adminservice:将对应环境的apollo-adminservice-x.x.x-github.zip上传到服务器上,解压后执行scripts/startup.sh即可

  • 部署apollo-portal:将apollo-portal-x.x.x-github.zip上传到服务器上,解压后执行scripts/startup.sh即可

  • 正常启动后,显示

    Started [7197]
    Waiting for server startup....
    2020年 11月 29日 星期日 13:16:18 CST Server started in 20 seconds
    

检查

可以使用telnet 检查

浏览器打开:`172.24.100.68 8070`,访问Apollo WEB界面,即可

浏览器打开:`172.24.100.68 8080`,访问Eureka的界面,即可

浏览器打开:`172.24.100.68 8090`,显示`apollo-adminservice`内容,即可

资料

Apollo分布式部署指南

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值