分佈式skywalking安裝部署總結

1、服務器配置

  1. 服務器規劃
    在這裏插入圖片描述

2 skywalking服務端安裝

2.1 zookeeper安裝

2.1.1 jdk安裝

	在服務器上安裝jdk1.8,由於系統模板已經集成jdk 1.8.0_221,這裏不在單獨安裝

2.1.2 獲取zookeeper安裝程序

將安裝程序分別上傳到zookeeper服務器的/workspaces目錄下

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

2.1.3 解壓zookeeper應用到/root目錄下

tar zxvf  apache-zookeeper-3.5.5-bin.tar.gz  -C /root

2.1.4 配置zookeeper

修改如下:

tickTime=2000
dataLogDir=/var/zookeeper/logs
dataDir=/var/zookeeper/data
clientPort=2181
initLimit=10
syncLimit=5
autopurge.snapRetainCount=500
autopurge.purgeInterval=24
server.1=zk服務1ip:2888:3888
server.2= zk服務2ip:2888:3888
server.3= zk服務3ip:2888:3888
 cd /root/apache-zookeeper-3.5.5-bin/conf
 cp zoo_sample.cfg zoo.cfg
 vim zoo.cfg

配置詳細說明請參考:

https://www.cnblogs.com/guohu/p/10766465.html

配置集羣信息是存在一定的格式:service.N =YYY: A:B
N:代表服務器編號(也就是myid裏面的值)
YYY:服務器地址
A:表示 Flower 跟 Leader的通信端口,簡稱服務端內部通信的端口(默認2888)
B:表示 是選舉端口(默認是3888)

參考文檔:

https://blog.csdn.net/milhua/article/details/78931672

2.1.5 生成數據文件目錄和myid文件

在每個zookeeper節點上創建zookeeper的數據目錄,並且在數據目錄下創建myid文件,文件中存放當前節點的server-id,
下面命令中server-id,根據節點信息調整

 mkdir -p /var/zookeeper/data && echo “1”> /var/zookeeper/data/myid

2.1.6 啓動zookeeper

進入到/root/apache-zookeeper-3.5.5-bin/bin/下啓動 zookeeper

cd  /root/apache-zookeeper-3.5.5-bin/bin
./zkServer.sh start

2.1.7 測試

 cd  /root/apache-zookeeper-3.5.5-bin/bin
 ./zkCli.sh -server 集羣機器1IP地址:2181,集羣機器2IP地址:2181,集羣機器3IP地址:2181
 ./zkServer.sh status

2.2 elasticsraech安裝

2.2.1 jdk安裝

在服務器上安裝jdk1.8,由於系統模板已經集成jdk 1.8.0_221,這裏不在單獨安裝

2.2.2 獲取elasticsearch 安裝程序

將安裝程序上傳到elasticsearch服務器的/workspaces目錄下

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-x86_64.rpm

2.2.3 安裝elasticsearch

Yum install -y elasticsearch-7.5.1-x86_64.rpm

2.2.4 配置elasticsearch集羣

只需要根據實際情況修改node.name 即可

cluster.name: skywalking
node.name: P-MAINTENANCE-SKY-ZK-ES-229
node.master: true
node.data: true 
path.data: /var/elasticsearch/data
path.logs: /var/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["es服務器ip1", " es服務器ip2", " es服務器ip3"]
cluster.initial_master_nodes: ["P-MAINTENANCE-SKY-ZK-ES-229", "P-MAINTENANCE-SKY-ZK-ES-230", "P-MAINTENANCE-SKY-ZK-ES-231"]
discovery.zen.minimum_master_nodes: 2
 cd /etc/elasticsearch/
 vim elasticsearch.yml

es詳細配置參數說明(https://blog.csdn.net/yjclsx/article/details/81319454
https://my.oschina.net/Yumikio/blog/805877)

2.2.5 配置jvm信息

注意:初始化和最大必須一樣否則無法啓動
cd /etc/elasticsearch/
 vim jvm.options
-Xms4g 
-Xmx4g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.io.tmpdir=${ES_TMPDIR}
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/elasticsearch
-XX:ErrorFile=/var/elasticsearch/logs/hs_err_pid%p.log
9-:-Xlog:gc*,gc+age=trace,safepoint:file=/var/elasticsearch/logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m

具體說明:https://www.cnblogs.com/hapjin/archive/2019/07/12/11135187.html

2.2.6 創建相關目錄

創建elasticsearch的數據目錄和日誌目錄並設置權限

 mkdir -p  /var/elasticsearch/data
 mkdir -p  /var/elasticsearch/logs
 chowm -R elasticsearch: elasticsearch /var/elasticsearch

2.2.7 啓動服務

 systemctl start elasticsearch

2.2.8 驗證服務

curl 主節點ip:9200/_cluster/stats?pretty
 curl 主節點ip:9200/_nodes/process?pretty

2.3 skywalkingcollector安裝

2.3.1 jdk安裝

在服務器上安裝jdk1.8,由於系統模板已經集成jdk 1.8.0_221,這裏不在單獨安裝

2.3.2 獲取安裝文件

將安裝程序上傳到collector服務器的/workspaces目錄下

wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz

2.3.3 解壓collector到/root目錄

tar zxvf apache-skywalking-apm-es7-6.6.0.tar.gz -C /root

2.3.4 配置collector連接zookeeper

cluster下注釋掉standalone,打開zookeeper相關,並配置zookeeper集羣地址

	cluster:
	  zookeeper:
	    nameSpace: ${SW_NAMESPACE:""}
	    hostPort: ${SW_CLUSTER_ZK_HOST_PORT:zk服務器IP地址1:2181,zk服務器IP地址2:2181,zk服務器IP地址3:2181}
	    # Retry Policy
	    baseSleepTimeMs: 1000 # initial amount of time to wait between retries
	    maxRetries: 3 # max number of times to retry
	    # Enable ACL
	    enableACL: ${SW_ZK_ENABLE_ACL:false} # disable ACL in default
	    schema: ${SW_ZK_SCHEMA:digest} # only support digest schema
	    expression: ${SW_ZK_EXPRESSION:skywalking:skywalking}
cd  /root/apache-skywalking-apm-bin-es7/conf
 vim application.yml

2.3.5 配置collector連接elasticsearch

storage下注釋掉h2相關,打開elasticsearch相關

storage:
  elasticsearch7:
    # nameSpace: ${SW_NAMESPACE:""}
    # user: ${SW_ES_USER:""} # User needs to be set when Http Basic authentication is enabled
    # password: ${SW_ES_PASSWORD:""} # Password to be set when Http Basic authentication is enabled
    #trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:""}
    #trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es服務器地址1:9200, es服務器地址2:9200, es服務器地址3:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    # Those data TTL settings will override the same settings in core module.
    recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
    otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
    monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests
    bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
    resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
    metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
    segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
    advanced: ${SW_STORAGE_ES_ADVANCED:""}
cd  /root/apache-skywalking-apm-bin-es7/conf
 vim application.yml

2.3.6修改collector啓動腳本

修改初始化內存2G, 最大可用6G

vim oapService.sh
   JAVA_OPTS=”-Xms2G -Xmx6G”

註釋掉webapp的啓動

 vim startup.sh
  #!/usr/bin/env sh
  PRG=$0”
  PRGDIR=’dirname “$PRG”’
  OAP_EXE=oapService.sh
  #WEBAPP_EXE=webappService.sh$PRGDIR/$OAP_EXE#“$ PRGDIR/$ WEBAPP_EXE”

2.3.7 啓動colletcot

cd  /root/apache-skywalking-apm-bin-es7/bin
 ./ startup.sh

2.3.8 驗證

 tail -f /root/apache-skywalking-apm-bin-es7/logs/skywalking-oap-server.log

2.4 skywalking ui部署

2.4.1 jdk安裝

在服務器上安裝jdk1.8,由於系統模板已經集成jdk 1.8.0_221,這裏不在單獨安裝

2.4.2 獲取安裝文件

將安裝程序上傳到UI服務器的/workspaces目錄下

wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz

2.4.3 解壓UI到/root目錄

 tar zxvf apache-skywalking-apm-es7-6.6.0.tar.gz -C /root

2.4.4 配置ui

 cd /root/apache-skywalking-apm-bin-es7/webapp
 vim webapp.yml
   listOfServers: collector服務器地址1:12800,collector服務器地址2:12800,collector服務器地址3:12800

2.4.5 修改UI啓動腳本

註釋掉oap服務的啓動

cd  /root/apache-skywalking-apm-bin-es7/bin
vim startup.sh

文件如下:

#!/usr/bin/env sh
  PRG=”$0”
  PRGDIR=’dirname “$PRG”’
  #OAP_EXE=oapService.sh
  WEBAPP_EXE=webappService.sh
  #“$PRGDIR/$OAP_EXE”
 “$ PRGDIR/$ WEBAPP_EXE”

2.4.6 啓動UI

cd  /root/apache-skywalking-apm-bin-es7/bin
 ./ startup.sh

2.4.7 驗證

 tail -f /root/apache-skywalking-apm-bin-es7/logs/webapp.log

3 agent安裝

3.1 獲取程序

拷貝/root/apache-skywalking-apm-bin-es7/agent 文件夾到目標服務器上/root/agent

3.2 如果爲oracle數據庫需要上傳oracle插件

將自己編譯的apm-oracle-10.x-plugin-1.0.1.jar包放入agent程序的plugins目錄下
鏈接:https://pan.baidu.com/s/1f1j7-PXiXUGtrKeBZZFhWQ
提取碼:ot6p

3.3 修改配置

修改配置文件中註冊到後臺的服務名和後臺的地址端口,
服務根據實際情況進行修改,格式環境-服務名,例如
Pro-portal
Uat-portal
其他項暫時保持默認不變

vi /root/agent/config/agent.config
  agent.service_name=${SW_AGENT_NAME:Uat-portal}
  collect,or.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:1 collector服務器ip地址:11800, collector服務器ip地址:11800, collector服務器ip地址:11800}

3.3 修改tomcat啓動腳本

修改tomcat的bin/catalina.sh,在第一行加入

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/root/agent/skywalking-agent.jar"; export CATALINA_OPTS

3.4 重啓tomcat

重啓tomcat加載agent。

備註:skywalking具體配置說明參考官網:https://github.com/apache/skywalking/blob/5.x/docs/README_ZH.md 或者https://github.com/apache/skywalking/blob/6.x/README.md
參數配置可以參考博客:https://smooth.blog.csdn.net/article/details/96479544

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章