安装elasticsearch-6.5.4
在安装es之前先安装配置好jdk环境,这里使用了1.8
[root@kkkk bin]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
配置正常能够访问,可能由于版本的问题,无法和skywalking 正常建立连接,页面返回500,后来使用elasticsearch-5.6.1正常
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.tar.gz
配置es
[root@kkkk config]# pwd
/opt/elasticsearch-5.6.1/config
[root@kkkk config]# ls
elasticsearch.yml jvm.options log4j2.properties scripts
[root@kkkk config]# vim elasticsearch.yml
cluster.name: myskywalking
path.data: /opt/data/es/data
path.logs: /opt/data/es/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 192.168.77.137
http.port: 9200
启动es
useradd es
chown -R es.es /opt/elasticsearch-5.6.1/
[root@kkkk bin]# su es
[es@kkkk bin]$ ls
elasticsearch elasticsearch.in.sh elasticsearch-plugin elasticsearch-service-mgr.exe elasticsearch-systemd-pre-exec
elasticsearch.bat elasticsearch-keystore elasticsearch-plugin.bat elasticsearch-service-x64.exe elasticsearch-translog
elasticsearch.in.bat elasticsearch-keystore.bat elasticsearch-service.bat elasticsearch-service-x86.exe elasticsearch-translog.bat
[es@kkkk bin]$ cd /opt/
[es@kkkk opt]$ cd -
/opt/elasticsearch-5.6.1/bin
[es@kkkk bin]$ ./elasticsearch &
[1] 15808
[es@kkkk opt]$ ss -antp|grep java
tcp6 0 0 192.168.77.137:9200 :::* LISTEN 15808/java
tcp6 0 0 192.168.77.137:9300 :::* LISTEN 15808/java
下载好skywalking
https://archive.apache.org/dist/incubator/skywalking/5.0.0-beta2/apache-skywalking-apm-incubating-5.0.0-beta2.tar.gz
启动startup.sh发现只有8080端口是监听的10800,12800都是非监听状态
访问192.168.177.137:8080 页面显示500错误
是因为没有正确连接es的原因将skw主配置文件中的地址都改成了192.168.77.137
naming:
jetty:
#OS real network IP(binding required), for agent to find collector cluster
host: 192.168.77.137
port: 10800
contextPath: /
cache:
# guava:
caffeine:
remote:
gRPC:
# OS real network IP(binding required), for collector nodes communicate with each other in cluster. collectorN --(gRPC) --> collectorM
host: 192.168.77.137
port: 11800
agent_gRPC:
gRPC:
#OS real network IP(binding required), for agent to uplink data(trace/metrics) to collector. agent--(gRPC)--> collector
host: 192.168.77.137
port: 11800
# Set these two setting to open ssl
#sslCertChainFile: $path
#sslPrivateKeyFile: $path
# Set your own token to active auth
#authentication: xxxxxx
agent_jetty:
jetty:
# OS real network IP(binding required), for agent to uplink data(trace/metrics) to collector through HTTP. agent--(HTTP)--> collector
# SkyWalking native Java/.Net/node.js agents don't use this.
# Open this for other implementor.
host: 192.168.77.137
port: 12800
contextPath: /
analysis_register:
default:
analysis_jvm:
default:
analysis_segment_parser:
default:
bufferFilePath: ../buffer/
bufferOffsetMaxFileSize: 10M
bufferSegmentMaxFileSize: 500M
bufferFileCleanWhenRestart: true
ui:
jetty:
# Stay in `localhost` if UI starts up in default mode.
# Change it to OS real network IP(binding required), if deploy collector in different machine.
host: 192.168.77.137
port: 12800
contextPath: /
storage:
elasticsearch:
clusterName: myskywalking
clusterTransportSniffer: true
clusterNodes: 192.168.77.137:9300
indexShardsNumber: 2
indexReplicasNumber: 0
highPerformanceMode: true
# Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
bulkActions: 2000 # Execute the bulk every 2000 requests
bulkSize: 20 # flush the bulk every 20mb
flushInterval: 10 # flush the bulk every 10 seconds whatever the number of requests
concurrentRequests: 2 # the number of concurrent requests
# Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted.
traceDataTTL: 90 # Unit is minute
minuteMetricDataTTL: 90 # Unit is minute
hourMetricDataTTL: 36 # Unit is hour
dayMetricDataTTL: 45 # Unit is day
monthMetricDataTTL: 18 # Unit is month
#storage:
# h2:
# url: jdbc:h2:~/memorydb
# userName: sa
configuration:
default:
#namespace: xxxxx
# alarm threshold
applicationApdexThreshold: 2000
serviceErrorRateThreshold: 10.00
serviceAverageResponseTimeThreshold: 2000
instanceErrorRateThreshold: 10.00
instanceAverageResponseTimeThreshold: 2000
applicationErrorRateThreshold: 10.00
applicationAverageResponseTimeThreshold: 2000
# thermodynamic
thermodynamicResponseTimeStep: 50
thermodynamicCountOfResponseTimeSteps: 40
# max collection's size of worker cache collection, setting it smaller when collector OutOfMemory crashed.
workerCacheMaxSize: 10000
[root@kkkk bin]# pwd
/opt/apache-skywalking-apm-incubating/bin
[root@kkkk bin]# sh startup.sh
[root@kkkk config]# ss -antp|grep 10800
LISTEN 0 50 ::ffff:192.168.77.137:10800 :::* users:(("java",pid=1461,fd=213))
TIME-WAIT 0 0 ::ffff:192.168.77.137:48212 ::ffff:192.168.77.137:10800
[root@kkkk config]# ss -antp|grep 12800
LISTEN 0 50 ::ffff:192.168.77.137:12800 :::* users:(("java",pid=1461,fd=208))
遇到的问题
1.启动es报错
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
ES报错
https://blog.csdn.net/cardinalzbk/article/details/54924511
修改文件最大描述符就可以解决
2.判断es是否正常启动
curl -XPUT http://101.201.115.106:9200
9200是http端口可以直接查看es是否启动成功
3.发现es莫名其妙被killd
es和skywalking都能正常运行,且端口监听正常,过一会es会被killd原因是内存太小了导致的,可以在/opt/elasticsearch-5.6.1/config/jvm.option做优化
4.两个500报错
1>更换了es版本改用5.X
2>将skw配置文件里的地址都改成了192.168.77.137
3>清理es的数据目录下的node下的所有文件
ps:webapp下的webapp.yml的地址也要修改
listOfServers: 192.168.77.137:10800
5.启动es报错解决
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
编辑 /etc/security/limits.conf,追加以下内容;
- soft nofile 65536
- hard nofile 65536
此文件修改后需要重新登录用户,才会生效
: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
客户端配置
agent 端的配置开启探针
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=my-App -Dskywalking.collector.backend_service=localhost:11800 -jar myApp.jar
网友评论