• windows配置skywalking集群


    一、zookeeper

     准备配置三个zookeeper,因为我是单台模拟,所以需要使用不同的端口,使用版本是apache-zookeeper-3.6.3-bin (必须是3.5+)

    1、第1个zookeeper

    vi conf/zoo.cfg

    修改 dataDir 带指定目录下的

    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial 
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    dataDir=H:\\ruanjian\\apache-zookeeper-3.6.3-bin\\apache-zookeeper-3.6.3-bin\\tmp\\zookeeper
    # the port at which the clients will connect
    clientPort=2181
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    
    ## Metrics Providers
    #
    # https://prometheus.io Metrics Exporter
    #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
    #metricsProvider.httpPort=7000
    #metricsProvider.exportJvmInfo=true
    server.1=127.0.0.1:3888:2888
    server.2=127.0.0.1:3788:2788
    server.3=127.0.0.1:3688:2688

    在这个对应的tmp\zookeeper 生成一个myid 里面的值是 1

    可以用命令生成

    echo 1 >目录/myid

    2、第2个zookeeper

    vi conf/zoo.cfg

    修改 dataDir 带指定目录下的

    修改  clientPort 、dataDir   ,新增

    server.1=127.0.0.1:3888:2888
    server.2=127.0.0.1:3788:2788
    server.3=127.0.0.1:3688:2688

    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial 
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    dataDir=H:\\ruanjian\\apache-zookeeper-3.6.3-bin-2\\apache-zookeeper-3.6.3-bin\\tmp\\zookeeper
    # the port at which the clients will connect
    clientPort=2182
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    
    ## Metrics Providers
    #
    # https://prometheus.io Metrics Exporter
    #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
    #metricsProvider.httpPort=7000
    #metricsProvider.exportJvmInfo=true
    server.1=127.0.0.1:3888:2888
    server.2=127.0.0.1:3788:2788
    server.3=127.0.0.1:3688:2688

    2.2 

    在这个对应的tmp\zookeeper 生成一个myid 里面的值是 2

    可以用命令生成

    echo 2 >目录/myid

    3、第3台zookeeper

    vi conf/zoo.cfg

    修改 dataDir 带指定目录下的

    修改  clientPort 、dataDir   ,新增

    server.1=127.0.0.1:3888:2888
    server.2=127.0.0.1:3788:2788
    server.3=127.0.0.1:3688:2688

    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial 
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    dataDir=H:\\ruanjian\\apache-zookeeper-3.6.3-bin-3\\apache-zookeeper-3.6.3-bin\\tmp\\zookeeper
    # the port at which the clients will connect
    clientPort=2183
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    
    ## Metrics Providers
    #
    # https://prometheus.io Metrics Exporter
    #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
    #metricsProvider.httpPort=7000
    #metricsProvider.exportJvmInfo=true
    server.1=127.0.0.1:3888:2888
    server.2=127.0.0.1:3788:2788
    server.3=127.0.0.1:3688:2688

    3.2 

    在这个对应的tmp\zookeeper 生成一个myid 里面的值是 3

    可以用命令生成

    echo 3 >目录/myid

    二、elasticsearch 集群

    准备单台电脑部署三个集群,使用的 elasticsearch-7.6.1-windows-x86_64 版本

    1、 第1个,修改 config/elasticsearch.yml  

    设置node-1为主节点,另外设置可以跨域访问

    # ======================== Elasticsearch Configuration =========================
    #
    # NOTE: Elasticsearch comes with reasonable defaults for most settings.
    #       Before you set out to tweak and tune the configuration, make sure you
    #       understand what are you trying to accomplish and the consequences.
    #
    # The primary way of configuring a node is via this file. This template lists
    # the most important settings you may want to configure for a production cluster.
    #
    # Please consult the documentation for further information on configuration options:
    # https://www.elastic.co/guide/en/elasticsearch/reference/index.html
    #
    # ---------------------------------- Cluster -----------------------------------
    #
    # Use a descriptive name for your cluster:
    #
    cluster.name: esapp
    #
    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: node-1
    node.master: true
    node.data: true
    #
    # Add custom attributes to the node:
    #
    #node.attr.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    #path.data: /path/to/data
    #
    # Path to log files:
    #
    #path.logs: /path/to/logs
    #
    # ----------------------------------- Memory -----------------------------------
    #
    # Lock the memory on startup:
    #
    #bootstrap.memory_lock: true
    #
    # Make sure that the heap size is set to about half the memory available
    # on the system and that the owner of the process is allowed to use this
    # limit.
    #
    # Elasticsearch performs poorly when the system is swapping the memory.
    #
    # ---------------------------------- Network -----------------------------------
    #
    # Set the bind address to a specific IP (IPv4 or IPv6):
    #
    network.host: 0.0.0.0
    #
    # Set a custom port for HTTP:
    #
    http.port: 9200
    transport.port: 9300
    #
    # For more information, consult the network module documentation.
    #
    # --------------------------------- Discovery ----------------------------------
    #
    # Pass an initial list of hosts to perform discovery when this node is started:
    # The default list of hosts is ["127.0.0.1", "[::1]"]
    #
    discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9302","127.0.0.1:9303"]
    #
    # Bootstrap the cluster using an initial set of master-eligible nodes:
    #
    cluster.initial_master_nodes: ["node-1"]
    #
    # For more information, consult the discovery and cluster formation module documentation.
    #
    # ---------------------------------- Gateway -----------------------------------
    #
    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    #gateway.recover_after_nodes: 3
    #
    # For more information, consult the gateway module documentation.
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    2、 第2个,修改 config/elasticsearch.yml  

    # ======================== Elasticsearch Configuration =========================
    #
    # NOTE: Elasticsearch comes with reasonable defaults for most settings.
    #       Before you set out to tweak and tune the configuration, make sure you
    #       understand what are you trying to accomplish and the consequences.
    #
    # The primary way of configuring a node is via this file. This template lists
    # the most important settings you may want to configure for a production cluster.
    #
    # Please consult the documentation for further information on configuration options:
    # https://www.elastic.co/guide/en/elasticsearch/reference/index.html
    #
    # ---------------------------------- Cluster -----------------------------------
    #
    # Use a descriptive name for your cluster:
    #
    cluster.name: esapp
    #
    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: node-2
    node.master: false
    node.data: true
    #
    # Add custom attributes to the node:
    #
    #node.attr.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    #path.data: /path/to/data
    #
    # Path to log files:
    #
    #path.logs: /path/to/logs
    #
    # ----------------------------------- Memory -----------------------------------
    #
    # Lock the memory on startup:
    #
    #bootstrap.memory_lock: true
    #
    # Make sure that the heap size is set to about half the memory available
    # on the system and that the owner of the process is allowed to use this
    # limit.
    #
    # Elasticsearch performs poorly when the system is swapping the memory.
    #
    # ---------------------------------- Network -----------------------------------
    #
    # Set the bind address to a specific IP (IPv4 or IPv6):
    #
    network.host: 0.0.0.0
    #
    # Set a custom port for HTTP:
    #
    http.port: 9202
    transport.port: 9302
    #
    # For more information, consult the network module documentation.
    #
    # --------------------------------- Discovery ----------------------------------
    #
    # Pass an initial list of hosts to perform discovery when this node is started:
    # The default list of hosts is ["127.0.0.1", "[::1]"]
    #
    discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9302","127.0.0.1:9303"]
    #
    # Bootstrap the cluster using an initial set of master-eligible nodes:
    #
    cluster.initial_master_nodes: ["node-1"]
    #
    # For more information, consult the discovery and cluster formation module documentation.
    #
    # ---------------------------------- Gateway -----------------------------------
    #
    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    #gateway.recover_after_nodes: 3
    #
    # For more information, consult the gateway module documentation.
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    3、 第3个,修改 config/elasticsearch.yml  

    # ======================== Elasticsearch Configuration =========================
    #
    # NOTE: Elasticsearch comes with reasonable defaults for most settings.
    #       Before you set out to tweak and tune the configuration, make sure you
    #       understand what are you trying to accomplish and the consequences.
    #
    # The primary way of configuring a node is via this file. This template lists
    # the most important settings you may want to configure for a production cluster.
    #
    # Please consult the documentation for further information on configuration options:
    # https://www.elastic.co/guide/en/elasticsearch/reference/index.html
    #
    # ---------------------------------- Cluster -----------------------------------
    #
    # Use a descriptive name for your cluster:
    #
    cluster.name: esapp
    #
    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: node-3
    node.master: false
    node.data: true
    #
    # Add custom attributes to the node:
    #
    #node.attr.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    #path.data: /path/to/data
    #
    # Path to log files:
    #
    #path.logs: /path/to/logs
    #
    # ----------------------------------- Memory -----------------------------------
    #
    # Lock the memory on startup:
    #
    #bootstrap.memory_lock: true
    #
    # Make sure that the heap size is set to about half the memory available
    # on the system and that the owner of the process is allowed to use this
    # limit.
    #
    # Elasticsearch performs poorly when the system is swapping the memory.
    #
    # ---------------------------------- Network -----------------------------------
    #
    # Set the bind address to a specific IP (IPv4 or IPv6):
    #
    network.host: 0.0.0.0
    #
    # Set a custom port for HTTP:
    #
    http.port: 9203
    transport.port: 9303
    #
    # For more information, consult the network module documentation.
    #
    # --------------------------------- Discovery ----------------------------------
    #
    # Pass an initial list of hosts to perform discovery when this node is started:
    # The default list of hosts is ["127.0.0.1", "[::1]"]
    #
    discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9302","127.0.0.1:9303"]
    #
    # Bootstrap the cluster using an initial set of master-eligible nodes:
    #
    cluster.initial_master_nodes: ["node-1"]
    #
    # For more information, consult the discovery and cluster formation module documentation.
    #
    # ---------------------------------- Gateway -----------------------------------
    #
    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    #gateway.recover_after_nodes: 3
    #
    # For more information, consult the gateway module documentation.
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    三、apache-skywalking-apm

    1、 设置第1台,apache-skywalking-apm

    1.1修改 config/application.yml

    cluster.selector  设置为zookeeper

    修改cluster.zookeeper.namespace 和 cluster.zookeeper.hostPort 

    cluster:
      selector: ${SW_CLUSTER:zookeeper}
      standalone:
      # Please check your ZooKeeper is 3.5+, However, it is also compatible with ZooKeeper 3.4.x. Replace the ZooKeeper 3.5+
      # library the oap-libs folder with your ZooKeeper 3.4.x library.
      zookeeper:
        namespace: ${SW_NAMESPACE:"skywalking"}
        #hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181}
        hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181,localhost:2182,localhost:2183}

    设置 storage.selector 为 elasticsearch  (我这个版本的apm及时使用elasticsearch7也是设置这个)

    修改storage.elasticsearch.namespace 和storage.elasticsearch.clusterNodes

    storage:
      selector: ${SW_STORAGE:elasticsearch}
      elasticsearch:
        namespace: ${SW_NAMESPACE:"esapp"}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200,localhost:9202,localhost:9203}

    1.2 修改webapp/webapp.yml

    修改 server.port 的端口为8090(因为8080已被其它程序占用)

    server:
      port: 8090

    2、 设置第2台,apache-skywalking-apm

    2.1 修改 config/application.yml

    cluster.selector  设置为zookeeper

    修改cluster.zookeeper.namespace 和 cluster.zookeeper.hostPort 

    cluster:
      selector: ${SW_CLUSTER:zookeeper}
      standalone:
      # Please check your ZooKeeper is 3.5+, However, it is also compatible with ZooKeeper 3.4.x. Replace the ZooKeeper 3.5+
      # library the oap-libs folder with your ZooKeeper 3.4.x library.
      zookeeper:
        namespace: ${SW_NAMESPACE:"skywalking"}
        #hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181}
        hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181,localhost:2182,localhost:2183}

    设置 storage.selector 为 elasticsearch  (我这个版本的apm及时使用elasticsearch7也是设置这个)

    修改storage.elasticsearch.namespace 和storage.elasticsearch.clusterNodes

    storage:
      selector: ${SW_STORAGE:elasticsearch}
      elasticsearch:
        namespace: ${SW_NAMESPACE:"esapp"}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200,localhost:9202,localhost:9203}

    设置core.default.restPort 为 22800 和core.default.gRPCPort  为 21800

    core:
      selector: ${SW_CORE:default}
      default:
        # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
        # Receiver: Receive agent data, Level 1 aggregate
        # Aggregator: Level 2 aggregate
        role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
        restHost: ${SW_CORE_REST_HOST:0.0.0.0}
        restPort: ${SW_CORE_REST_PORT:22800}
        restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
        restMinThreads: ${SW_CORE_REST_JETTY_MIN_THREADS:1}
        restMaxThreads: ${SW_CORE_REST_JETTY_MAX_THREADS:200}
        restIdleTimeOut: ${SW_CORE_REST_JETTY_IDLE_TIMEOUT:30000}
        restAcceptorPriorityDelta: ${SW_CORE_REST_JETTY_DELTA:0}
        restAcceptQueueSize: ${SW_CORE_REST_JETTY_QUEUE_SIZE:0}
        httpMaxRequestHeaderSize: ${SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE:8192}
        gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
        gRPCPort: ${SW_CORE_GRPC_PORT:21800}

    2.2 修改webapp/webapp.yml

    修改 server.port 的端口为8090(因为8080已被其它程序占用)

    server:
      port: 8091

    四、java 设置agent代理 (apache-skywalking-java-agent-8.8.0)

    -javaagent:H:\ruanjian\apache-skywalking-java-agent-8.8.0\skywalking-agent\skywalking-agent.jar
    -Dskywalking.agent.service_name=Your_ApplicationName
    -Dskywalking.collector.backend_service=127.0.0.1:11800,127.0.0.1:21800
  • 相关阅读:
    hdu1069Monkey and Banana(动态规划)
    hdu2571 命运(动态规划)
    hdu1505City Game(动态规划)
    在jvm底层有关于方法区的介绍
    用IDEA查看源码总是跳到.class文件而不是.java文件的解决办法
    如果Son类继承Father类,Father类继承GrandFather类,那么new Son()创建对象的时候是否会执行GrandFather类里面的方法
    看面试题有感:子类构造器(无参或有参)继承的super()方法在何时调用,与静态代码块,普通代码块相比的执行顺序如何的思考及证明
    关于子类构造器调用super()方法的规定
    为什么重写了equals方法后还需要重写hashCode方法
    字符串常量池处在JVM的堆中,那么是在堆的哪个部分呢
  • 原文地址:https://www.cnblogs.com/zhian/p/16478339.html
Copyright © 2020-2023  润新知