1. 程式人生 > 其它 >Apollo註冊到自己的Eureka註冊中心+配置中心叢集

Apollo註冊到自己的Eureka註冊中心+配置中心叢集

技術標籤:Apollo

##重要提示:在任何步驟開始之前,謹記下面的東西##

  1. 在對apollo-master這個檔案進行處理的時候,要找到資料夾scripts下的檔案build.bat,蘋果使用者請找到build.sh,並且在最開始的時候執行上述兩個檔案;
  2. 在工程資料夾下,src--->main--->scripts--->startp.sh,將裡面的SERVER_PORT改成自己想要的埠號,修改對用工程之後,重新執行該檔案;
  3. 即使是註冊到自己的註冊中心,也需要執行三個工程檔案:apollo-adminserviceapollo-configserviceapollo-portal

##Apollo註冊到自己的註冊中心步驟##

  1. 在github上下載壓縮包apollo-master,解壓開啟,壓縮包目前是10MB左右大小,如果你下載的是50MB左右大小,說明你下載的是demo檔案,下載錯了;
  2. 用IDE開啟資料夾,我用的是IDEA,如果不能顯示樹狀的工程列表,則關閉idea,進入資料夾,刪除.idea檔案重新開啟;
  3. 找到scripts下的build.bat檔案,開啟進行修改,將資料庫使用者名稱密碼寫進響應的位置。儲存,執行。執行之後會發現每個工程檔案下會出現target資料夾;
  4. 假設已經能夠成功執行,將apollo-adminservice資料夾和apollo-configservice
    資料夾下的bootstrap.yml檔案中的註冊中心改成自己的註冊中心,將apollo-portal下的apollo-env.properties中的local.meta改成註冊的地址;
  5. (我不知道是否需要這一步,反正我做了)將所有工程下的META-INF資料夾下的app.properties檔案中的app.id後面改成對應的名稱,與新建的AppId相同;
  6. 進入資料庫,Apoolo--->apolloconfigdb--->serverconfig第一行的value按照後面的提示改成自己的註冊中心地址;
  7. 原有的註冊中心配置檔案不做改變,新增資料夾META-INF,在下面新增app.properties
    檔案,並且寫上app.id和自己的AppId;
  8. (這一步我也不知道需不需要做,按照網上的教程做了)開啟apollo-master裡面的apollo-configservice工程複製貼上metaservice資料夾到自己的註冊中心工程,解決編譯問題的方法是將原工程下的幾個輔助資料夾生成jar包,新增到註冊中心資料夾。
  9. apollo-configservice中的ConfigServiceApplication類的@EnableEurekaServer註解改成@EnableEurekaClient,如果沒有就加上。
  10. 註冊中心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>

##可能遇到的問題##

  1. pom大面積爆紅,我是重新解壓的檔案。
  2. pom部分爆紅,reimport
  3. 消費者爆出警告:long polled 啥啥啥 failed,幾秒之後重新poll,意思就是configservice沒有找到,這時候看看消費者的配置檔案下apollo.meta有沒有寫錯,應該是寫到configservice的啟動埠,預設應該是8080
  4. apollo-master下的任何工程執行的時候報錯:url錯誤,讓重新找database,這類錯誤大概率是沒有配置資料庫地址或者資料庫使用者名稱密碼寫錯,沒有寫錯的就重新執行一下指令碼檔案build.bat,然後重新startup.sh

我遇到所有的問題,都是和配置檔案與指令碼檔案相關的,大家除了錯也可以重點看這兩類檔案

#配置中心叢集#
其實配置中心叢集不難,只需要注意兩個地方即可。

  1. 新解壓一個apollo的安裝包,將需要更改的檔案按照上述過程更改;
  2. apollo-portal中將apollo-env.properties裡面的dev.meta後面修改為apollo-config註冊的地址和埠號。
    如果不做第二步,有可能當你開啟兩個portal的時候沒問題,但是修改後儲存會報400的錯