elasticSearch數據庫、skywalking集群部署


Centos6上面安裝elasticsearc數據庫的集群

 

 

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

安裝之前首先需要關閉防火牆

 

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 –永久關閉防火牆

 

 

接下來關閉selinux

查看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目錄

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

 

Elasearch的安裝目錄為:/opt/elasticsearch/elasticsearch-6.3.2

現在我們在上面的三台機器上面安裝elasticsearch的集群環境

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

 

 

 

修改配置文件的內容如下:在elasticsearch.yml配置文件的末尾增加下面的內容:

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"]

 注意有的文章中

network.host設置為0.0.0.0
其他兩台機器的配置內容同113 的配置一樣,只需要修改節點名稱和IP地址就可以了

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

二者集群集群需要注意:並修改一下配置文件的node.name和network.host

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

 

2、集群中配置文件中端口都是一致的都是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

4、啟動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集群已經啟動成功
1、 驗證首先保證elasticSerach集群成功

2、再次保證zk集群啟動成功

3、接下來就可以啟動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服務
1、修改配置
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兩個環境:

1、第一點每一套環境需要對於不同的ApolloConfigDB數據庫,uat要新建一個ApolloConfigDB,dev需要創建部署一個ApolloConfigDB數據庫

2、Portal部署在生產環境的機房,通過它來直接管理FAT、UAT、PRO等環境的配置,uat和dev環境可以共用一個ApolloPortalDB數據庫,所有的環境都通用一個ApolloPortalDB數據庫

3、上面的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環境,設置為如下

 現在首頁要管理多個環境,需要做下面的配置

1、只在數據庫添加環境是不起作用的,還需要為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

 

2、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地址。

3、接下來要修改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目錄,所以一定要保證該目錄具有可讀寫權限

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM