zoukankan      html  css  js  c++  java
  • Elasticsearch单机双节点集群部署实战

    一、安装第一个ElasticSearch(主节点)

    1、创建es用户,启动es不能使用root用户

    useradd es

    passwd es12

    root用户进入/home/es目录下

    2、获取ElasticSearch安装包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz

    3、解压、改名(方便集群时区别另一个ES)

    tar xf elasticsearch-6.1.2.tar.gz

    mv elasticsearch-6.1.2.tar.gz elasticsearch-node212

    4、修改配置文件

    vi elasticsearch-node2/config/elasticsearch.yml1

    修改内容如下:

    cluster.name: my-application        各节点此名称必须一致

    node.name: node-2                   节点名称,不能与其他节点相同              

    network.host: ***.***.***.***       自己的服务器IP

    http.port: ****                     访问端口

    transport.tcp.port: ****            集群各节点间的通讯端口 

    discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]   123456

    文件最后追加以下内容,以便连接head显示健康值(注意每行代码前面不要有空格)

    http.cors.enabled: true

    http.cors.allow-origin: "*"12

    5、启动

    sh elasticsearch-node2/bin/elasticsearch1

    [2018-01-24T15:36:41,990][INFO ][o.e.n.Node               ] [KMyyO-3] started

    [2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService     ] [KMyyO-3] recovered [0] indices into cluster_state12

    启动成功,浏览器中输入 IP:访问端口

    网页显示以下内容,说明部署成功

    {

      "name" : "node-2",

      "cluster_name" : "my-application",

      "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",    

      "version" : {

        "number" : "6.1.2",

        "build_hash" : "5b1fea5",

        "build_date" : "2018-01-10T02:35:59.208Z",

        "build_snapshot" : false,

        "lucene_version" : "7.1.0",

        "minimum_wire_compatibility_version" : "5.6.0",

        "minimum_index_compatibility_version" : "5.0.0"

      },

      "tagline" : "You Know, for Search"

    }123456789101112131415

    6、报错及其处理 

    【类型一】

    Caused by: java.lang.RuntimeException: can not run elasticsearch as root1

    该问题是因为运行es不能使用root用户,因此要切换es用户再次启动

    chown -R es:es elasticsearch-node2/

    su - es

    sh elasticsearch-node2/bin/elasticsearch123

    【类型二】

    max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]1

    解决方法,换回root用户,修改配置文件

    vi /etc/security/limits.conf

    #在最后面追加下面内容

    es hard nofile 65536

    es soft nofile 655361234

    【类型三】

    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]1

    解决方法,换回root用户,修改配置文件

    vi /etc/sysctl.conf 

    #在最后面追加下面内容

    vm.max_map_count=655360

    #执行命令:

    sysctl -p12345

    二、安装第二个ElasticSearch(辅节点) 

    安装方法与第一个一致,注意修改配置文件 

    root用户进入/home/es目录下

    1、解压、改名

    tar xf elasticsearch-6.1.2.tar.gz

    mv elasticsearch-6.1.2.tar.gz elasticsearch-node312

    2、修改配置文件

    vi elasticsearch-node3/config/elasticsearch.yml1

    修改内容如下:

    cluster.name: my-application        各节点此名称必须一致

    node.name: node-3                   节点名称,不能与其他节点相同

    network.host: ***.***.***.***       自己的服务器IP

    http.port: ****                     访问端口(注意不要与第一个端口重复)                              

    transport.tcp.port: ****            集群各节点间的通讯端口(注意不要与第一个端口重复)

    discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]123456

    文件最后同样追加下面代码

    http.cors.enabled: true

    http.cors.allow-origin: "*"12

    3.启动

    sh elasticsearch-node3/bin/elasticsearch1

    浏览器,浏览器中输入   IP:访问端口 

    网页显示以下内容,说明第二个部署成功

    {

      "name" : "node-3",

      "cluster_name" : "my-application",

      "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",

      "version" : {

        "number" : "6.1.2",

        "build_hash" : "5b1fea5",

        "build_date" : "2018-01-10T02:35:59.208Z",

        "build_snapshot" : false,

        "lucene_version" : "7.1.0",

        "minimum_wire_compatibility_version" : "5.6.0",

        "minimum_index_compatibility_version" : "5.0.0"

      },

      "tagline" : "You Know, for Search"

    }123456789101112131415

    三、安装Elasticsearch-head插件 

    1、安装head插件之前需要安装node.js

    curl -sL https://rpm.nodesource.com/setup_8.x | bash -

    yum install -y nodejs12

    安装完成后执行命令查看node与npm版本

    [root@host]# node -v

    v8.12.0

    [root@host]# npm -v

    6.4.1

    12345

    2、从git获取head插件

    wget https://github.com/mobz/elasticsearch-head/archive/master.zip1

    3、解压安装包(可以改名,方便操作)

    unzip master.zip

    mv elasticsearch-head-master/ head12

    4、修改配置文件

    vi head/Gruntfile.js1

    更改head端口号

    connect: {

              server: {

                       options: {

                                  port: ****,    改为head访问端口

                                  base: '.',

                                  keepalive: true

                                 }

                        }

              }

    12345678910

    vi head/_site/app.js 1

    更改head链接地址

    init: function(parent) {

                            this._super();

                            this.prefs = services.Preferences.instance();

                            this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";

    12345

    5、启动head

    nohup npm run start > ../head.log 2>&1 &1

    6、浏览器登录head 

    URL输入服务器IP:head访问端口 
    链接地址输如主节点的访问地址 
    7、安装head常见错误 
    【类型一】启动成功,但是网页不能访问 
    解决方法 
    关闭服务器防火墙

    service iptables stop

    【类型二】集群健康值未连接 
    在elasticsearch.yml里追加下列代码(注意代码前面不要有空格)

    http.cors.enabled: truehttp.cors.allow-origin: "*"

    问:为什么es节点用node2、node3? 
    答:因为之前用node1搭建了一套未集群的ES,所以后面集群就用2和3了。

    ---------------------------------------------

    推荐阅读:

    微信支付开发中几个值得注意的地方

    解析:微服务的原则

    老王讲架构:负载均衡

    支付宝系统架构内部剖析

    SaaS技术栈的走势

    大数据Spark与Storm技术选型

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 数的统计
    Java实现 蓝桥杯VIP 算法训练 和为T
    Java实现 蓝桥杯VIP 算法训练 友好数
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 暗恋
    Java实现 蓝桥杯VIP 算法训练 暗恋
    测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
    RichEdit 各个版本介绍
  • 原文地址:https://www.cnblogs.com/Javame/p/9770655.html
Copyright © 2011-2022 走看看