詳解JavaEE中Apollo安裝使用小結
說明:
Apollo是配置管理中心,和SpringCloud-Config實現(xiàn)的功能有點相似。
一、安裝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.創(chuàng)建ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫:
(1)使用Navicat連接mysql5,創(chuàng)建ApolloPortalDB、ApolloConfigDB數(shù)據(jù)庫:
注:ApolloPortalDB在生產(chǎn)環(huán)境部署,而ApolloConfigDB需要每個環(huán)境部署一套。
(2)導入apolloportaldb.sql到ApolloPortalDB數(shù)據(jù)庫(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloPortalDB數(shù)據(jù)庫,運行 SQL 文件,選擇apolloportaldb.sql,點開始按鈕。
(3)導入apolloconfigdb.sql到ApolloConfigDB數(shù)據(jù)庫(sql文件在apollo-quick-start-1.9.2/sql目錄中):
使用Navicat右擊ApolloConfigDB數(shù)據(jù)庫,運行 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數(shù)據(jù)庫連接信息:
[root@localhost apollo]# vi demo.sh
修改如下內(nèi)容:
#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中創(chuàng)建應用:
(1)在首頁,點左上角"創(chuàng)建應用",輸入AppId值等(此處AppId與待接入應用application.yml的app.id對應):
(2)進入創(chuàng)建的應用,點擊Key/Value列表的右上角"新增配置",添加Key和Value:
(3)創(chuàng)建Key+Value后,回到Key/Value列表中,點右上角靠左的"發(fā)布"按鈕生效:
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網(wǎng)頁上創(chuàng)建項目時定義的應用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首頁-管理密鑰中創(chuàng)建密鑰 property: names: cache: enable: true #開啟propertyNames緩存 bootstrap: enabled: true #開啟 Apollo namespaces: application #可以注入多個命名空間,以逗號分隔 #eagerLoad: # enabled: true #將apollo初始化放在日志系統(tǒng)初始化之前
(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環(huán)境+地址參數(shù):
(1)IntelliJ IDEA方式,Edit Configurations -> 左側(cè)Application中選中ApolloApplication,右側(cè)Configuration選項卡中,在VM options中填入:
-Dapollo.meta=http://192.168.233.128:8080 -Denv=dev
(2)運行jar包方式,展開IntelliJ IDEA右側(cè)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值,重新發(fā)布,再刷新以下接口,可以看到值已經(jīng)變成新的了):
http://192.168.233.128:10006/user
到此這篇關于詳解JavaEE中Apollo安裝使用的文章就介紹到這了,更多相關JavaEE Apollo安裝 使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- JavaEE線程安全實現(xiàn)線程池方法
- JavaEE的進程,線程和創(chuàng)建線程的5種方式詳解
- 2020新版idea創(chuàng)建項目沒有javaEE 沒有Web選項的完美解決方法
- JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis
- JavaEE Spring MyBatis如何一步一步實現(xiàn)數(shù)據(jù)庫查詢功能
- JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能
- 詳解Javaee Dao層的抽取
- 詳解JavaEE 使用 Redis 數(shù)據(jù)庫進行內(nèi)容緩存和高訪問負載
- JNDI在JavaEE中的角色_動力節(jié)點Java學院整理
- JavaEE線程安全定時器模式任務
相關文章
淺談maven 多環(huán)境打包發(fā)布的兩種方式
這篇文章主要介紹了淺談maven 多環(huán)境打包發(fā)布的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08Thymeleaf渲染網(wǎng)頁時中文亂碼的問題及解決
這篇文章主要介紹了Thymeleaf渲染網(wǎng)頁時中文亂碼的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Java?C++算法題解leetcode801使序列遞增的最小交換次數(shù)
這篇文章主要為大家介紹了Java?C++題解leetcode801使序列遞增的最小交換次數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10java中的equals()和toString()方法實例詳解
這篇文章主要介紹了java中的equals()和toString()方法實例詳解的相關資料,這里舉例說明,并附實例代碼,和實現(xiàn)效果圖,需要的朋友可以參考下2016-11-11詳解Java LinkedHashMap與HashMap的使用
這篇文章主要通過幾個示例為大家詳細介紹了Java中LinkedHashMap與HashMap的常見使用和概述,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2022-10-10Java微信公眾平臺開發(fā)(9) 關鍵字回復以及客服接口實現(xiàn)
這篇文章主要為大家詳細介紹了Java微信公眾平臺開發(fā)第九步,關鍵字回復以及客服接口實現(xiàn),以及遇到該公眾號暫時無法提供服務的解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04