elasticsearch 6.8集群配置(推荐)

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

elasticsearch 6.8集群配置

资源下载

版本 6.8.23
elasticsearch下载
kibana 下载
elasticsearch IK分词器下载

elasticsearch 比较全的下载地址(https://elasticsearch.cn/download/#seg-3),所有历史版本包括 kibana、logstash等等

安装环境

系统: linux centos7

${ES_HOME}为ES安装目录

部署步骤

  1. 下载安装包
  2. 可选-生成证书(要安装xpack才是必须的)
  3. elasticsearch 配置
  4. 可选-kibana安装

部署

下载

到 elasticsearch下载 对应版本的 es。

部署

解压安装包

tar -xzf xxx.tar.gz
单机部署
启动配置

vm.max_map_count

[2022-07-27T15:40:46,016][INFO ][o.e.d.DiscoveryModule    ] [node-1] using discovery type [zen] and host providers [settings]
[2022-07-27T15:40:47,103][INFO ][o.e.n.Node               ] [node-1] initialized
[2022-07-27T15:40:47,103][INFO ][o.e.n.Node               ] [node-1] starting ...
[2022-07-27T15:40:47,441][INFO ][o.e.t.TransportService   ] [node-1] publish_address {172.18.0.1:9300}, bound_addresses {[::]:9300}
[2022-07-27T15:40:47,461][INFO ][o.e.b.BootstrapChecks    ] [node-1] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

elasticsearch 6.8集群配置(推荐)

vi /etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535
* soft nproc  4096
* hard nproc  4096
其中 :
nofile : 一个进程最多能打开的的文件数
nproc : 一个用户最多能创建的进程数
————————————————
版权声明:本文为CSDN博主「这是谁的博客?」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a13662080711/article/details/112800370
启动

进入 ${ES_HOME} 中

# 启动
./bin/elasticsearch
# -d 后台启动运行, -p 运行是的进程id 写到当前目录的 pid 文件中
./bin/elasticsearch -d -p pid
集群部署
  • 单机集群
    用于测试,其他配置使用默认值。
# 集群默认名 elasticsearch,如需要指定 增加  -E cluster.name=elasticsearch。 
./bin/elasticsearch -d -E node.name=node-1 -E path.data=data1 -E path.logs=logs1 -p pid1
./bin/elasticsearch -d -E node.name=node-2 -E path.data=data2 -E path.logs=logs2 -p pid2
./bin/elasticsearch -d -E node.name=node-3 -E path.data=data3 -E path.logs=logs3 -p pid3

启动时会自动使用端口,按启动顺序分配,9200、9201、9202,对应的 9300、9301、9302

  • 多服务器集群
    一个节点一台服务器
cluster.name: elasticsearch # 不配置,默认elasticsearch 
node.name: node-1 # 每个节点配置不同,不配置默认使用主机名,同一太服务器未设置则都是去主机名
network.host: 0  # 等同 0.0.0.0
discovery.zen.ping.unicast.hosts: ["hosts1", "hosts2", "hosts3"]  # es8.1.x 使用 discovery.seed_hosts
# 跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

# http.port: 9200 # 使用默认端口可不配置
# transport.tcp.port: 9300 # 使用默认端口可不配置

启用XPACK

1.生成证书

第一次启动 elasticsearch前

# 生成默认名称为 elastic-stack-ca.p12 的文件
bin/elasticsearch-certutil ca
# 生成 elastic-certificates.p12 文件
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 将文件移动到 ${ES_HOME}/config/certs 目录下
mkdir ${ES_HOME}/config/certs
mv elastic-stack-ca.p12 elastic-certificates.p12 ${ES_HOME}/config/certs、
  • bin/elasticsearch-certutil ca
    该命令输出单个文件,默认名称为elastic-stack-ca.p12. 此文件是一个 PKCS#12 密钥库,其中包含 CA 的公共证书和用于签署每个节点的证书的私钥。
  • bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    生成的文件名: elastic-certificates.p12。输出是单个 PKCS#12 密钥库,其中包括节点证书、节点密钥和 CA 证书
密码为空无需此步骤

如果您使用密码保护了节点的证书,请将密码添加到您的 Elasticsearch 密钥库:如果签名证书是 PKCS#12 格式,请使用以下命令:

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

没有密码无需执行此命令

2. 修改elasticsearch.yml配置
# 加密节点间通信-每个节点容器都要添加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 

es 6.8.x 中 配置安全后,es 9200端口仍然时http访问方式,只是内部通信使用了 https的安全通信。
kibana 6.8.x对应的配置默认访问是https

设置内建用户密码

需要有 elasticsearch.kestore 文件,这个文件在 elasticsearch 启动时会自动生成在 ${ES_HOME}/config/ 目录下。

# 交互式修改密码,执行此密码需要启动 xpack.security.enabled: true
${ES_HOME}/bin/elasticsearch-setup-passwords interactive

elasticsearch 6.8集群配置(推荐)
elasticsearch.yml 配置
elasticsearch 6.8集群配置(推荐)
elasticsearch 6.8集群配置(推荐)

kibana配置

未启用XPACK

kibana.yml

配置修改

server.host: "0"  # 等同 0.0.0.0 外部可访问,默认值 localhost 只能本机访问
# 默认 en
i18n.locale: "zh-CN" # 必须配置
启动

命令

# -H 0 等同 0.0.0.0 , -p 默认  5601
./bin/kibana -H 0.0.0.0 -p 5601
# 后台启动
nohup ./bin/kibana &

elasticsearch 6.8集群配置(推荐)

启用XPACK

kibana.yml 配置修改

server.host: "0"  # 等同 0.0.0.0 外部可访问,默认值 localhost 只能本机访问
# 默认 en
i18n.locale: "zh-CN" # 必须配置

elasticsearch.hosts: ["http://localhost:9200"]
elasticsearch.username: "kibana"
elasticsearch.password: "xxxxxx" # 前面设置的内置用户密码

使用脚本

elasticsearch 6.8集群配置(推荐)

修改密码

kibana修改

可以通过 kibana 中界面设置修改密码
elasticsearch 6.8集群配置(推荐)

登录其中一台ES服务器修改用户密码即可:

curl -H "Content-Type:application/json" -XPOST -u elastic  'http://172.18.252.101:9301/_xpack/security/user/用户名/_password' -d '{ "password" : "修改后的密码xxxx" }'

中间会提示让输入elastic的密码。
示例:

#将elastic密码改为123321
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://172.18.252.101:9301/_xpack/security/user/elastic/_password' -d '{ "password" : "123321" }'

ES怎样修改账号密码 原文链接:https://blog.csdn.net/yabingshi_tech/article/details/121474154文章来源地址https://www.toymoban.com/news/detail-447604.html

配置IP白名单

Elasticsearch 配置IP白名单
Elassticsearch实现IP白名单有两种方式,一种是使用xpack提供的Http Filter功能来实现,另外一种是使用Nginx实现IP的过滤,其中第一种为Elasticsearch的收费功能。下面对两种实现方式进行详细介绍。

本次使用的Elasticsearch版本为6.8.3。

使用xpack提供的HTTP Filter功能实现IP白名单
注意:但此功能是白金和黄金许可的一部分,是收费功能。

elasticsearch.yml 配置示例:

复制代码
xpack.security.http.filter.enabled: true
xpack.security.http.filter.allow: "172.31.6.21"
xpack.security.http.filter.deny: "172.31.6.0/24"
xpack.security.http.filter.allow: [ "172.31.6.20", "172.31.6.21", "172.31.6.22"]
xpack.security.http.filter.deny: _all
xpack.security.transport.filter.enabled: true
xpack.security.transport.filter.allow: [ "172.31.6.20", "172.31.6.21", "172.31.6.22"]
xpack.security.transport.filter.deny: _all
复制代码
使用Nginx反向代理实现IP过滤
有三种方式可以实现IP过滤,具体内容如下。

利用$remote_addr参数进行访问的分发限制
配置示例:

复制代码
worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    server {
        listen       19200;
        server_name  localhost;
        # 白名单及代理转发
        if ($remote_addr !~ ^(100.110.15.16|100.110.15.17|100.110.15.18|127.0.0.1)) {
         rewrite ^.*$ /maintence.php last;
        }
 
        location / {
            # Elasticsearch服务代理
            proxy_pass http://172.31.6.21:9200;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       15601;
        server_name  localhost;
        # 白名单及代理转发
        if ($remote_addr !~ ^(100.110.15.16|100.110.15.17|100.110.15.18|127.0.0.1)) {
         rewrite ^.*$ /maintence.php last;
        }
 
        location / {
            # Kibana服务代理
            proxy_pass http://172.31.6.21:5601;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 
}
复制代码
使用$http_x_forwarded_for参数进行访问的分发限制
配置示例:

复制代码
worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    server {
        listen       19200;
        server_name  localhost;
        # 白名单及代理转发
        if ($http_x_forwarded_for !~ ^(100.110.15.16|100.110.15.17|100.110.15.18|127.0.0.1)) {
           rewrite ^.*$  /maintence.php last;
        }
 
        location / {
            # Elasticsearch服务代理
            proxy_pass http://172.31.6.21:9200;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       15601;
        server_name  localhost;
        # 白名单及代理转发
        if ($http_x_forwarded_for !~ ^(100.110.15.16|100.110.15.17|100.110.15.18|127.0.0.1)) {
           rewrite ^.*$  /maintence.php last;
        }
 
        location / {
            # Kibana服务代理
            proxy_pass http://172.31.6.21:5601;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 
}
复制代码
 

利用nginx的allow、deny参数进行访问限制
配置示例:

复制代码
worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    server {
        listen       19200;
        server_name  localhost;
        # 白名单及代理转发
        allow 172.31.6.22;      #白名单
        allow 192.168.0.0/24;   #白名单
        allow 127.0.0.1;        #白名单
        deny all;               #拒绝其他访问
 
        location / {
            # Elasticsearch服务代理
            proxy_pass http://172.31.6.21:9200;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       15601;
        server_name  localhost;
        # 白名单及代理转发
        allow 172.31.6.22;      #白名单
        allow 192.168.0.0/24;   #白名单
        allow 127.0.0.1;        #白名单
        deny all;               #拒绝其他访问
 
        location / {
            # Kibana服务代理
            proxy_pass http://172.31.6.21:5601;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 
}

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

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

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

相关文章

  • Elasticsearch 8 集群配置

    Centos 8 安装 Elasticsearch 8 ES集群至少需要三台服务器: 启动过程如果有报错,先把elasticsearch/data目录下的文件全部删除,再试试。

    2024年02月12日
    浏览(29)
  • ElasticSearch集群服务器配置

    一、环境介绍与安装准备 1、环境说明 2台虚拟机,OS为ubuntu13.04,ip分别为xxx.xxx.xxx.140和xxx.xxx.xxx.145。 2、安装准备 ElasticSearch(简称ES)由java语言实现,运行环境依赖java。ES 1.x版本,官方推荐至少使用jdk1.6的环境,建议使用oracle java,可以去官网下载,本文使用jdk-7u51-linux-i586.

    2023年04月21日
    浏览(74)
  • mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群

    Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为Kibana无法获取集群中的节点信息。 现在在mac下安装三个ES实例,

    2024年02月10日
    浏览(54)
  • Elasticsearch8 集群搭建(二)配置篇:(2)系统配置

    此篇记录Elasticsearch8的一些 系统配置。 1、更改文件描述符的限制 Elasticsearch使用了大量的文件描述符,它用于表示系统打开的文件的标识符。文件描述符是非负整数,它在操作系统层面被用来唯一标识一个打开的文件、套接字或其他 I/O 资源。每个进程都有一组文件描述符,

    2024年01月19日
    浏览(43)
  • Elasticsearch & Kibana 8.6.1 集群配置

    Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。 Elasticsearch可以看做一个便于搜索的数据库,相比传统关系型数据库如下 Mysql ‐ Databases ‐ Tables ‐ Rows ‐ Columns Elasticsearch ‐ Indices ‐ Types ‐ Documents

    2024年02月14日
    浏览(37)
  • Elasticsearch7搭建集群并配置节点证书

    Elasticsearch7搭建集群并配置节点证书 | 帅大叔的博客 单机版比较简单,试下集群版的,资源有限,本文例子:一台主机以不同端口启动搭建集群。 环境说明: Centos7 Elasticsearch7.9.0 准备搭建3个节点 一、下载ES安装包 去官网下载 下载地址: Download Elasticsearch | Elastic 历史版本:

    2024年02月12日
    浏览(52)
  • Elasticsearch密码配置(包括集群与单节点)

    1,修改配置文件 在配置文件中添加如下参数: 2, 重启es服务 关闭es服务如果服务启动(kill进程id) 启动es服务 3,执行修改密码命令 待服务启动完成,且能正常访问后,执行 注意在普通用户下执行,即es用户 执行命令后会提示让输入密码,挨个输入回车即可 若执行提示(

    2024年02月02日
    浏览(36)
  • elasticsearch配置xpack集群间加密认证时报错:

    通过证书配置集群间节点通信认证: 报错信息: 各种尝试:授权文件777、把文件放在config/certs下、放在/opt/elaticsearch/certs下,都想不通,然后猜测可能是路径问题,于是不写绝对路径,指定相对路径,看看es从那个目录下获取,改了之后包如下错误,发现是从/etc/elasticsearch

    2024年02月13日
    浏览(40)
  • 从入门到进阶 之 ElasticSearch 节点配置 集群篇

      详解 ElasticSearch Kibana 配置部署_PJ码匠人的博客-CSDN博客 Elasticsearch 安装,配置文件参数修改,错误修复,用户验证,kibana安装配置,参数设置 https://meyan.blog.csdn.net/article/details/132580977 链接:https://pan.baidu.com/s/1V7jxVhUFvsINrH7zz9Laeg?pwd=n9cx  提取码:n9cx  错误   解决方法 将配置

    2024年02月07日
    浏览(53)
  • Elasticsearch3节点集群配置账号密码安全验证

    Elasticsearch3节点集群配置账号密码安全验证 ES配置文件 生成CA证书 拷贝证书文件到es节点目录 拷贝证书到es节点并授权 拷贝es配置文件到es节点 三个节点启动ES 登录任一节点设置密码 配置kibana

    2024年02月14日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包