skywalking安装遇到的错误以及解决

2019-04-10  本文已影响0人  tglmm

安装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,追加以下内容;

: 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

上一篇下一篇

猜你喜欢

热点阅读