Linux 集群 Elasticsearch保姆级教程

Posted 全国青少年熬夜大赛冠军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 集群 Elasticsearch保姆级教程相关的知识,希望对你有一定的参考价值。

一、环境

1.1软件下载

 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保姆级教程的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch下载配置(保姆级教学)

Elasticsearch下载配置(保姆级教学)

Elasticsearch下载配置(保姆级教学)

ElasticSearch保姆级入门教程

Hadoop 3.1.3 分布式集群搭建,超详细,保姆级教程

Hadoop2.0高可用集群搭建保姆级教程