Apollo註冊到自己的Eureka註冊中心+配置中心叢集
阿新 • • 發佈:2021-01-09
技術標籤:Apollo
##重要提示:在任何步驟開始之前,謹記下面的東西##
- 在對apollo-master這個檔案進行處理的時候,要找到資料夾
scripts
下的檔案build.bat
,蘋果使用者請找到build.sh
,並且在最開始的時候執行上述兩個檔案; - 在工程資料夾下,
src--->main--->scripts--->startp.sh
,將裡面的SERVER_PORT
改成自己想要的埠號,修改對用工程之後,重新執行該檔案; - 即使是註冊到自己的註冊中心,也需要執行三個工程檔案:
apollo-adminservice
,apollo-configservice
,apollo-portal
##Apollo註冊到自己的註冊中心步驟##
- 在github上下載壓縮包
apollo-master
,解壓開啟,壓縮包目前是10MB左右大小,如果你下載的是50MB左右大小,說明你下載的是demo檔案,下載錯了; - 用IDE開啟資料夾,我用的是IDEA,如果不能顯示樹狀的工程列表,則關閉idea,進入資料夾,刪除
.idea
檔案重新開啟; - 找到
scripts
下的build.bat
檔案,開啟進行修改,將資料庫使用者名稱密碼寫進響應的位置。儲存,執行。執行之後會發現每個工程檔案下會出現target
資料夾; - 假設已經能夠成功執行,將
apollo-adminservice
資料夾和apollo-configservice
bootstrap.yml
檔案中的註冊中心改成自己的註冊中心,將apollo-portal
下的apollo-env.properties
中的local.meta
改成註冊的地址; - (我不知道是否需要這一步,反正我做了)將所有工程下的
META-INF
資料夾下的app.properties
檔案中的app.id
後面改成對應的名稱,與新建的AppId
相同; - 進入資料庫,
Apoolo--->apolloconfigdb--->serverconfig
第一行的value按照後面的提示改成自己的註冊中心地址; - 原有的註冊中心配置檔案不做改變,新增資料夾
META-INF
,在下面新增app.properties
app.id
和自己的AppId; - (這一步我也不知道需不需要做,按照網上的教程做了)開啟
apollo-master
裡面的apollo-configservice
工程複製貼上metaservice
資料夾到自己的註冊中心工程,解決編譯問題的方法是將原工程下的幾個輔助資料夾生成jar包,新增到註冊中心資料夾。 apollo-configservice
中的ConfigServiceApplication
類的@EnableEurekaServer
註解改成@EnableEurekaClient
,如果沒有就加上。- 註冊中心pom.xml引入apollo-core依賴,application.yml中的eureka.client.fetchRegistry要設為true。如:
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-core</artifactId>
<version>0.10.2</version>
</dependency>
##可能遇到的問題##
- pom大面積爆紅,我是重新解壓的檔案。
- pom部分爆紅,reimport
- 消費者爆出警告:long polled 啥啥啥 failed,幾秒之後重新poll,意思就是
configservice
沒有找到,這時候看看消費者的配置檔案下apollo.meta有沒有寫錯,應該是寫到configservice
的啟動埠,預設應該是8080 apollo-master
下的任何工程執行的時候報錯:url錯誤,讓重新找database,這類錯誤大概率是沒有配置資料庫地址或者資料庫使用者名稱密碼寫錯,沒有寫錯的就重新執行一下指令碼檔案build.bat
,然後重新startup.sh
我遇到所有的問題,都是和配置檔案與指令碼檔案相關的,大家除了錯也可以重點看這兩類檔案
#配置中心叢集#
其實配置中心叢集不難,只需要注意兩個地方即可。
- 新解壓一個apollo的安裝包,將需要更改的檔案按照上述過程更改;
apollo-portal
中將apollo-env.properties
裡面的dev.meta
後面修改為apollo-config
註冊的地址和埠號。
如果不做第二步,有可能當你開啟兩個portal的時候沒問題,但是修改後儲存會報400的錯