elasticSearch數據庫、skywalking集羣部署

Centos6上面安裝elasticsearc數據庫的集羣java

 

 

安裝的是6.3.2版本,安裝以前首先要先安裝jdk1.8版本node

安裝以前首先須要關閉防火牆mysql

 

Centos6
    sudo service iptables start/stop/status
    sudo chkconfig iptables off/--list  –永久關閉防火牆
Centos7
    sudo systemctl stop/start/status firewalld.service
    sudo systemctl disable firewalld.service –永久關閉防火牆

 

 

接下來關閉selinuxlinux

查看Selinux的狀態
/usr/sbin/sestatus –v
SELinux status:                 enabled
若是SELinux status參數爲enabled即爲開啓狀態,須要進行下面的關閉操做。
關閉SElinux
sudo vim /etc/selinux/config
在文檔中找到SELINUX,將SELINUX的值設置爲disabled,即:
SELINUX=disabled
在內存中關閉SElinux
setenforce 0
檢查內存中狀態
getenforce
若是日誌顯示結果爲disabled或者permissive,說明操做已經成功。

 

咱們將elasticserach解壓到/opt/elasticsearch目錄git

mkdir -p /opt/elasticsearch
tar -zxvf elasticsearch-6.3.2.tar.gz -C /opt/elasticsearch

 

Elasearch的安裝目錄爲:/opt/elasticsearch/elasticsearch-6.3.2程序員

如今咱們在上面的三臺機器上面安裝elasticsearch的集羣環境github

在192.168.42.113這臺機器上面修改elasticSearch的配置文件修改elasticsearch.yml配置文件web

 

 

 

修改配置文件的內容以下:在elasticsearch.yml配置文件的末尾增長下面的內容:spring

cluster.name: tipdm-es #es集羣名稱

node.name: es-node3    #es節點名稱,每一個節點的名稱不能相同

node.master: true      #指定該節點是否有資格被選舉成爲master,默認是true

node.data: true        #指定該節點是否存儲索引數據,默認爲true。

network.host: 192.168.43.113  #節點的ip地址

#設置集羣中master節點的初始列表,能夠經過這些節點來自動發現新加入集羣的節點

discovery.zen.ping.unicast.hosts: ["192.168.43.112", "192.168.43.113", "192.168.43.111"]

#設置這個參數來保證集羣中的節點能夠知道其它N個有master資格的節點。默認爲1,對於大的集羣來講,能夠設置大一點的值(2-4)

discovery.zen.minimum_master_nodes: 2 

#若是要使用head,那麼須要設置下面2個參數,使head插件能夠訪問es

http.cors.enabled: true

http.cors.allow-origin: "*"

#這是Centos6不支持SecComp,而ES默認bootstrap.system_call_filter爲true進行檢測,因此致使檢測失敗,失敗後直接致使ES不能啓動。

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

#若是安裝x-pack插件,咱們取消他的basic認證,須要添加如下選項
xpack.security.enabled: false
xpack.ml.enabled: false
path.data: /opt/elasticsearch/elasticsearch-6.3.2/data   #數據文件存儲路徑
path.logs: /opt/elasticsearch/elasticsearch-6.3.2/logs    #log文件存儲路徑
#elasticsearch備份位置,路徑要手動建立
path.repo: ["/opt/elasticsearch/elasticsearch-6.3.2/data/backups"]

 注意有的文章中sql

network.host設置爲0.0.0.0
其餘兩臺機器的配置內容同113 的配置同樣,只須要修改節點名稱和IP地址就能夠了

注意配置文件都是yml格式,key和value之間存在空格

兩者集羣集羣須要注意:並修改一下配置文件的node.name和network.host

一、集羣的名稱在兩個配置文件都同樣都是cluster.name: tipdm-es #es集羣名稱

 

二、集羣中配置文件中端口都是一致的都是9200

 

不一樣的地方在於每一個集羣中節點的名稱不能同樣並修改一下配置文件的node.name和network.host

node.name: es-node2    #es節點名稱,每一個節點的名稱不能相同

network.host: 192.168.43.111  #節點的ip地址

因爲root用戶啓動elasticsearch會報錯,因此要建立一個用戶,這裏建立elasticsearch用戶,更改elasticsearch-6.3.2目錄的所屬用戶和組爲elasticsearch。執行如代碼 2‑5所示的命令。

useradd elasticsearch
passwd elasticsearch
chown -R elasticsearch:elasticsearch /opt/elasticsearch/

此外爲避免ES啓動報錯,須要調整一下系統設置。首先打開/etc/security/limits.conf

vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

同時還須要修改vim /etc/sysctl.conf

vi  /etc/sysctl.conf文件,在文件末尾添加「vm.max_map_count=655360」

執行了上面的命令以後要執行接着執行命令「sysctl -p」更新上面的操做

接下來就能夠啓動elasSearch數據庫了,切換elasticsearch用戶,啓動測試,執行如代碼 2‑6所示的命令

每一臺設備都要單獨啓動

前臺啓動 
$ ./elasticsearch 

後臺啓動 -d爲守護進程運行
$ ./elasticsearch –d
$ ./elasticsearch & # 使用這種方式他會打印日誌在前臺

啓動的時候若是報下面的錯誤

unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86/libjnidispatch.so) not found

解決辦法以下,首先進入到elasticSearch的lib目錄下

 

 咱們看到該目錄下存在一個jna-4.5.1.jar,整個jar包存在問題,咱們要到官網上下載一個最新的jar包,而後上傳到改lib目錄下

作以前咱們先備份

 mv jna-4.5.1.jar jna-4.5.1.jar.bak  (以bin目錄的文件爲準,不必定是4.5.1)
 而後從新下載該文件  在lib目錄內 :
 wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.1/jna-4.5.1.jar  (根據你以前看到的版本號改動)

這樣elasticSearch集羣就部署好了

skywalking配置elasticSearch數據庫集羣的時候,配置以下就能夠了,在skywalking的配置文件中以下

elasticsearch:
    nameSpace: ${SW_NAMESPACE:"tipdm-es"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.43.111:9200,192.168.43.112:9200,192.168.43.113:9200}
    user: ${SW_ES_USER:""}

其中主要修改 clusterName 和 clusterNodes 要和上面配置的 elasticsearch 配置一致。

接下來skywalking集羣環境的搭建

Skywalking集羣部署首先要讓zookeeper進行集羣配置

 

 

mkdir -p /opt/zookeeper
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/zookeeper

接下進行zookeer的集羣配置,搭建zookeeper集羣須要最少三臺機器,須要安裝jdk做爲基礎支持。這次使用的Zookeeper3.4.7版本

進入conf目錄,複製zoo-sample.cfg重命名爲zoo.cfg,經過修改zoo.cfg來對zookeeper進行配置。這個名字固定寫死,由於zookeeper啓動會檢查這個文件,根據這個配置文件裏的信息來啓動服務。

 

 

mv zoo_sample.cfg  zoo.cfg
vi zoo.cfg

在文件的末尾添加下面的內容

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181
server.1=192.168.43.111:2888:3888
server.2=192.168.43.112:2888:3888
server.3=192.168.43.113:2888:3888

dataDir:指定zookeeper將數據保存在哪一個目錄下

erver.1=xxx.xxx.xxx.xxx:2888:3888
server.2=xxx.xxx.xxx.xxx:2888:3888
server.3=xxx.xxx.xxx.xxx:2888:3888
在配置文件末尾加上這三行,ip填寫本身規劃的ip便可,zookeeper服務默認的端口號爲2888和3888,也可將/etc/hosts文件添加主機和ip映射,將此處的ip寫成主機名稱。

說明:2888原子廣播端口,3888選舉端口,zookeeper有幾個節點,就配置幾個server。說明:2888原子廣播端口,3888選舉端口,zookeeper有幾個節點,就配置幾個server。

接下來,到 到以前配置的zookeeper數據文件所在的目錄下生成一個文件叫myid,以前的data目錄在/opt/zookeeper/data在改目錄下生成一個myid的文件

 

 

到以前配置的zookeeper數據文件所在的目錄下生成一個文件叫myid,其中寫上一個數字代表當前機器是哪個編號的機器。
vim myid
1
注意:文件名稱必須是myid,文件內容只須要一個數字即服務器列表中當前服務器的編號。1表示當前節點的變化,其餘兩個節點的編號就是2或3,不能與1相同

3.拷貝
將以上Zookeeper文件夾遠程拷貝到另外兩臺服務器中:

分發安裝包
#將配置好的zookeeper拷貝到其餘節點

scp -r ./zookeeper/ root@192.168.43.112:/opt
scp -r ./zookeeper/ root@192.168.43.113:/opt
而後修改另外兩臺服務器中的myid文件中的id便可。
#yun02
vim myid
2

#yun03
vim myid
3

四、啓動zookeeper
啓動zookeeper的各類命令操做以下,可使用絕對路徑操做這些命令,也可以使用相對路徑操做這些命令,相對路徑須要進到zookeeper服務的bin目錄進行操做。
#啓動ZK服務:
bin/zkServer.sh start
#中止ZK服務:
bin/zkServer.sh stop
#重啓ZK服務:
bin/zkServer.sh restart
#查看ZK服務狀態:
bin/zkServer.sh status
Zookeeper集羣須要每臺挨個啓動。
能夠是用jps命令查看線程。
啓動集羣的時候,集羣數量啓動沒有超過一半,狀態會有錯誤提示,當集羣啓動數量超過一半就會自動轉爲正常狀態,而且此臺使集羣進入正常工做狀態的服務器會成爲leader角色,集羣中其餘服務器的角色爲fllower。

 

 

這樣就表示zookeeper的集羣部署成功了
Zk 的集羣搭建成功以後,接下來就是搭建skywalking collect集羣

這樣就表示zookeeper的集羣部署成功了
Zk 的集羣搭建成功以後,接下來就是搭建skywalking collect集羣

zk安裝成功以後,接下來就要進行skywalking的安裝

 

 

咱們下載6.3.0版本

接下來,進行解壓安裝操做,執行下面的命令

mkdir -p /opt/skywalking
tar -zxvf apache-skywalking-apm-6.3.0.tar.gz -C /opt/skywalking

第一步:接下來要修改skywalking collect的配置,配置ES 存儲監控數據(推薦)

將儲存方式由 h2 修改成 elasticsearch:

 

 

 修改application.yml文件

咱們最好把application.yml文件下載到本地電腦上以後,再進行修改,修改完成以後在上傳到服務器上面去,將h2數據庫的信息註釋掉,將elasticsearch數據庫的信息打開,其中

 

 

 

 接下來elasticSearch數據庫配置成功以後,接下來在aplication.yml文件中配置zk集羣信息

接下來要配置collect與zookeeper的信息

 

 這裏必定要將standalone單節點整個信息註解掉,將zookeeper這個節點信息打開

配置好以後將skywalking拷貝到其餘節點上面

[root@localhost opt]# scp -r ./skywalking/ root@192.168.43.113:/opt
接下來就能夠在192.168.43.111和192.168.43.113這兩臺機器上面啓動skywalking了
啓動skywalking以前保證elasticsearch集羣已經啓動成功,zookeeper集羣已經啓動成功
一、 驗證首先保證elasticSerach集羣成功

二、再次保證zk集羣啓動成功

三、接下來就能夠啓動skywalking的collect了

啓動有下面的兩種方式

第一種方式只啓動collect服務

啓動collector服務
#初始化
cd /opt/skywalking/bin/
./oapServiceInit.sh

#啓動collector服務
./oapService.sh

第二種方式

You can use bin/startup.sh(or cmd) 

這裏skywalking的collect集羣就搭建成功了

接下來要配置的是skywalking的agent和web的配置

探針的配置 修改agent.config配置以下:
vim /opt/skywalking/agent/config/agent.config
-------------------------------------------------------------
agent.service_name=Your_ApplicationName  #改成你的項目名字
collector.backend_service=192.168.43.111:11800   #collector的端口服務地址;
logging.level=info

單節點的地址就只配置一個collect的地址,若是是集羣就要設置以下

collector.backend_service=192.168.43.111:11800,192.168.43.113   #collector的端口服務地址;

這裏端口11800是agent與collect進行grpc協議通訊的端口地址

•    Storage, use H2 by default, in order to make sure, don't need further deployment.
•    Backend listens 0.0.0.0/11800 for gRPC APIs and 0.0.0.0/12800 for http rest APIs. In Java, .NetCore, Node.js, Istio agents/probe, set the gRPC service address to ip/host:11800. (ip/host is where the backend at)
•    UI listens 8080 port and request 127.0.0.1/12800 to do GraphQL query.

接下來就能夠啓動agent

3、啓動Agent
•    基於Tomcat的服務(SpringMvc)
在tomcat的bin目錄下的catalina.sh中增長以下命令行
•    CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/skywalking/agent/skywalking-agent.jar"
export CATALINA_OPTS
•    基於JAR file的服務(SpringBoot)
在啓動你的應用程序的命令行中添加 -javaagent 參數. 並確保在-jar參數以前添加它. 例如:
java -javaagent:/opt/skywalking/agent/skywalking-agent.jar -jar yourApp.jar

 

啓動agent必定是絕對目錄

 

 

例如上面skywalking-agent.jar位於C:\Users\Administrator\Desktop\skywalkingdubbo\apache-skywalking-apm-6.1.0\apache-skywalking-apm-bin\agent目錄下,啓動的時候

會讀取config目錄下面的agent.confg配置文件

 

 必定要注意

java -javaagent:後面必定要給skywalking-agent.jar的絕對目錄,而且要保證skywalking-agent.jar可以讀取到config目錄下的agent.config配置文件,因此不要講skywalking-agent.jar拷貝到
其餘目錄,這樣會致使skywalking-agent.jar啓動的時候讀取不到agent.config配置文件

agent.config配置文件修改完成以後,接下來咱們要修改skywalking的頁面中webapp.xml的配置

 

 

配置 Skywalking Web服務
一、修改配置
cd /opt/skywalking/webapp
# 修改webapp.yml 文件配置以下:

server:
  port: 8080
collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 192.168.43.111:12800,192.168.43.113:12800
security:
  user:
    # username
    admin:
      # password
      password:  <your_pass>    #此處修改你的網站管理員密碼

這裏12800就是collect 暴露出來讓頁面UI查詢收集的數據的端口,頁面經過path: /graphql這個接口來訪問,頁面訪問的時候經過ribbon負載均衡的策略隨機的訪問到某一臺collect,這裏能夠配置ribbon訪問collect的超時時間ReadTimeout: 10000

這樣整個skywalking和elasticSearch數據庫的集羣就設置完成了。

還要下面幾個注意點須要特別的注意:

注意點:
關於採樣設置的一點注意事項

關於服務採樣配置的一點建議,若是Collector以集羣方式部署,好比:Acollector和Bcollector,建議Acollector.sampleRate = Bcollector.sampleRate。若是採樣率設置不相同可能會出現數據丟失問題。

 

 

 

假設Agent端將全部數據發送到後端Collector處,A採樣率設置爲30%,B採樣率爲50%。

假設有30%的數據,發送到A上,這些數據被所有正確接受並存儲,極端狀況(與指望的採樣數據量相同)下,若是剩下20%待採樣的數據發送到了B,這個時候一切都是正常的,若是這20%中有一部分數據被送到了A那麼,這些數據將是被忽略的,由此就會形成數據丟失。

設定採樣率在application.yml中的receiver-trace接受者中,你能夠找到sampleRate設置。

 

 此外還有須要注意的是:須要特別注意的是:elasticSearch服務器的時候必須和安裝skywalking collect、agent服務器的時間

保持一致不然會出現數據沒法出來的問題,1. 修改系統的時區,保證skywalking colle、和客戶端的Agent的、elasticSearch數據庫三者的時區保持一致

 

接下來咱們搭建apollo的集羣環境

Apollo分佈式配置中心部署以及使用,第一步到官網上面去下載apollo ,https://github.com/ctripcorp/apollo

比較重要的幾個項目:
• apollo-configservice:提供配置獲取接口,提供配置更新推送接口,接口服務對象爲Apollo客戶端
• apollo-adminservice:提供配置管理接口,提供配置修改、發佈等接口,接口服務對象爲Portal,以及Eureka
• apollo-portal:提供Web界面供用戶管理配置
• apollo-client:Apollo提供的客戶端程序,爲應用提供配置獲取、實時更新等功能

上圖簡要描述了配置發佈的大體過程:
• 用戶在Portal操做配置發佈
• Portal調用Admin Service的接口操做發佈
• Admin Service發佈配置後,發送ReleaseMessage給各個Config Service
• Config Service收到ReleaseMessage後,通知對應的客戶端

 

 這裏咱們直接下載安裝包,不經過源碼進行構建

 

 咱們能夠看到能夠直接使用的安裝包有上面的三個,一個是adminService、一個是configservice。一個是portal首頁

Apoll安裝的時候對數據庫有要求
Mysql要求5.6.5版本以上
Java jdk要求 1.8以上
接下來咱們安裝數據庫

Apollo服務端共須要兩個數據庫:ApolloPortalDB和ApolloConfigDB,其中portal進程使用數據庫ApolloPortalDB,adminService和configservice共用數據庫ApolloConfigDB

須要注意的是ApolloPortalDB只須要在生產環境部署一個便可,而ApolloConfigDB須要在每一個環境部署一套,如fat、uat和pro分別部署3套ApolloConfigDB。

咱們先來看集羣部署須要注意的事項

 

 上面首先由兩套環境uat、dev兩個環境:

一、第一點每一套環境須要對於不一樣的ApolloConfigDB數據庫,uat要新建一個ApolloConfigDB,dev須要建立部署一個ApolloConfigDB數據庫

二、Portal部署在生產環境的機房,經過它來直接管理FAT、UAT、PRO等環境的配置,uat和dev環境能夠共用一個ApolloPortalDB數據庫,全部的環境都通用一個ApolloPortalDB數據庫

三、上面的uat環境中,若是如今有兩臺服務server1和serve2,咱們要在這兩臺機器上面實現集羣,咱們這樣作

Meta Server和Config Service部署在同一個JVM進程內,Admin Service部署在同一臺服務器的另外一個JVM進程內

在server1上面運行一個config service的進程,運行一個admin service的進程

在server2上面運行一個config service的進程,運行一個admin service的進程

這樣集羣就部署好了,對於potal首頁的進程,咱們也能夠部署多個進程,可是這些進程都是訪問同一個數據庫

 集羣部署好了以後,咱們須要作對於的配置

分佈式部署的時候,apollo-configservice和apollo-adminservice須要把本身的IP和端口註冊到Meta Server(apollo-configservice自己)。

Apollo客戶端和Portal會從Meta Server獲取服務的地址(IP+端口),而後經過服務地址直接訪問。

 

 

接下來咱們開始建立數據庫

建立ApolloPortalDB,能夠根據實際狀況選擇經過手動導入SQL,文件位於

以MySQL原生客戶端爲例:
source /your_local_path/portaldb/V1.0.0__initialization.sql

 

 

咱們用Navicat執行該腳本

 

 

這裏portal首頁對於的數據庫就建立成功了

 接下來建立ApolloConfigDB,能夠根據實際狀況選擇經過手動導入SQL

scripts/db/migration/configdb/V1.0.0__initialization.sql
以MySQL原生客戶端爲例:
source /your_local_path/configdb/V1.0.0__initialization.sql

 

 

這裏兩個數據庫就建立成功了
注意:注:ApolloConfigDB須要在每一個環境部署一套,如fat、uat和pro分別部署3套ApolloConfigDB,PortalConfigDB fat、uat和pro三者共用一個數據庫,不須要部署多套
在數據庫安裝完成以後,在正式部署以前,須要對數據庫中的一些具體的參數進行調整,Apollo自身的一些配置是放在數據庫裏面的,因此須要針對實際狀況作一些調整。

調整ApolloPortalDB配置
配置項統一存儲在ApolloPortalDB.ServerConfig表中,也能夠經過管理員工具 - 系統參數頁面進行配置,無特殊說明則修改完一分鐘實時生效。
1.apollo.portal.envs - 可支持的環境列表
默認值是dev,若是portal須要管理多個環境的話,以逗號分隔便可(大小寫不敏感),如:
DEV,FAT,UAT,PRO

 

 

若是還有支持FAT環境,設置爲以下

 如今首頁要管理多個環境,須要作下面的配置

一、只在數據庫添加環境是不起做用的,還須要爲apollo-portal添加新增環境對應的meta server地址

Apollo Portal須要在不一樣的環境訪問不一樣的meta service(apollo-configservice)地址,因此咱們須要在配置中提供這些信息。默認狀況下,meta service和config service是部署在同一個JVM進程,因此meta service的地址就是config service的地址。

使用程序員專用編輯器(如vim,notepad++,sublime等)打開apollo-portal-x.x.x-github.zip中config目錄下的apollo-env.properties文件。

假設DEV的apollo-configservice未綁定域名,地址是1.1.1.1:8080,FAT的apollo-configservice綁定了域名apollo.fat.xxx.com,UAT的apollo-configservice綁定了域名apollo.uat.xxx.com,PRO的apollo-configservice綁定了域名apollo.xxx.com,那麼能夠以下修改各環境meta service服務地址,格式爲${env}.meta=http://${config-service-url:port},若是某個環境不須要,也能夠直接刪除對應的配置項(如lpt.meta):

dev.meta=http://1.1.1.1:8080
fat.meta=http://apollo.fat.xxx.com
uat.meta=http://apollo.uat.xxx.com
pro.meta=http://apollo.xxx.com

注意dev中config service也能夠部署多個實現集羣,這裏須要將配置修改成

http://1.1.1.1:8080,http://2.2.2.2:8080

 

二、apollo-client在新的環境下使用時也須要作好相應的配置

經過Spring Boot的配置文件
能夠在Spring Boot的application.properties或bootstrap.properties中指定apollo.meta=http://config-service-url

 

2.organizations - 部門列表
Portal中新建的App都須要選擇部門,因此須要在這裏配置可選的部門信息,樣例以下:

[{"orgId":"TEST1","orgName":"樣例部門1"},{"orgId":"TEST2","orgName":"樣例部門2"}]

 

接下來,咱們須要調整 調整ApolloConfigDB配置的配置,重點在於修改ServerConfig表中,修改完成後生效

不一樣的環境須要對本身環境的ApolloConfigDB數據庫下面的ServerConfig表進行修改

 

 主要是在表中配置註冊中心的地址。就是config service進程的地址,默認config service端口是8080,若是dev上面部署了多個config  serice進程

上面數據庫表中填寫以下:

在DEV環境的ApolloConfigDB.ServerConfig表中設置eureka.service.url爲:中間用逗號隔開
http://1.1.1.1:8080/eureka/,http://2.2.2.2:8080/eureka/

注意這裏在數據庫中必定要填寫本環境中所有config service進程的地址

注1:這裏須要填寫本環境中所有的eureka服務地址,由於eureka須要互相複製註冊信息

注2:注2:若是但願將Config Service和Admin Service註冊到公司統一的Eureka上,那這裏就要填寫公司統一的Eureka集羣的地址,不要忘了/eureka/

不過有些公司本身已經有了一套Eureka,若是但願把Apollo的Config Service和Admin Service也註冊過去實現統一管理的話,能夠按照以下步驟操做:

1. 配置Config Service不啓動內置Eureka Server

1.1 1.5.0及以上版本

爲apollo-configservice配置apollo.eureka.server.enabled=false便可,經過bootstrap.yml或-D參數等方式皆可。

1.2 1.5.0以前的版本

修改com.ctrip.framework.apollo.configservice.ConfigServiceApplication,把@EnableEurekaServer改成@EnableEurekaClient

@EnableEurekaClient
@EnableAspectJAutoProxy @EnableAutoConfiguration // (exclude = EurekaClientConfigBean.class) @Configuration @EnableTransactionManagement @PropertySource(value = {"classpath:configservice.properties"}) @ComponentScan(basePackageClasses = {ApolloCommonConfig.class, ApolloBizConfig.class, ConfigServiceApplication.class, ApolloMetaServiceConfig.class}) public class ConfigServiceApplication { ... }

2. 修改ApolloConfigDB.ServerConfig表中的eureka.service.url,指向本身的Eureka地址

好比本身的Eureka服務地址是1.1.1.1:8761和2.2.2.2:8761,那麼就將ApolloConfigDB.ServerConfig表中設置eureka.service.url爲:

http://1.1.1.1:8761/eureka/,http://2.2.2.2:8761/eureka/

須要注意的是更改Eureka地址只須要改ApolloConfigDB.ServerConfig表中的eureka.service.url便可,不須要修改meta server地址。默認狀況下,meta service和config service是部署在同一個JVM進程,因此meta service的地址就是config service的地址,修改Eureka地址時不須要修改meta server地址。

三、接下來要修改config service 進程訪問數據庫的配置,配置apollo-configservice的數據庫鏈接信息

解壓apollo-configservice-x.x.x-github.zip
用程序員專用編輯器(如vim,notepad++,sublime等)打開config目錄下的application-github.properties文件
填寫正確的ApolloConfigDB數據庫鏈接串信息,注意用戶名和密碼後面不要有空格!
修改完的效果以下:

# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd

注:因爲ApolloConfigDB在每一個環境都有部署,因此對不一樣的環境config-service須要配置對應環境的數據庫參數

4.配置apollo-adminservice的數據庫鏈接信息

解壓apollo-adminservice-x.x.x-github.zip
用程序員專用編輯器(如vim,notepad++,sublime等)打開config目錄下的application-github.properties文件
填寫正確的ApolloConfigDB數據庫鏈接串信息,注意用戶名和密碼後面不要有空格!
修改完的效果以下:

# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd

注:因爲ApolloConfigDB在每一個環境都有部署,因此對不一樣的環境admin-service須要配置對應環境的數據庫參數

5.配置apollo-portal的數據庫鏈接信息

解壓apollo-portal-x.x.x-github.zip
用程序員專用編輯器(如vim,notepad++,sublime等)打開config目錄下的application-github.properties文件
填寫正確的ApolloPortalDB數據庫鏈接串信息,注意用戶名和密碼後面不要有空格!
修改完的效果以下:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd

 

上面就完成所有的配置了,接下來咱們就能夠啓動apollo了

咱們首先啓動config service進程

 

 

 而後在啓動admin service 進程,最後在去啓動portal,apollo啓動成功以後數據會默認放在/opt目錄,因此必定要保證該目錄具備可讀寫權限

相關文章
相關標籤/搜索