详解JavaEE中Apollo安装使用小结

目录
  • 一、安装MySQL5.7.37(主机:192.168.233.128,用户/密码:root):
  • 二、Apollo安装/启动(centos7)(主机:192.168.233.128):
  • 三、Web应用接入Apollo(SpringBoot):

说明:

Apollo是配置管理中心,和SpringCloud-Config实现的功能有点相似。

一、安装MySQL 5.7.37(主机:192.168.233.128,用户/密码:root):

1.下载mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar,并上传到centos7:

https://dev.mysql.com/downloads/mysql/

解压mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar(cd到/root目录):

[root@localhost ~]# tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar 

2.安装依赖:

[root@localhost ~]# yum -y install libaio
[root@localhost ~]# yum -y install perl
[root@localhost ~]# yum -y install net-tools

3.安装mysql:

[root@localhost ~]# rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm

4.启动:

[root@localhost ~]# service mysqld start

5.查看临时密码:

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

6.登录(在Enter password输入上方查看的密码):

[root@localhost ~]# mysql -u root -p
Enter password: 

7.修改密码(密码:root):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'Root123456=';
mysql> SET GLOBAL validate_password_length=2;
mysql> SET GLOBAL validate_password_policy=0;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'root';

8.允许远程访问:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

二、Apollo安装/启动(centos7)(主机:192.168.233.128):

1.下载apollo-quick-start-1.9.2.zip:

https://www.apolloconfig.com/#/zh/deployment/quick-start?id=%e4%ba%8c%e3%80%81%e5%ae%89%e8%a3%85%e6%ad%a5%e9%aa%a4

2.创建ApolloPortalDB、ApolloConfigDB数据库:

(1)使用Navicat连接mysql5,创建ApolloPortalDB、ApolloConfigDB数据库:

注:ApolloPortalDB在生产环境部署,而ApolloConfigDB需要每个环境部署一套。

(2)导入apolloportaldb.sql到ApolloPortalDB数据库(sql文件在apollo-quick-start-1.9.2/sql目录中):

使用Navicat右击ApolloPortalDB数据库,运行 SQL 文件,选择apolloportaldb.sql,点开始按钮。

(3)导入apolloconfigdb.sql到ApolloConfigDB数据库(sql文件在apollo-quick-start-1.9.2/sql目录中):

使用Navicat右击ApolloConfigDB数据库,运行 SQL 文件,选择apolloconfigdb.sql,点开始按钮。

3.安装Apollo:

(1)将apollo-quick-start-1.9.2.zip上传到/usr/local/apollo目录(mkdir /usr/local/apollo)。

(2)解压apollo-quick-start-1.9.2.zip(cd /usr/local/apollo/):

[root@localhost apollo]# unzip apollo-quick-start-1.9.2.zip

(3)配置ApolloPortalDB、ApolloConfigDB数据库连接信息:

[root@localhost apollo]# vi demo.sh

修改如下内容:

#ApolloConfigDB连接信息
apollo_config_db_url="jdbc:mysql://192.168.233.128:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_config_db_username=root
apollo_config_db_password=root
#ApolloPortalDB连接信息
apollo_portal_db_url="jdbc:mysql://192.168.233.128:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_portal_db_username=root
apollo_portal_db_password=root
...
# meta server url
config_server_url=http://192.168.233.128:8080
admin_server_url=http://192.168.233.128:8090
...
portal_url=http://192.168.233.128:8070

4.启动/停止Apollo:

[root@localhost apollo]# ./demo.sh start[root@localhost apollo]# ./demo.sh stop

5.打开Apollo首页(用户apollo,密码admin):

http://192.168.233.128:8070

三、Web应用接入Apollo(SpringBoot):

1.在Apollo中创建应用:

(1)在首页,点左上角"创建应用",输入AppId值等(此处AppId与待接入应用application.yml的app.id对应):

(2)进入创建的应用,点击Key/Value列表的右上角"新增配置",添加Key和Value:

(3)创建Key+Value后,回到Key/Value列表中,点右上角靠左的"发布"按钮生效:

2.Web工程中配置Apollo信息:

(1)添加apollo依赖:

<dependencies>
    <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-client</artifactId>
        <version>1.9.2</version>
    </dependency>
    <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-openapi</artifactId>
        <version>1.9.2</version>
    </dependency>
</dependencies>

(2)配置app.id与app.meta,在application.yml中:

...
app:
  id: apollo                         #apollo应用ID(必须与Apollo网页上创建项目时定义的应用Id一致)
apollo:
  meta: http://192.168.233.128:8080  #apollo服务器地址
  autoUpdateInjectedSpringProperties: true  #false时@Value("${key1}")值不会自动更新,默认true自动更新
 #cache-dir: /opt/data/some-cache-dir       #自定义本地缓存路径,默认为/opt/data/{appId}/config-cache
  access-key:
    secret: 838fe62c502a43e2b70a31d7c7156f10 #配置访问密钥,在Apollo首页-管理密钥中创建密钥
  property:
    names:
      cache:
        enable: true   #开启propertyNames缓存
  bootstrap:
    enabled: true   #开启 Apollo
    namespaces: application  #可以注入多个命名空间,以逗号分隔
    #eagerLoad:
    #  enabled: true   #将apollo初始化放在日志系统初始化之前

(3)Application启动类添加@EnableApolloConfig注解:

@SpringBootApplication
@EnableApolloConfig   //开启Apollo
public class ApolloApplication {
    public static void main(String[] args) {
        SpringApplication.run(ApolloApplication.class);
    }
}

(4)Config方式获取apollo配置中心的配置:

@Configuration
public class ApolloConfig {
    @Value("${key1}")//从apollo配置中心获取添加的key1
    public String key1;
}

(5)获取key1并打印的测试Conrtoller:

@RestController
public class UserController {
    @Autowired
    private ApolloConfig apolloConfig;
    @RequestMapping("/user")
    @ResponseBody
    public String user(){
        return apolloConfig.key1;
    }
}

3.启动Web应用,需要添加Apollo环境+地址参数:

(1)IntelliJ IDEA方式,Edit Configurations -> 左侧Application中选中ApolloApplication,右侧Configuration选项卡中,在VM options中填入:

-Dapollo.meta=http://192.168.233.128:8080 -Denv=dev

(2)运行jar包方式,展开IntelliJ IDEA右侧Maven -> 找到apollo模块Lifecycle菜单,分别双击clean、install,将target目录下生成的apollo.jar上传到centos7,并使用java命令启动:

[root@localhost ~]# java -jar -Dapollo.meta=http://192.168.233.128:8080 -Denv=dev apollo.jar &

(3)访问Web应用"/user"接口显示获取到的key1值可以看到效果(不停止Web应用,修改Apollo配置中心的key1值,重新发布,再刷新以下接口,可以看到值已经变成新的了):

http://192.168.233.128:10006/user

到此这篇关于详解JavaEE中Apollo安装使用的文章就介绍到这了,更多相关JavaEE Apollo安装 使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解JavaEE中Apollo安装使用小结

    目录 一.安装MySQL5.7.37(主机:192.168.233.128,用户/密码:root): 二.Apollo安装/启动(centos7)(主机:192.168.233.128): 三.Web应用接入Apollo(SpringBoot): 说明: Apollo是配置管理中心,和SpringCloud-Config实现的功能有点相似. 一.安装MySQL 5.7.37(主机:192.168.233.128,用户/密码:root): 1.下载mysql-5.7.37-1.el7.x86_64

  • 详解WordPress中提醒安装插件以及隐藏插件的功能实现

    提醒用户当前主题需要的插件 很多主题都需要一些插件的支持,这时你就需要提醒用户需要安装的插件,本文将教你,怎么在后台显眼的位置提醒用户当前主题要安装的插件. 最终的效果类似下图: 只需要用 admin_notices 钩子,在后台标题下边输出一个警告框,再用 is_plugin_active() 函数判断插件是否启用即可. /** *WordPress 提醒用户当前主题需要的插件 *http://www.endskin.com/plugins-messages/ */ function Bing

  • 详解PHP中cookie和session的区别及cookie和session用法小结

    具体来说 cookie 是保存在"客户端"的,而session是保存在"服务端"的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间. session 一种类似散列表的形式保存信息, 当程序需要为某个客户端的请求创建一个

  • 详解Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数

    一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node001 ~]# which java /usr/bin/java #查看JDK安装路径 [root@node001 ~]# echo $JAVA_HOME /usr/local/java/jdk1.7.0_80 [root@node001 ~]# echo $PATH /usr/local/sbin:

  • 详解Java 中泛型的实现原理

    泛型是 Java 开发中常用的技术,了解泛型的几种形式和实现泛型的基本原理,有助于写出更优质的代码.本文总结了 Java 泛型的三种形式以及泛型实现原理. 泛型 泛型的本质是对类型进行参数化,在代码逻辑不关注具体的数据类型时使用.例如:实现一个通用的排序算法,此时关注的是算法本身,而非排序的对象的类型. 泛型方法 如下定义了一个泛型方法, 声明了一个类型变量,它可以应用于参数,返回值,和方法内的代码逻辑. class GenericMethod{ public <T> T[] sort(T[]

  • 详解SpringBoot中如何使用布隆过滤器

    目录 前言 一.Guava 实现布隆过滤器 二.Hutool 布隆过滤器 三.Redission 布隆过滤器 四.小结 五.Guava 布隆过滤器结合 Redis 使用 昨天写了一篇Redis布隆过滤器相关的命令的文章,今天来说一说springboot中如何简单在代码中使用布隆过滤器吧. 目前市面上也有好几种实现方式,如果你需要高度定制化,可以完全从零实现,当然这不是一个简单的工程. 如果只是想快速开始的话,那么市面上现成的实现,无疑是最快的. 前言 今天说到的实现方式有以下几种: 引入 Gua

  • 详解mysql中的冗余和重复索引

    mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能. 重复索引是指的在相同的列上按照相同的顺序创建的相同类型的索引,应该避免这样创建重复索引,发现以后也应该立即删除.但,在相同的列上创建不同类型的索引来满足不同的查询需求是可以的. CREATE TABLE test( ID INT NOT NULL PRIMARY KEY, A INT NOT NULL, B INT NOT NULL, UNI

  • 详解JavaEE使用过滤器实现登录(用户自动登录 安全登录 取消自动登录黑用户禁止登录)

    在我们生活中,对于账户的自动登录已经很常见了,所以利用过滤器实现这个功能. 主要介绍用户的自动登录和取消自动登录,以及实现一天自动登录或者n天实现自动登录,当用户ip被加入到黑名单之后,直接利用过滤器返回一个警告页面. 过滤器的功能很是强大,我们只需要在写好的前台后servlet之后进行添加就可以实现这个功能 Ps:这个仅仅只是一个演示而已,里面的访问数据库的部分,自己随意模拟了下,主要是突出实现自动登录的功能. 前台代码: 前台代码是成功与否都在这个页面显示.用到的技术:jstl标签的应用,s

  • 详解Centos7.2编译安装zabbix3.2(详细步骤)

    Zabbix简介 zabbix简介zabbix是完全开源的工具,整合了cacti和nagios等特性,SNMP(udp 161  udp 162)众多网络工具都支持此协议,比如常见路由交换,常见OS可以做管理端,也可以做被管理端,snmp大致的三个版本分为v1 v2 v3,无论是v1和v2他们的安全性还是比较差的,因为传输的是明文的,v3的认证密码用 MD5/SHA摘要算法加密. 很多工具都支持网络管理的功能,而对非网络设备(操作系统)可以完全抛开snmp这种不安全的架构来实现监控的,所以很多工

  • 详解linux 定时任务 crontabs 安装及使用方法

    安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务service crond stop // 关闭服务service crond restart // 重启服务service crond reload // 重新载入配置 查看 crontab 服务是否已设置为开机启动 systemctl list-unit-files | grep enable | grep crond 将 c

随机推荐