Linux 集群 Elasticsearch保姆级教程
Posted 全国青少年熬夜大赛冠军
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 集群 Elasticsearch保姆级教程相关的知识,希望对你有一定的参考价值。
一、环境
1.1软件下载
- 官方连接:Elasticsearch 7.8.0 | Elastic
- 具体下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
1.2 软件安装
1.2.1 新建文件夹用来存放ES
#切换到opt目录
cd /opt
#新建opt文件夹
mkdir module
1.2.2 解压文件
# 解压缩
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /opt/module
# 改名
mv elasticsearch-7.8.0 es
1.2.3创建用户
因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户。
useradd es #新增 es 用户
passwd es #为 es 用户设置密码
userdel -r es #如果错了,可以删除再加
chown -R es:es /opt/module/es #文件夹所有者
1.3 修改配置文件(root下)
#修改/opt/module/es/config/elasticsearch.yml 文件
vim /opt/module/es/config/elasticsearch.yml
# 加入如下配置
cluster.name: icoding-course
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
cluster.name:
配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
node.name:
节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
network.host:设置为0.0.0.0允许外网访问
http.port:
Elasticsearch的http访问端口
cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master
#1.===最大可创建文件数太小======
vi /etc/security/limits.conf
#在文件末尾中增加下面内容
es soft nofile 65536
es hard nofile 65536
#====
vi /etc/security/limits.d/90-nproc.conf
#在文件末尾中增加下面内容
es soft nofile 65536
es hard nofile 65536
* hard nproc 4096
#注:*代表Linux所有用户名称
#2.===最大虚拟内存太小====
vi /etc/sysctl.conf
#在文件中增加下面内容
vm.max_map_count=655360
#重新加载,输入下面命令:
sysctl -p
1.4 启动ES(普通用户 su)
#切换到es用户
su es
#启动
cd /opt/module
bin/elasticsearch
1.5 访问ES
浏览器输入
http://10.70.20.189:9200/(自己linux的ip地址)
在访问elasticsearch前,请确保防火墙是关闭的,执行命令:
#暂时关闭防火墙
systemctl stop firewalld
#或者
#永久设置防火墙状态
systemctl enable firewalld.service #打开防火墙永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原
#以上命令关闭防火墙不管用试试下面这行
service iptables stop
二、集群部署(单机部署测试成功后)
2.1.拷贝副本
#拷贝module目录下的es安装包3个,分别命名:
cp -r /opt/module/es /opt/module/es_1
cp -r /opt/module/es /opt/module/es_2
cp -r /opt/module/es /opt/module/es_3
2.2 修改配置文件
2.2.1删除三个副本的data和logs文件夹
#切换到es_1中
cd /opt/module/es_1
#删除 data和logs文件
rm -rf data
rm -rf logs
#切换到es_2中
cd /opt/module/es_2
#删除 data和logs文件
rm -rf data
rm -rf logs
#切换到es_3中
cd /opt/module/es_3
#删除 data和logs文件
rm -rf data
rm -rf logs
2.2.2修改配置文件
修改elasticsearch.yml
修改es_1的elasticsearch.yml
#打开文件
vim /opt/module/es_1/config/elasticsearch.yml
#增加以下配置
cluster.name: icoding-course
node.name: icoding-1
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9700
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
修改es_2的elasticsearch.yml
#打开文件
vim /opt/module/es_2/config/elasticsearch.yml
#增加以下配置
cluster.name: icoding-course
node.name: icoding-2
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9800
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
修改es_3的elasticsearch.yml
#打开文件
vim /opt/module/es_3/config/elasticsearch.yml
#增加以下配置
cluster.name: icoding-course
node.name: icoding-3
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9203
transport.tcp.port: 9900
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
3.用户授权
chown -R es:es /opt/module/es_1
chown -R es:es /opt/module/es_2
chown -R es:es /opt/module/es_3
4.设置ES的JVM占用内存参数
启动之前,设置ES的JVM占用内存参数,防止内存不足错误
修改es_1
vi /opt/module/es_1/config/jvm.options
#默认情况下,ES启动JVM最小内存1G,最大内存1G
#尽量全部修改为256m
-Xms256m
-Xmx256m
修改es_2
vi /opt/module/es_2/config/jvm.options
#默认情况下,ES启动JVM最小内存1G,最大内存1G
#尽量全部修改为256m
-Xms256m
-Xmx256m
修改es_3
vi /opt/module/es_3/config/jvm.options
#默认情况下,ES启动JVM最小内存1G,最大内存1G
#尽量全部修改为256m
-Xms256m
-Xmx256m
5.访问节点(普通用户se)
#切换到普通用户es
su es
#访问es_1节点
cd /opt/module/es_1
bin/elasticsearch
#访问es_2节点
cd /opt/module/es_2
bin/elasticsearch
#访问es_3节点
cd /opt/module/es_3
bin/elasticsearch
6.查看集群状态
http://10.70.20.189:9201/_cat/nodes?pretty
以上是关于Linux 集群 Elasticsearch保姆级教程的主要内容,如果未能解决你的问题,请参考以下文章