elasticsearch集群部署

https://www.bbsmax.com/A/RnJWNrpEzq/
https://www.cnblogs.com/fzxiaomange/p/efk-userauth.html

  1. 服务器配置,三台centos虚拟机,ip列表如下:
    192.168.65.19
    192.168.68.56
    192.168.65.20
    192.168.68.57
  2. 安装es之前先安装jdk,jdk的安装略去。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
  1. 三台服务器es安装路径信息
cd /data/tocat/es
mkdir data
mkdir logs
  1. 三台服务器配置如下:
    192.168.65.19配置信息:
vim config/elasticsearch.yml
#配置es的集群名称,默认是elasticsearch,
#es会自动发现在同一网段下的es,
# 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: hips_es
#
# ------------------------------------ Node ------------------------------------
node.name: node_04
node.master: true
node.data: true
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /data/tomcat/es/data
#
# Path to log files:
#
path.logs: /data/tomcat/es/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300

discovery.zen.ping.unicast.hosts: ["192.168.65.19:9300","192.168.68.56:9300", "192.168.65.20:9300","192.168.68.57:9300"]

discovery.zen.minimum_master_nodes: 3

其他配置信息:
只需要修改node.name即可:

node.name: node_02
node.name: node_03
node.name: node_04
  1. 分别启动三台服务器上的es,(这里不能使用root用户启动,请创建个普通用户,如何创建,略去)
./bin/elasticsearch -d
  1. 查看集群信息:
    浏览器访问:http://ip:9200/_cat/nodes?v
curl -XGET 'http://192.168.65.19:9200/_cat/nodes?v'

显示结果如下:

image.png

报错参考

  1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
*               soft    nofile          65536
*               hard    nofile         65536
  1. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    修改/etc/sysctl.conf文件,增加配置
vi /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p

添加认证

  1. 生成证书
    es集群通过证书来安全的组成集群
    运行
    bin/elasticsearch-certutil cert
    注意: 密码后面需要单独设置,这里是集群安全认证,建议密码不设置,成功后生成的证书默认在es的config目录里面 elastic-certificates.p12;分别copy一份到其他节点的config里面(默认目录)
    在elasticsearch.yml配置添加
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

4、给认证的集群创建用户密码

bin/elasticsearch-setup-passwords interactive

y,分别设置 elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user账号的密码。
elastic 账号:拥有 superuser 角色,是内置的超级用户。
kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。
beats_system账号:拥有 beats_system 角色。用户 Beats 在 Elasticsearch 中存储监控信息时使用。
elastic是超级用户
5、配置kibana认证
修改 kibana.yml 文件

elasticsearch.username: "kibana"
elasticsearch.password: "handhand23"

curl localhost:9200 -u elastic:handhand23

你可能感兴趣的:(elasticsearch集群部署)