Elasticsearch 集群搭建-

七彩网络

昔年博客
首页>> Linux >>Elasticsearch 集群搭建
2019-12-16
分类: Linux

Elasticsearch 集群搭建

文章作者:本站整理
手机扫码查看

环境及软件 centos7 elasticsearch 7.4.0 因为ES7已经内置了所需的java的JDK版本,因此在此不再介绍jav......

环境及软件

  • centos7
  • elasticsearch 7.4.0

因为ES7已经内置了所需的java的JDK版本,因此在此不再介绍java安装

ES7安装方式使用RPM安装方式。

es节点列表

ip 节点名
192.168.1.100 es-node-master-01
192.168.1.101 es-node-master-02
192.168.1.102 es-node-master-03
192.168.1.103 es-node-data-01
192.168.1.104 es-node-data-02
192.168.1.105 es-node-data-03

安装es7

 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm.sha512
    shasum -a 512 -c elasticsearch-7.4.0-x86_64.rpm.sha512 
    sudo rpm --install elasticsearch-7.4.0-x86_64.rpm

通过以上命令安装的elasticsearch安装路径为:/etc/elasticsearch

使用systemd设置自动启动

 sudo systemctl daemon-reload
    sudo systemctl enable elasticsearch.service 

启动/停止 elasticsearch

 sudo systemctl start elasticsearch.service
    sudo systemctl stop elasticsearch.service

参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/rpm.html

修改系统配置

  • 修改文件描述符数量

elasticsearch对文件描述符的限制至少为65536,因此需要修改此配置。

 echo '* soft nofile 65536' >> /etc/security/limits.conf
    echo '* hard nofile 65536' >> /etc/security/limits.conf

    #查看配置,如果未生效重启配置
    ulimit -n
  • 修改max_map_count

临时修改:

 sysctl -w vm.max_map_count=655360

永久设置:

 echo 'vm.max_map_count=655360' >> /etc/sysctl.conf

elasticsearch基本配置

  • cluster.name

ES通过集群名称区分集群,因此集群内所有节点的节点名称必须保持一致。如:

 cluster.name: es-cluster
  • node.name

集群内节点的名称,同一集群内的节点名称必须保持唯一。如:

 node.name: es-master-01
  • node.master

标记节点可以选举为master节点。如果集群内的master节点停止,则该节点就会参与选举,可以成为master节点。如:

 node.master: true
  • node.data

允许该节点存储索引数据(默认).如:

 node.data: true
  • path.data

此路径是存放es数据的目录,可以任意指定。如果是生产环境建议设置的路径有足够的存储空间,如:

 path.data: /datadrive/elasticsearch/data
  • path.logs

此路径存储es产生的日志,生产环境建议与path.logs分开设置。如:

 path.data: /datadrive/elasticsearch/logs
  • network.host

es绑定的地址,支持IPv4和IPv6。是es的监听地址。如果设置具体的地址,则只能通过改地址访问,也可设置0.0.0.0则不限制访问地址.如:

 network.host: 0.0.0.0
  • http.port

外部访问es的http端口,默认9200。如:

 http.port: 9200
  • transport.tcp.port

集群节点通讯的tcp的端口,默认9300。如:

 transport.tcp.port: 9300
  • discovery.seed_hosts

集群搜索的主机列表。由discovery.zen.ping.unicast.hosts:参数改变而来。如:

 discovery.seed_hosts:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300","192.168.1.103:9300","192.168.1.104:9300","192.168.1.105:9300"] 
  • cluster.initial_master_nodes

集群主节点初始化列表,master选举列表。

 cluster.initial_master_nodes:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300"]

启动elasticsearch

elasticsearch集群的其他节点通过transport.tcp.port端口访问elasticsearch实例。对外提供服务通过http.port端口。因此需要确保这两个端口开放。

centos7开放端口

 firewall-cmd --zone=public --add-port=9300/tcp --permanent
    firewall-cmd --zone=public --add-port=9200/tcp --permanent
    firewall-cmd --reload

配置完成所有节点后分别启动elasticsearch服务。

 systemctl start elasticsearch.service

所有节点都启动后可以访问任一节点查看集群状态,可以通过浏览器或curl节点地址。如:

 curl -XGET 'http://192.168.1.100:9200/_cluster/state?pretty'

安装kibana

kibana可用于可视化管理elasticsearch。kibana在任一个节点安装即可。kibana只需要能访问到elasticsearch集群中的一个节点就能管理整个集群。


×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:昔年博客 » Elasticsearch 集群搭建
标签: 运维
分享本文至:
点击评论 您阅读这篇文章共花了: 

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)