zoukankan      html  css  js  c++  java
  • Skywalking 6.0+elasticsearch6 环境搭建

    原文:https://yangxx.net/?p=3825

    所需环境

    jdk1.8
    elasticsearch6.5.4 下载地址
    skywalking-6.2.0 下载地址
    centos 7.6

    JDK安装

    安装及配置过程省略

    es 安装

    下载解压并ES文件

    配置文件

    修改${es_home}/config/elasticsearch.yml

    # 集群名称
    cluster.name: es-cluster
    # 节点名称
    node.name: node1
    #指定该节点是否有资格被选举成为master节点,默认是true,
    node.master: true
    #允许该节点存储数据(默认开启)
    node.data: true
    # 数据的默认存放路径
    path.data: /home/skywaling/soft/elasticsearch-6.5.4/data/
     # 日志的默认存放路径
    path.logs: /home/skywaling/soft/elasticsearch-6.5.4/log/
    # bind IP地址
    network.host: 0.0.0.0
    # 服务端口
    http.port: 9200
    # 集群服务的端口
    transport.tcp.port: 9300
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    # 集群master节点IP地址
    discovery.zen.ping.unicast.hosts: ["192.168.2.179:9300"]
    
    YAML

    注意
    服务器环境是CentOS 6时,不支持SecComp,CentOS7已经解决这个问题,当前服务器不能换系统,只能禁用:
    在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

    bootstrap.memory_lock: false 
    bootstrap.system_call_filter: false
    
    .properties

    系统参数修改

    /etc/sysctl.conf:

    vm.max_map_count=262144
    
    .properties

    /etc/security/limits.conf

    * hard    nofile           65536
    * soft    nofile           65536
    
    .properties

    /etc/security/limits.d/90-nproc.conf

    *          soft    nproc     4096
    root       soft    nproc     unlimited
    
    .properties

    测试

    检查启动是否正常

    curl -XGET "http://127.0.0.1:9200/_cat/nodes?v&pretty"
    
    Bash

    返回结果

    {
      "name" : "node1",
      "cluster_name" : "es-cluster",
      "cluster_uuid" : "3jvfHCQGRUyUoIawKIG3xg",
      "version" : {
        "number" : "6.5.4",
        "build_flavor" : "default",
        "build_type" : "zip",
        "build_hash" : "d2ef93d",
        "build_date" : "2018-12-17T21:17:40.758843Z",
        "build_snapshot" : false,
        "lucene_version" : "7.5.0",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }
    
    JSON

    skywalking服务端安装

    配置文件

    • 在skywalking的config目录找到application.yml
    • 修改application.yml文件
    • 找到storage节点下的,elasticsearch节点
    • 修改nameSpace为sky_Collector_cluster,必须与es配置的cluster.那么一致
    • 修改clusterNodes为es的ip和端口
    • 修改indexShardsNumber 值必须大于1
    • 注释掉storage下的其他节点

    application.yml

      elasticsearch:
        nameSpace: ${SW_NAMESPACE:"es-cluster"}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
    #    user: ${SW_ES_USER:""}
    #    password: ${SW_ES_PASSWORD:""}
        indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
        indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    
    YAML

    启动Skywalking

    在Skywalking的bin目录中存在collectorService和webAppService的启动脚本么,使用startup 可以同时启动两个脚本
    ./bin/startup.sh

    启动问题

    Q1:启动遇到一个错误是在webapp.log中提示:无法访问127.0.0.1

    org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:10800 [/127.0.0.1] failed: 拒绝连接 (Connection refused)
    ...
    
    Txt

    A1:通过修改webapp.yml进行解决,配置如下所示:

    server:
      port: 8080
    
    collector:
      path: /graphql
      ribbon:
        ReadTimeout: 10000
        # #此处修改为固定 ip,不为127.0.01
        listOfServers: 192.168.2.179:12800
    
    security:
      user:
        admin:
          password: admin
    
    YAML

    Q2:

    graphql.execution.SimpleDataFetcherExceptionHandler -1061995 [qtp1609086753-159] WARN [] - Exception while fetching data (/latencyS) : IDs can't be null java.lang.RuntimeException: IDs can't be null
    

    A2:
    此问题为ui端的问题,无需解决,对SkyWalking后端无影响

    skywalking agent安装

    每一个 jar包获取应用都应该单独使用一个 agent,所以将agent 这个目录拷贝到各自对应的 jar包路径下。
    核心部分的目录信息如下:

    ├── activations
    ├── config
    │   └── agent.config
    ├── logs
    │   └── skywalking-api.log
    ├── optional-plugins
    ├── plugins
    └── skywalking-agent.jar
    
    XML

    其中 config/agent.config是最重要的,需要修改的核心参数如下所示

    # 应用名称,当前代理的应用名称,用于 UI界面分类和展示
    agent.service_name=${SW_AGENT_NAME:test-door}
    # 收集器的地址,这个根据实际情况设置,上述`Collector`在哪台服务器启动,ip就设置为多少。
    collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.2.179:11800}
    
    .properties

    设置好参数后,对于 Java 应用,添加核心的-javaagent进行启动

    java -javaagent:agent/skywalking-agent.jar -jar xxx.jar
  • 相关阅读:
    Django基础(三)
    Python--时间模块.s(基本操作)
    Python--Pandas.1(Series的概念和创建,索引和切片,常用的基本操作)
    Python--Numpy.s(numpy的创建,通用函数,索引和切片,随机数,数据存读)
    主键约束 primary key
    not null 非空约束
    unique key 唯一约束
    表约束
    mysql操作
    python学习笔记
  • 原文地址:https://www.cnblogs.com/shihaiming/p/12943902.html
Copyright © 2011-2022 走看看