0
点赞
收藏
分享

微信扫一扫

elasticsearch7.8.0集群搭建

高子歌 2022-04-05 阅读 68

一、资源准备

名称地址
ElasticSearch7.8https://mirrors.huaweicloud.com/home(华为开源镜像站)
Logstash7.8https://mirrors.huaweicloud.com/home(华为开源镜像站)
Kibana7.8https://mirrors.huaweicloud.com/home(华为开源镜像站
jdk1.8https://www.oracle.com/java

二、安装配置

  • 自行安装jdk及配置环境变量
  • 解压
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz /usr/local/es
  • 创建数据存放地址和日志存放地址
mkdir /opt/es/data
mkdir /opt/es/logs
chown -R my_user:my_user /opt/es/data   #赋权
chown -R my_user:my_user /opt/es/logs
  • 修改elasticsearch.yml配置文件
vim /usr/local/elasticsearch-7.8.0/config/elasticsearch.yml
-------------------------------------------------------------------------------------------------------------------------
cluster.name: es-node1   	#为集群提供一个名称
node.name: node-1 		  	#此节点名称
path.data: /opt/es/data  	#数据存放的地址
path.logs: /opt/es/logs  	#日志存放地址
network.host: 0.0.0.0 		#网络绑定这样设置就好了
cluster.initial_master_nodes: ["node-1"] #将es-node1设置为master节点
  • 修改系统进程内存限制
vim /etc/security/limits.conf
-----------------------------------------------------------------------------------------------------------------------
添加数据
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
-----------------------------------------------------------------------------------------------------------------------
vim /etc/sysctl.conf
-----------------------------------------------------------------------------------------------------------------------
vm.max_map_count=262145 	 #(es需要262144,我们在基础上+1,保证它启动)
-----------------------------------------------------------------------------------------------------------------------
sysctl -p 	#刷新

  • 创建用户
由于elasticsearch不允许root用户操作,所以需要建立子用户
useradd my_user  #增加一个子用户
chown -R my_user:my_user /usr/local/elasticsearch-7.8.0  #赋权
su esuser 	#切换成子用户
#进入 es/bin命令启动
cd /usr/local/elasticsearch-7.7.0/bin
./elasticsearch

三、es集群启动错误

在这里插入图片描述
原因:不能用root用户登录
解决:

su root
./elasticsearch

在这里插入图片描述
原因:普通用户没有 /opt/es/logs文件权限
解决

chown -R my_user:my_user /opt/es/logs

在这里插入图片描述1
原因:上次启动后未正常关闭
解决:

ps -ef | grep elasticsearch    #查看elasticsearch进程号
Kill -9 15802 (进程号根据自己的)                 #强制关闭该进程

在这里插入图片描述

  • 校验es启动

浏览器输入ip:9200 如果返回json字符串则安装成功
在这里插入图片描述
单机版搭建完成!

四、es集群搭建

在config目录下,修改每个节点的elasticsearch.yml

  • node-1节点配置
#集群名称
cluster.name: es-node
#节点名称,每个节点的名称不能重复
node.name: node-1
#数据、日志存储目录
path.data: /opt/es/data 
path.logs: /opt/es/logs
#将绑定到所有网络接口
network.host: localhost(node-1的IP地址)
#是不是有资格成为主节点
node.master: true
node.data: true
#对外暴露端口。默认9200
http.port: 9200
#es集群节点之间的通信端口号。默认9300
transport.tcp.port: 9300
#跨域设置,保障head插件可以访问es
http.cors.enabled: true 
http.cors.allow-origin: "*"
#设置集群初始化后的主节点
cluster.initial_master_nodes: ["node-1"]
#节点发现,使用节点之间通信端口
discovery.seed_hosts: ["localhost(node-1):9300","localhost(node-2):9301","localhost(node-3):9302"]
  • node-2节点配置
#集群名称
cluster.name: es-node
#节点名称,每个节点的名称不能重复
node.name: node-2
#数据、日志存储目录
path.data: /opt/es/data 
path.logs: /opt/es/logs
#将绑定到所有网络接口
network.host: localhost(node-2的IP地址)
#是不是有资格成为主节点
node.master: true
node.data: true
#对外暴露端口。默认9200
http.port: 9201
#es集群节点之间的通信端口号。默认9300
transport.tcp.port: 9301
#跨域设置,保障head插件可以访问es
http.cors.enabled: true 
http.cors.allow-origin: "*"
#设置集群初始化后的主节点
cluster.initial_master_nodes: ["node-2"]
#节点发现,使用节点之间通信端口
discovery.seed_hosts: ["localhost(node-1):9300","localhost(node-2):9301","localhost(node-3):9302"]
  • node-2节点配置
cluster.name: es-node
#节点名称,每个节点的名称不能重复
node.name: node-3
#数据、日志存储目录
path.data: /opt/es/data 
path.logs: /opt/es/logs
#将绑定到所有网络接口
network.host: localhost(node-3的IP地址)
#是不是有资格成为主节点
node.master: true
node.data: true
#对外暴露端口。默认9200
http.port: 9202
#es集群节点之间的通信端口号。默认9300
transport.tcp.port: 9302
#跨域设置,保障head插件可以访问es
http.cors.enabled: true 
http.cors.allow-origin: "*"
#设置集群初始化后的主节点
cluster.initial_master_nodes: ["node-3"]
#节点发现,使用节点之间通信端口
discovery.seed_hosts: ["localhost(node-1):9300","localhost(node-2):9301","localhost(node-3):9302"]

同单机版分别启动es

举报

相关推荐

0 条评论