ES 6.4.3版本集群搭建

ES 6.4.3版本集群搭建

  • ES集群搭建
    • 下载
    • 安装jdk
    • 安装ES
      • 集群配置
        • 修改jvm内存
        • 修改文件数目句柄
        • 创建es用户
        • 启动es
      • 安装head

ES集群搭建

CentOS7  Elasticsearch-6.4.3  JDK8

下载

https://www.elastic.co/cn/downloads/elasticsearch

  • 查看之前版本
    ES 6.4.3版本集群搭建_第1张图片

  • 选择6.4.3版本
    ES 6.4.3版本集群搭建_第2张图片

  • 选择linux版本
    ES 6.4.3版本集群搭建_第3张图片

安装jdk

  • 用jdk1.8版本

安装ES

  • jar包拉下到linux服务器
    ES 6.4.3版本集群搭建_第4张图片
  • 解压到/es路径下,复制三份
    在这里插入图片描述

集群配置

  • 配置集群 3个实例集群
  • 配置node1
  • vi /es/elasticsearch-node1/config/elasticsearch.yml
#这是集群名字,起名为 elasticsearch。es启动后会将具有相同集群名字的节点放到一个集群下。
cluster.name: elasticsearch
node.name: "es-node1" #节点名字
node.data: true #是数据节点
node.master: true #能选出master节点
path.data: /es/data/node1/data #存放数据路径
path.logs: /es/data/node1/log #存放日志路径
#指定集群中的节点中有几个有master资格的节点。对于大集群可以写3个以上。
discovery.zen.minimum_master_nodes: 2 
#默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,为避免因为网络差而导致启动报错,我设成了40s。
discovery.zen.ping_timeout: 40s
#设置是否打开多播发现节点。
#discovery.zen.ping.multicast.enabled: false
#设置绑定的ip地址,这是我的master的IP。对外暴露
network.bind_host: 172.25.32.148
#设置其他节点和该节点交互的IP地址
#同时设置bind_host和publish_host上面两个参数
network.publish_host: 172.25.32.148
network.host: 172.25.32.148
#集群ip
discovery.zen.ping.unicast.hosts: ["172.25.32.148:9300", "172.25.32.148:9301","172.25.32.148:9302"]
transport.tcp.port: 9300
http.port: 9200
# 是否支持跨域 head插件参数
http.cors.enabled: true
# *表示支持所有域名 head插件参数
http.cors.allow-origin: "*"
  • 配置node2
  • vi /es/elasticsearch-node2/config/elasticsearch.yml
#这是集群名字,起名为 elasticsearch。es启动后会将具有相同集群名字的节点放到一个集群下。
cluster.name: elasticsearch
node.name: "es-node2" #节点名字 集群需求修改
node.data: true #是数据节点
node.master: true #能选出master节点
path.data: /es/data/node2/data #存放数据路径
path.logs: /es/data/node2/log #存放日志路径
#指定集群中的节点中有几个有master资格的节点。对于大集群可以写3个以上。
discovery.zen.minimum_master_nodes: 2 
#默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,为避免因为网络差而导致启动报错,我设成了40s。
discovery.zen.ping_timeout: 40s
#设置是否打开多播发现节点。
#discovery.zen.ping.multicast.enabled: false
#设置绑定的ip地址,这是我的master的IP。对外暴露
network.bind_host: 172.25.32.148
#设置其他节点和该节点交互的IP地址
#同时设置bind_host和publish_host上面两个参数
network.publish_host: 172.25.32.148
network.host: 172.25.32.148
#集群ip
discovery.zen.ping.unicast.hosts: ["172.25.32.148:9300", "172.25.32.148:9301","172.25.32.148:9302"]
transport.tcp.port: 9301  #修改
http.port: 9201 #修改
# 是否支持跨域 head插件参数
http.cors.enabled: true
# *表示支持所有域名 head插件参数
http.cors.allow-origin: "*"
  • 配置node3
  • vi /es/elasticsearch-node3/config/elasticsearch.yml
#这是集群名字,起名为 elasticsearch。es启动后会将具有相同集群名字的节点放到一个集群下。
cluster.name: elasticsearch
node.name: "es-node3" #节点名字 集群需求修改
node.data: true #是数据节点
node.master: false #能选出master节点
path.data: /es/data/node3/data #存放数据路径
path.logs: /es/data/node3/log #存放日志路径
#指定集群中的节点中有几个有master资格的节点。对于大集群可以写3个以上。
discovery.zen.minimum_master_nodes: 2 
#默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,为避免因为网络差而导致启动报错,我设成了40s。
discovery.zen.ping_timeout: 40s
#设置是否打开多播发现节点。
#discovery.zen.ping.multicast.enabled: false
#设置绑定的ip地址,这是我的master的IP。对外暴露
network.bind_host: 172.25.32.148
#设置其他节点和该节点交互的IP地址
#同时设置bind_host和publish_host上面两个参数
network.publish_host: 172.25.32.148
network.host: 172.25.32.148
#集群ip
discovery.zen.ping.unicast.hosts: ["172.25.32.148:9300", "172.25.32.148:9301","172.25.32.148:9302"]
transport.tcp.port: 9302  #修改
http.port: 9202 #修改
# 是否支持跨域 head插件参数
http.cors.enabled: true
# *表示支持所有域名 head插件参数
http.cors.allow-origin: "*"

修改jvm内存

  • 默认是1g,我们改大些
  • vi /es/elasticsearch-node3/config/jvm.options
    在这里插入图片描述ES 6.4.3版本集群搭建_第5张图片

修改文件数目句柄

  • vi /etc/security/limits.conf #不然ES启动不了
    ES 6.4.3版本集群搭建_第6张图片

  • vi /etc/profile 修改
    新增参数 ulimit -n 65536
    source /etc/profile
    ES 6.4.3版本集群搭建_第7张图片

  • vi /etc/sysctl.conf 修改
    新增参数 vm.max_map_count=262144
    /sbin/sysctl -e -p /etc/sysctl.conf
    ES 6.4.3版本集群搭建_第8张图片

创建es用户

  • 命令
    groupadd elsearch
    useradd elsearch -g elsearch -p elasticsearch
    chown -R elsearch:elsearch es ##es路径下赋权给

启动es

  • 路径 /es/elasticsearch-node1/bin
  • 命令 ./elasticsearch -d #后台运行
  • 起3台机器,记得创建数据和日志文件夹
  • 浏览器访问 http://172.25.32.148:9200/
    ES 6.4.3版本集群搭建_第9张图片

安装head

  • 由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装。

  • head 安装路径 /es/head

  • 安装node.js

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.xz
    xz –d node-v6.10.2-linux-x64.tar.xz
    tar xvf node-v6.10.2-linux-x64.tar
    mv node-v6.10.2-linux-x64 /usr/local/node

  • 配置并生效
    vim /etc/profile
    export NODE_HOME=/usr/local/node
    export PATH= P A T H : PATH: PATH:NODE_HOME/bin

  • 查看版本验证
    node -v
    v6.10.2
    npm -v
    3.10.10

  • 如果未安装git ,则先安装git工具
    yum install –y git

  • 安装head插件
    git clone https://github.com/mobz/elasticsearch-head.git

  • 安装grunt
    cd elasticsearch-head
    npm install -g grunt --registry=https://registry.npm.taobao.org

  • 安装插件
    npm install
    在elasticsearch-head目录下node_modules/grunt下如果没有grunt二进制程序,需要执行:
    npm install grunt --save

  • 修改配置 elasticsearch-head下Gruntfile.js文件,修改connect配置节点
    ES 6.4.3版本集群搭建_第10张图片

  • 修改 elasticsearch-head 下 /_site/app.js 修改到本机ES端口与IP
    ES 6.4.3版本集群搭建_第11张图片

  • 启动head插件服务(后台运行)
    /es/head/elasticsearch-head/node_modules/grunt/bin/grunt server &
    访问路径 http://172.25.32.148:9100/
    ES 6.4.3版本集群搭建_第12张图片

你可能感兴趣的:(ES,集群搭建,elasticsearch,系统架构)