• 创建多个节点的集群 Elastic Stack 8.0


    文章转载自:https://mp.weixin.qq.com/s/k6u9Q2nebW9qgZMghQwJng

    详述如何安装3个节点的 Elasticsearch 集群。我将使用 Docker 来进行部署。

    首先,我们使用如下的命令来创建第一个 Elasticsearch 节点:

    docker network create elastic
    docker pull docker.elastic.co/elasticsearch/elasticsearch:8.0.0
    docker run -e ES_JAVA_OPTS="-Xms1g -Xmx1g" --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.0.0
    

    在启动的过程中,我们可以看到如下的输出:

    等 Elasticsearch 启动后,我们可以使用如下的命令来进行检查:

    由于是自签名证书,所以,我们可以使用 --insecure 来进行上面的操作。

    curl --insecure --user elastic:qTfj3Vfm+6RT1VrCbmwV https://localhost:9200
    
    # 拷贝证书:docker cp es-node01:/usr/share/elasticsearch/config/certs/http_ca.crt .
    
    curl -X GET --cacert ./http_ca.crt -u elastic:qTfj3Vfm+6RT1VrCbmwV https://localhost:9200/
    

    已经成功地启动了第一个节点。我们可以使用如下的命令来进行查看:

    $ curl --insecure --user elastic:qTfj3Vfm+6RT1VrCbmwV https://localhost:9200/_cat/nodes
    172.24.0.2 56 30 0 0.04 0.03 0.04 cdfhilmrstw * 2b7bdc81eb56
    

    接下来使用如下的命令来创建第二个节点:

    docker run -e ENROLLMENT_TOKEN="eyJ2ZXIiOiI4LjAuMCIsImFkciI6WyIxNzIuMjQuMC4yOjkyMDAiXSwiZmdyIjoiZTQzNTQyMWJlNTRiMGM2ZGJjYWU1M2NlNDBjMWQwYTFhNWM3YWRmMmEzZTJlZTc2OTQyMjc3YTZhYzdjZDBlNyIsImtleSI6IjR1SG9GSDhCYVhsVEQ2N1U4QlBuOjRkNDduNmd5UUFTcHBvWG5zbjNUckEifQ==" -e ES_JAVA_OPTS="-Xms1g -Xmx1g" --name es-node02 --net elastic -it docker.elastic.co/elasticsearch/elasticsearch:8.0.0
    

    在上面,我们使用了之前第一个节点启动时的集群 enrollment token,同时我们省去了端口的 mapping。

    等这个节点完全启动后,我们再次使用如下的命令来进行查看:

    $ curl --insecure --user elastic:qTfj3Vfm+6RT1VrCbmwV https://localhost:9200/_cat/nodes
    172.24.0.2 21 42 1 0.03 0.10 0.06 cdfhilmrstw * 2b7bdc81eb56
    172.24.0.3 11 42 1 0.03 0.10 0.06 cdfhilmrstw - 3f97cfe38a4e
    

    这个时候,我们可以看到有两个节点的集群了。

    我们使用同样的方法来启动第三个节点。运行如下的命令:

    docker run -e ENROLLMENT_TOKEN="eyJ2ZXIiOiI4LjAuMCIsImFkciI6WyIxNzIuMjQuMC4yOjkyMDAiXSwiZmdyIjoiZTQzNTQyMWJlNTRiMGM2ZGJjYWU1M2NlNDBjMWQwYTFhNWM3YWRmMmEzZTJlZTc2OTQyMjc3YTZhYzdjZDBlNyIsImtleSI6IjR1SG9GSDhCYVhsVEQ2N1U4QlBuOjRkNDduNmd5UUFTcHBvWG5zbjNUckEifQ==" -e ES_JAVA_OPTS="-Xms1g -Xmx1g" --name es-node03 --net elastic -it docker.elastic.co/elasticsearch/elasticsearch:8.0.0
    

    我们再次运行上面的命令来进行查看:

    $ curl --insecure --user elastic:qTfj3Vfm+6RT1VrCbmwV https://localhost:9200/_cat/nodes
    172.24.0.4 54 55 15 1.41 0.42 0.17 cdfhilmrstw - c689910d1448
    172.24.0.3 34 55  5 1.41 0.42 0.17 cdfhilmrstw - 3f97cfe38a4e
    172.24.0.2 60 55  5 1.41 0.42 0.17 cdfhilmrstw * 2b7bdc81eb56
    

    这个时候,我们可以看到有三个节点的集群。

    接下来启动 Kibana:

    docker run -e SERVER_PUBLICBASE_URL="http://liuxg.com:5601" --name kib-01 --net elastic -p 5601:5601 -it docker.elastic.co/kibana/kibana:8.0.0
    

    在上面,我定义了 SERVER_PUBLICBASE_URL,尽管这个是不必要的。你需要在你的电脑中的 /etc/hosts 进行定义喜欢的域名。

    它输出一个链接 http://0.0.0.0:5601/?code=038556 让我们在浏览器中输入:

    上面的 enrollment token 在第一个 Elasticsearch 启动后的有效时间为30分钟。超过30分钟的时间上述 token 将会无效。如果这种情况发生,我们可以可以使用如下的方法来生成一个新的 token:

    同样地节点 enrollment token 的有些时间也是30分钟,你可以使用如下的方法来进行生成:

    bin/elasticsearch-create-enrollment-token -s node
    

    接下来在 Kibana 的界面输入我们之前的 elastic 用户的密码:

    这样我们就进入到 Kibana 的界面。我们可以通过如下的方法来查看创建的三个节点的集群:

  • 相关阅读:
    【BZOJ1023】仙人掌图(SHOI2008)-圆方树+DP+单调队列
    【BZOJ4816】数字表格(SDOI2017)-莫比乌斯反演+数论分块
    【BZOJ3529】数表(SDOI2014)-莫比乌斯反演+树状数组
    【BZOJ3714】Kuglarz(PA2014)-最小生成树
    javascript div元素后追加节点
    php多文本框提交
    有几数组表单,js怎么获得数组并动态相加输出到文本框
    SqlCommand.Parameters.add()方法
    ASP.net后台弹出消息对话框的方法!【转】
    Access中的SELECT @@IDENTITY
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/16048264.html
Copyright © 2020-2023  润新知