Elasticsearch集群部署

这篇具有很好参考价值的文章主要介绍了Elasticsearch集群部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Elasticsearch集群部署

需jdk环境

1.解压jdk安装包

[root@localhost opt]# tar xf jdk-8u191-linux-x64.tar.gz
[root@localhost opt]# mv jdk1.8.0_191   java

2.配置环境变量

 vim /etc/profile
#Java
export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=/opt/java/jre

3.执行profile文件

source /etc/profile

4.检查jdk

java  -version

上传安装包

tar -zxvf elasticsearch-7.15.0-linux-x86_64.tar.gz -C /usr/local

cd /usr/local/

修改jvm.options配置,vim /elasticsearch-7.15.0/config

## 修改内存大小 ,内存小就设置成这样了

-Xms512m

-Xmx512m

修改node-1的elasticsearch.yml 配置文件

vim config/elasticsearch.yml

# 集群名称,三台集群,要配置相同的集群名称!!!

cluster.name: my-application

# 节点名称

node.name: node-1

# 是否有资格被选举为master,ES默认集群中第一台机器为主节点

node.master: true

# 是否存储数据

node.data: true

#最⼤集群节点数,为了避免脑裂,集群节点数最少为 半数+1

node.max_local_storage_nodes: 3

# 数据目录

path.data: /usr/local/node-1/data

# log目录

path.logs: /usr/local/node-1/logs

# 修改 network.host 为 0.0.0.0,表示对外开放,如对特定ip开放则改为指定ip

network.host: 0.0.0.0

# 设置对外服务http端口,默认为9200

http.port: 9200

# 内部节点之间沟通端⼝

transport.tcp.port: 9300

# 写⼊候选主节点的设备地址,在开启服务后可以被选为主节点

discovery.seed_hosts: ["172.18.0.130:9300", "172.18.0.137:9301", "172.18.0.138:9302"]

# 初始化⼀个新的集群时需要此配置来选举master

cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

# 设置集群中N个节点启动时进行数据恢复,默认为1

gateway.recover_after_nodes: 3

# 下面的两个配置在安装elasticsearch-head的时候会用到

# 开启跨域访问支持,默认为false

http.cors.enabled: true

# 跨域访问允许的域名地址,(允许所有域名)以上使用正则

http.cors.allow-origin: "*"

#关闭xpack

xpack.security.enabled: false

复制当前es构建其他数据节点

scp elasticsearch.yml root@172.18.0.137:/usr/local/elasticsearch-7.15.0/config/

修改node-2的elasticsearch.yml 配置文件

vim config/elasticsearch.yml

# 集群名称,三台集群,要配置相同的集群名称!!!

cluster.name: my-application

# 节点名称

node.name: node-2

# 是否有资格被选举为master,ES默认集群中第一台机器为主节点

node.master: true

# 是否存储数据

node.data: true

#最⼤集群节点数,为了避免脑裂,集群节点数最少为 半数+1

node.max_local_storage_nodes: 3

# 数据目录

path.data: /usr/local/node-2/data

# log目录

path.logs: /usr/local/node-2/logs

# 修改 network.host 为 0.0.0.0,表示对外开放,如对特定ip开放则改为指定ip

network.host: 0.0.0.0

# 设置对外服务http端口,默认为9200,可更改端口不为9200

http.port: 9201

# 内部节点之间沟通端⼝

transport.tcp.port: 9301

# 写⼊候选主节点的设备地址,在开启服务后可以被选为主节点

discovery.seed_hosts: ["172.18.0.130:9300", "172.18.0.137:9301", "172.18.0.138:9302"]

# 初始化⼀个新的集群时需要此配置来选举master

cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

# 设置集群中N个节点启动时进行数据恢复,默认为1

gateway.recover_after_nodes: 3

# 下面的两个配置在安装elasticsearch-head的时候会用到

# 开启跨域访问支持,默认为false

http.cors.enabled: true

# 跨域访问允许的域名地址,(允许所有域名)以上使用正则

http.cors.allow-origin: "*"

修改node-3的elasticsearch.yml 配置文件

# 集群名称,三台集群,要配置相同的集群名称!!!

cluster.name: my-application

# 节点名称

node.name: node-3

# 是否有资格被选举为master,ES默认集群中第一台机器为主节点

node.master: true

# 是否存储数据

node.data: true

#最⼤集群节点数,为了避免脑裂,集群节点数最少为 半数+1

node.max_local_storage_nodes: 3

# 数据目录

path.data: /usr/local/node-3/data

# log目录

path.logs: /usr/local/node-3/logs

# 修改 network.host 为 0.0.0.0,表示对外开放,如对特定ip开放则改为指定ip

network.host: 0.0.0.0

# 设置对外服务http端口,默认为9200,可更改端口不为9200

http.port: 9202

# 内部节点之间沟通端⼝

transport.tcp.port: 9302

# 写⼊候选主节点的设备地址,在开启服务后可以被选为主节点

discovery.seed_hosts: ["172.18.0.130:9300", "172.18.0.137:9301", "172.18.0.138:9302"]

# 初始化⼀个新的集群时需要此配置来选举master

cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

# 设置集群中N个节点启动时进行数据恢复,默认为1

gateway.recover_after_nodes: 3

# 下面的两个配置在安装elasticsearch-head的时候会用到

# 开启跨域访问支持,默认为false

http.cors.enabled: true

# 跨域访问允许的域名地址,(允许所有域名)以上使用正则

http.cors.allow-origin: "*"

#关闭xpack

xpack.security.enabled: false

#关闭xpack

xpack.security.enabled: false

创建ES存储数据和log目录,根据之前每个节点的配置文件内配置path进行创建或修改

mkdir -p /usr/local/node-1/data

mkdir -p /usr/local/node-1/logs

mkdir -p /usr/local/node-2/data

mkdir -p /usr/local/node-2/logs

mkdir -p /usr/local/node-3/data

mkdir -p /usr/local/node-3/logs

创建普通用户,由于ES需要使用非root用户来启动,所以下面创建一个普通用户

#创建elasticsearch用户组

groupadd elasticsearch

#创建新用户elasticsearch ,设置用户组为elasticsearch ,密码123456

useradd elasticsearch -g elasticsearch -p 123456

#授权,更改/elasticsearch-7.15.0文件夹所属用户及用户组为elasticsearch:elasticsearch

chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-7.15.0/

#切换用户elasticsearch

su elasticsearch

9、给节点文件授权:

chown -R elasticsearch:elasticsearch /usr/local/node-1

chown -R elasticsearch:elasticsearch /usr/local/node-2

chown -R elasticsearch:elasticsearch /usr/local/node-3

10.启动

进入elasticsearch /bin目录下

./elasticsearch -d

报错修改

1.配置文件修改错误,此处注意

elasticsearch集群安装部署,elasticsearch,java,大数据

elasticsearch集群安装部署,elasticsearch,java,大数据

/etc/security/limits.conf文件尾添加,此配置重启生效。(eselasticsearch服务启动用户,此处可以用*号代替用户)

es hard nofile 65536

es soft nofile 65536

es soft nproc 65535

es hard nproc 65535

[root@test elasticsearch-7.15.0]# ulimit -Sn

[root@test elasticsearch-7.15.0]# ulimit -Hn

elasticsearch集群安装部署,elasticsearch,java,大数据

因为elasticsearch用户拥有的内存权限太小,至少需要262144。解决方案,切换到root用户下,在/etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

执行生效

/sbin/sysctl -p

elasticsearch集群安装部署,elasticsearch,java,大数据

elasticsearch集群安装部署,elasticsearch,java,大数据

配置文件权限问题,设置为elasticsearch启动用户

[root@test config]# chown es.es elasticsearch.keystore

elasticsearch集群安装部署,elasticsearch,java,大数据

数据目录权限问题,设置为elasticsearch启动用户

[root@test local]# chown es.es -R node-3/

访问IP:9200

elasticsearch集群安装部署,elasticsearch,java,大数据

访问IP:9201

elasticsearch集群安装部署,elasticsearch,java,大数据

访问IP:9202

elasticsearch集群安装部署,elasticsearch,java,大数据

查询集群状态命令:

[root@localhost local]# curl -XGET "http://192.168.80.63:9200/_cluster/health?pretty"

[root@localhost local]# curl -XGET “http://192.168.80.64:9200/_cluster/health?pretty”

[root@localhost local]# curl -XGET "http://192.168.80.65:9200/_cluster/health?pretty"

elasticsearch集群安装部署,elasticsearch,java,大数据

集群设置密码

  1. 修改elasticsearch.yml文件,三台服务器配置均修改

添加配置

#以下配置用于设置密码访问ES集群,如不需要可以不用

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

2. 生成 TLS 和身份验证

       单独使用一个节点生成证书,证书会生成在config目录下,证书文件名为 elastic-certificates.p12

进入es目录:

bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

elasticsearch集群安装部署,elasticsearch,java,大数据

3. 将 config目录下的elastic-certificates.p12文件上传至其他2台服务器的config目录下

scp elastic-certificates.p12 root@192.168.80.64:/usr/local/elasticsearch-7.15.0/config/

scp elastic-certificates.p12 root@192.168.80.65:/usr/local/elasticsearch-7.15.0/config/

4.重启es服务

杀掉ES进程,关闭服务

elasticsearch集群安装部署,elasticsearch,java,大数据

再次启动es服务

cd /usr/local/elasticsearch-7.15.0

./elasticsearch -d

设置密码,在服务器1上执行命令(随后按照提示依次输入elasticapm_systemkibanalogstash_systembeats_systemremote_monitoring_user6个用户的密码,完成后数据会自动同步至其他2个节点。):

bin/elasticsearch-setup-passwords interactive

键入y 回车

并依次键入服务密码回车即可

elasticsearch集群安装部署,elasticsearch,java,大数据

再次在浏览器中访问ES,http://ip地址:9200,就可以看到需要用户名密码访问

elasticsearch集群安装部署,elasticsearch,java,大数据

elasticsearch集群安装部署,elasticsearch,java,大数据

查看集群状态命令:

curl -XGET "http://192.168.80.63:9200/_cluster/health?pretty" --user elastic:qwe123

elasticsearch集群安装部署,elasticsearch,java,大数据文章来源地址https://www.toymoban.com/news/detail-849207.html

到了这里,关于Elasticsearch集群部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch+kibana集群安装部署并配置ssl连接

    三台机器192.168.1.21、22、23主机名分别是es1、es2、es3 准备工作:关闭防火墙,关闭SeLinux,将elasticsearch和jdk的压缩包传到机器上,此处jdk-8u333-linux-x64.tar.gz,elasticsearch-7.6.2-linux-x86_64.tar.gz,kibana-7.6.2-linux-x86_64.tar.gz 安装Java环境 安装es 配置es 目录权限修改 更改内存限制 其他两台

    2024年02月12日
    浏览(46)
  • k8s集群部署elasticsearch集群和elasticsearch集群设置用户密码

    目录 一、背景: 二、部署elasticsearch集群: 1、部署elasticsearch集群: 2、验证elasticsearch集群是否正常:  三、部署elasticsearch集群并设置用户密码 1、生产elastic集群所需的证书: 2、重新建构elasticsearch镜像: 3、部署elasticsearch集群: 4、设置elasticsearch集群的密码: 5、测试验证

    2024年04月13日
    浏览(40)
  • Elasticsearch集群部署

    Elasticsearch集群部署 需jdk环境 1.解压jdk安装包 [root@localhost opt]# tar xf jdk-8u191-linux-x64.tar.gz [root@localhost opt]# mv jdk1.8.0_191   java 2.配置环境变量  vim /etc/profile #Java export JAVA_HOME=/opt/java export PATH=$PATH:$JAVA_HOME/bin export JRE_HOME=/opt/java/jre 3.执行profile文件 source /etc/profile 4.检查

    2024年04月12日
    浏览(25)
  • 【Elasticsearch】集群部署

    本着生产ES基本上都部署在Linux系统上,本文主要介绍如何在Linux上部署ES集群,分两个部分:非docker版与docker版 创建 elasticsearch-cluster 文件夹,在内部复制三个 elasticsearch 服务 修改集群文件目录中每个节点的 config/elasticsearch.yml 配置文件 node-1001节点 node-1002 节点 node-1003 节点

    2024年02月04日
    浏览(32)
  • elasticsearch集群部署搭建(一)

    Elasticsearch 是一个 分布式、高扩展、高实时的搜索与数据分析引擎 。它能很方便的使大量数据具有搜索、分析和探索的能力。它目前被广泛地使用于各个 IT 公司。 服务器版本 :CentOS Linux release 7.7.1908 (Core) 部署清单 : 序号 部署IP nodeName 集群角色 备注 1 192.168.1.1 node1 master

    2024年02月14日
    浏览(42)
  • Docker Elasticsearch集群部署

    (1)Centos7 (2)Docker 23.0.1 (3)Elasticsearch 7.16.3 名称 ip地址 内存 节点一 192.16.109.113 16G 节点二 192.16.109.114 16G 节点三 192.16.109.115 16G 在三个服务器节点上执行如下操作: 准备映射目录 切换到/home目录中,创建elasticsearch目录,切换到elasticsearch目录中。 临时启动elasticsearch 复制

    2024年02月08日
    浏览(47)
  • Docker部署Elasticsearch集群

    2024年02月16日
    浏览(35)
  • Elasticsearch基础篇(三):Elasticsearch7.x的集群部署

    Elasticsearch集群是一个强大的搜索和分析引擎,由多个节点组成,每个节点都是一个独立的Elasticsearch实例。这些节点协同工作,共同构建一个高度可用和可扩展的搜索引擎。本文将深入探讨Elasticsearch集群的架构和部署,包括主节点、数据节点、客户端节点、分片以及节点间的

    2024年02月05日
    浏览(56)
  • Elasticsearch 7.10.2 部署集群搭建

    官方网站查看下载地址 Download Elasticsearch | Elastic 修改es配置 修改jvm相关配置 修改elasticsearch.yml #节点名字 node.name: node-2 #端口 http.port: 19202 #节点名字 node.name: node-3 #端口 http.port: 19203

    2024年02月14日
    浏览(52)
  • Elasticsearch+Kibana集群部署(3节点)

    l i n d o r − − 良民笔记 lindor--良民笔记 l in d or − − 良民笔记 前言    仅作为笔记并记录elk搭建过程和搭建中遇到的问题, 转载请注明出处 ,目前该章节只讲述了 elasticsearch+Kibana 的安装过程,以及安装中的一些简单报错;适合有适当基础的同学,理论表的比较少。 ‍

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包