首頁 > 軟體

詳解JavaEE中Apollo安裝使用小結

2022-03-09 13:00:41

說明:

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安裝 使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com