Linux搭建ElasticSearch(ES)集群并设置密码登录_es集群设置登录密码-程序员宅基地

技术标签: 1024程序员节  elasticsearch  

1. 环境信息

操作系统:CentOS7或者Amazon Linux 2

内核架构:x86_64

ElasticSearch版本:6.8.10

JDK版本:8u351

本次搭建的3台服务器IP地址:

ES节点 IP地址
es-node1 172.16.1.21
es-node2 172.16.1.22
es-node3 172.16.1.23

安装目录:/data

2. 下载ES安装包

在3台服务器上各自下载tar.gz包:

wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.10.tar.gz

也可以在官网中下载,下载地址Elasticsearch 6.8.10 | Elastic

 解压安装包至/data目录:

tar -zxvf elasticsearch-6.8.10.tar.gz -C /data

3. 安装JDK

在3台服务器上各自下载rpm包

JDK官网地址:

https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

注意:需要登录Oracle才能下载,可以注册一个账号使用。

选择JAVA8中的Linux 64位的rpm包,点击下载

 将下载的JDK安装包上传至服务器/data/software目录,然后rpm直接安装JDK:

rpm -ivh /data/software/jdk-8u351-linux-x64.rpm

完成后输入java -version可以看到以下输出:

配置java环境变量:

vim /etc/profile

在末尾增加以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_351-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

wq保存退出后,输入命名生效:

source /etc/profile

3. 搭建ElasticSearch集群

解压完成后,ES的目录为/data/elasticsearch-6.8.10

创建数据目录、日志目录:

mkdir -p /data/elasticsearch-6.8.10/data
mkdir -p /data/elasticsearch-6.8.10/logs

配置修改

编辑elasticsearch.yml,开始修改ElasticSearch集群的配置,3台服务器上的配置不同。

vim /data/elasticsearch-6.8.10/config/elasticsearch.yml

其中,服务器1配置如下:

cluster.name: es-cluster    #集群名称
node.name: es-node1    #当前节点名称
node.master: true    #允许当前节点作为master主节点
node.data: true

path.data: /data/elasticsearch-6.8.10/data    #ES集群数据目录
path.logs: /data/elasticsearch-6.8.10/logs    #ES集群日志目录

network.host: 0.0.0.0    #配置0.0.0.0允许其他地址访问
http.port: 9200    #对外访问端口
transport.tcp.port: 9300
transport.tcp.compress: true

discovery.zen.ping.unicast.hosts: ["172.16.1.21", "172.16.1.22", "172.16.1.23"]    #集群的所有节点的IP地址
discovery.zen.minimum_master_nodes: 2    #集群正常运行的节点数量,一般为半数+1
discovery.zen.ping_timeout: 3s    #集群节点发现超时时间

http.cors.enabled: true    #允许跨域访问
http.cors.allow-origin: "*"

#以下配置用于设置密码访问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配置如下:

cluster.name: es-cluster
node.name: es-node2    #节点名称,集群内各个节点名称唯一
node.master: true
node.data: true

path.data: /data/elasticsearch-6.8.10/data
path.logs: /data/elasticsearch-6.8.10/logs

network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
transport.tcp.compress: true

discovery.zen.ping.unicast.hosts: ["172.16.1.21", "172.16.1.22", "172.16.1.23"] 
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 3s

http.cors.enabled: true
http.cors.allow-origin: "*"

#以下配置用于设置密码访问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

服务器3配置如下:

cluster.name: es-cluster
node.name: es-node3    #节点名称,集群内各个节点名称唯一
node.master: true
node.data: true

path.data: /data/elasticsearch-6.8.10/data
path.logs: /data/elasticsearch-6.8.10/logs

network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
transport.tcp.compress: true

discovery.zen.ping.unicast.hosts: ["172.16.1.21", "172.16.1.22", "172.16.1.23"] 
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 3s

http.cors.enabled: true
http.cors.allow-origin: "*"

#以下配置用于设置密码访问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

其他配置修改,主要是修改jvm的运行内存大小,可以根据实际情况按需修改:

vim /data/elasticsearch-6.8.10/config/jvm.options

修改其中的以下两条,根据实际情况按需修改:

-Xms1g
-Xmx1g

系统参数修改:

vim /etc/security/limits.conf

在末尾增加以下内容:

*                soft    nofile          65536
*                hard    nofile          65536
*                soft    nproc           4096
*                hard    nproc           4096

修改/etc/sysctl.conf配置:

vim /etc/sysctl.conf
vm.max_map_count=655360

修改完成保存生效:

sysctl -p

运行用户创建

由于ES集群不允许root用户运行,需要创建ES运行用户:

# 创建用户组
groupadd es
# 创建用户并添加至用户组
useradd es -g es 
# 更改用户密码(输入 es)
passwd es

修改目录权限:

sudo chown -R es:es  /data/elasticsearch-6.8.10

切换用户:

su es

至此安装ElasticSearch集群就结束了,不需要开启密码访问的话,就可以直接启动3台服务器的ES集群服务了。

启动服务

cd /data/elasticsearch-6.8.10/bin
./elasticsearch -d    #-d是后台启动,第一次启动时可以不加-d,查看启动的日志情况

启动后输入jps可以查看到服务状态

3台节点都启动完成后,可以在浏览器访问http://节点IP地址:9200/_cat/health?v查看集群状态

 也可以直接访问http://节点IP地址:9200查看服务情况

开启密码访问

在服务器1上生成 TLS 和身份验证,将会在 config 下生成 elastic-certificates.p12 文件,将此文件传到其他两个节点的 config 目录,注意文件权限

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

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

重启ElasticSearch服务,3台服务器都需要执行:

jps    #查询ES服务进程号
kill -9 xxx    #杀掉ES进程,关闭服务

cd /data/elasticsearch-6.8.10/bin
./elasticsearch -d    #启动服务

设置密码,在服务器1上执行命令:

cd /data/elasticsearch-6.8.10
bin/elasticsearch-setup-passwords interactive

随后按照提示依次输入elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user这6个用户的密码,完成后数据会自动同步至其他2个节点。

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_61418822/article/details/127497471

智能推荐

浪潮信息HANA一体机创SAP BWH最佳成绩,算力助商业智能更快更准-程序员宅基地

文章浏览阅读948次,点赞24次,收藏26次。近日,SAP官方发布最新BWH Benchmark基准测试结果,浪潮信息NF8480G7四路HANA一体机以每小时执行17044次查询的成绩,刷新该测试最高纪录,为全球金融、高端制造、零售、能源等行业用户的商业智能分析,提供高效、领先的算力平台,从容应对快速多变的商业环境。

ESP32 开发笔记(三)源码示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器_基于vscode的esp32开发,读取dht11传感器数据到led显示屏上-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏22次。开发板购买链接https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674开发板简介开发环境搭建 windows源码示例: 0_Hello Bug (ESP_LOGX与printf) 工程模板/打印调试输出 1_LED LED亮灭控制 ..._基于vscode的esp32开发,读取dht11传感器数据到led显示屏上

icpc网络赛第二场 J-A Game about Increasing Sequences-程序员宅基地

文章浏览阅读623次。简单题,但是不会_a game about increasing sequences

9.学习74HC595以及8x8点阵流水灯_stc8g 驱动74hc595-程序员宅基地

文章浏览阅读2.3k次。OE非:输出使能,本实验接地使用。记得接地!单片机手动接地!J24模块!RCLK:储存寄存器时钟输入SRCLR非:复位,本单片机默认接VCC,不用管。SRCLK:移位寄存器时钟输入SER:串行输入QA-QH:8位并行输出QH非:串行输出 本实验595的工作:SRCLK每接到一个上升沿,就把SER的值储存起来;当存够8位后,给RCLK一个上升沿,储存起来的数就被放到QA-QH,第一个存进来的数放到QH(高位的数放高位)。(自己的理解,不知对错)列由P0控..._stc8g 驱动74hc595

Python Flask框架学习31:orm操作及序列化/更规范的文件格式_get_db_uri-程序员宅基地

文章浏览阅读492次。文件树如下:首先是utils包:functions.py配置代码如下:from flask_sqlalchemy import SQLAlchemyfrom flask_debugtoolbar import DebugToolbarExtensionfrom flask_restful import Apifrom flask_marshmallow import Marshmallowdb = SQLAlchemy()debugtoolbar = DebugToolb_get_db_uri

一张美团外卖的小票看透支付清结算架构!-程序员宅基地

文章浏览阅读2.1k次。见字如面,我是军哥!我很少推荐别人的公众号,因为我能看上的原创公众号并不多,让我主动推荐就更难了。今天这位朋友叫宇宙,认识有两年了,在支付行业里非常有名气,最近闲着无聊翻了他多篇原创文章之后,我发现他对支付这种极其复杂领域的业务架构/产品架构已经到了炉火纯青的地步了,推荐给各位,我相信你一定会回头来感谢我的!下面是他的一篇原创,本文头部和尾部都有他的公号卡片,文章不长,请认真看完~从一次美团外卖的..._美团外卖单子小票有什么信息

随便推点

2021年美赛解题思路汇总Final!!!_2021年美赛b题思路-程序员宅基地

文章浏览阅读1.2w次,点赞9次,收藏54次。首先:A题是连续型问题,是“数值分析”领域的内容,需要熟练掌握偏微分方程以及精通将连续性方程离散化求解的编程能力。这时,队伍里最好是有一个纯数学基础好的(偏微分方程、复变函数、信号与系统等等),还需要有两个擅长连续型问题编程的同学,两个人都比较擅长编程这一点很重要,既可以防止一个人编程的话,思路可能有所偏颇,又可以使得两个人在相互碰撞中产生新的灵感。B题的话可能是离散型问题,对于B题在编程上,一定需要比较熟悉计算机的“算法与数据结构”这类离散型编程问题的同学。C题属于大数据类问题,几乎都是关于数_2021年美赛b题思路

IP地址网站划分详解_网址划分-程序员宅基地

文章浏览阅读780次。LAN IP地址网站划分详解IP和子网掩码我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IPA类IP段  0.0.0.0 到127.255.255.255B类IP段  128.0.0.0到191.255.255.255C类IP段  192.0.0.0到223.255.255.255  XP默认分配的子网掩码每段只有255或0  A类的默认子网_网址划分

【重识 HTML + CSS】知识点目录-程序员宅基地

文章浏览阅读637次,点赞29次,收藏14次。javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

xenomai内核解析--双核系统调用(一)-程序员宅基地

文章浏览阅读2.6k次,点赞4次,收藏31次。版权声明:本文为本文为博主原创文章,转载请注明出处。如有错误,欢迎指正。文章目录xenomai 内核系统调用一、32位Linux系统调用二、32位实时系统调用三、 64位系统调用五、 实时系统调用表cobalt_syscalls六、实时系统调用权限控制cobalt_sysmodes参考xenomai 内核系统调用解析系统调用是了解内核架构最有力的一把钥匙,在这之前先搞懂xenomai与linux两个内核共存后系统调用是如何实现的。为什么需要系统调用linux内核中设置了一组用于实现系统功能的子程_xenomai

基于Domoticz智能家居系统(十六)DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(二)正式DIY_esp8266接nrf24-程序员宅基地

文章浏览阅读4.8k次,点赞4次,收藏40次。DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(二)正式DIY正式DIY一、本文参考的国外DIY项目二、本文采用的模块和连接线路1、ESP8266模块2、NRF24L01+ PA版(即所谓的功率增强版)3、硬件连接线路三、在Arduino下载安装MySensors软件库和其他第三方库1、安装MySensors软件库2、Adafruit_Neo..._esp8266接nrf24

java计算机毕业设计基于安卓Android/微信小程序的智慧养老院管理系统_基于android的智慧养老app的设计与实现-程序员宅基地

文章浏览阅读1.5k次。随着我国“老龄化”问题的日益加重,养老已经成为一个十分严峻的社会话题。数据显示,2018年的时候,我国60岁以上的老龄人口已经达到了2.49亿,这是一个十分庞大的数字。面对需要养老的人群越来越多,全社会的养老压力也越来越大,如果仅仅靠单纯增加人力、物力的投入,基本无法满足未来养老需求的,因此“智慧养老”应运而生。说起智慧养老,很多人都会觉得非常的陌生。其实,智慧养老是面向居家老人、社区及智慧养老机构的传感网系统与信息平台,并在此基础上提供实时、快捷、高效、低成本的,物联化、互联化、智能化的养老服务。..._基于android的智慧养老app的设计与实现

推荐文章

热门文章

相关标签