阿里云服务器centos8 elasticsearch单机版/集群搭建

Posted wen-pan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云服务器centos8 elasticsearch单机版/集群搭建相关的知识,希望对你有一定的参考价值。

注意:

es很吃内存,如果机器配置好的话,可以考虑将jvm参数给大一点。不然可能会导致es启动后一天或几天莫名其妙的自己挂掉了。kibana也很吃内存。

一、单机版安装

1、创建elsearch用户

# 创建elsearch用户,Elasticsearch不支持root用户运行 useradd elsearch
# 创建用户
useradd elsearch

# 为用户设置密码
Passwd elsearch

2、下载并解压安装包

# 解压安装包
tar -xvf elasticsearch-6.5.4.tar.gz -C /home/elsearch/es/

3、修改配置文件elasticsearch.yml

#修改配置文件
vim conf/elasticsearch.yml
#设置ip地址,任意网络均可访问
network.host: 0.0.0.0 

4、修改配置文件jvm.options

# 说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境, 会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下: 
# 1:修改jvm启动参数
vim conf/jvm.options

# 根据自己机器情况修改
-Xms128m 
-Xmx128m 

5、修改配置文件sysctl.conf

#2:一个进程在VMAs(虚拟内存区域)创建内存映射最大数量 
vim /etc/sysctl.conf

# 修改vm.max_map_count的值
vm.max_map_count=655360 

#配置生效
sysctl -p 

6、启动elasticsearch

# 切换到elsearch用户
su - elsearch
cd bin

# 启动
./elasticsearch 或 ./elasticsearch -d #后台启动

7、验证是否成功启动

在浏览器中输入IP + 端口,如果返回如下信息则说明启动成功了。

默认端口号是9200

# 通过浏览器访问进行测试,看到如下信息,就说明ES启动成功了 
{
"name": "dSQV6I8",
"cluster_name": "elasticsearch", "cluster_uuid": "v5GPTWAtT5emxFdjigFg-w", "version": {
"number": "6.5.4",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "d2ef93d",
"build_date": "2018-12-17T21:17:40.758843Z", "build_snapshot": false,
"lucene_version": "7.5.0", "minimum_wire_compatibility_version": "5.6.0", "minimum_index_compatibility_version": "5.0.0"
},
    "tagline": "You Know, for Search"
}

8、停止elasticsearch

# 停止服务 ,jps命令查看线程ID
root@wenpan-host:~# jps 
68709 Jps
68072 Elasticsearch
 #通过kill结束进程
kill 68072

9、常见启动报错

#启动出错,环境:Centos7或8
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
#解决:切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf

添加如下内容:
* soft nofile 65536 
* hard nofile 131072 
* soft nproc 4096
* hard nproc 4096

二、集群搭建

我们这里采用在一台机器上先改好配置,然后向其他机器分发的方式来搭建集群。

1、创建elsearch用户

每台机器都要创建!

# 创建elsearch用户,Elasticsearch不支持root用户运行 useradd elsearch
# 创建用户
useradd elsearch

# 为用户设置密码
Passwd elsearch

2、下载并解压安装包

# 解压安装包
tar -xvf elasticsearch-6.5.4.tar.gz -C /home/elsearch/module/es-cluster/

3、修改配置文件elasticsearch.yml

注意这个配置文件中的节点名称和暴露的公网IP在每一台机器上都不一样!

#修改配置文件
vim conf/elasticsearch.yml
#设置ip地址,任意网络均可访问
network.host: 0.0.0.0 

# 集群名称
cluster.name: es-itcast-cluster
# 节点名称
node.name: node01
# 设置该节点可以被选为master节点
node.master: true
# 设置该节点可以被选为数据节点
node.data: true

# 端口
http.port: 9200
# 集群IP
discovery.zen.ping.unicast.hosts: ["xx.xx.xx.xx","xx.xx.xx.xx","xx.xx.xx.xx"] 
# 设置至少要两个节点同意才能为选为master
discovery.zen.minimum_master_nodes: 2

# 跨域相关设置
http.cors.enabled: true
http.cors.allow-origin: "*"

# 暴露公网IP (如果是阿里云服务器,这里需要暴露公网IP,不然集群间会使用私有IP通信,导致通信问题。虚拟机不用配置)
network.publish_host: 公网IP地址

4、修改配置文件jvm.options

# 说明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境, 会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下: 
# 1:修改jvm启动参数
vim conf/jvm.options

# 根据自己机器情况修改
-Xms128m 
-Xmx128m 

5、修改配置文件sysctl.conf

每台机器都要修改

#2:一个进程在VMAs(虚拟内存区域)创建内存映射最大数量 
vim /etc/sysctl.conf

# 修改vm.max_map_count的值
vm.max_map_count=655360 

#配置生效
sysctl -p 

6、修改/etc/security/limits.conf

vim /etc/security/limits.conf

添加如下内容:
* soft nofile 65536 
* hard nofile 131072 
* soft nproc 4096
* hard nproc 4096

7、分发修改好的elasticsearch

scp -r es-cluster elsearch@目标机器ip:/home/elsearch/module/

注意: 分发完毕后需要去调整一下elasticsearch.yml配置文件中的节点名称和暴露的公网IP!!!

8、启动elasticsearch

# 切换到elsearch用户
su - elsearch
cd bin

# 启动
./elasticsearch 或 ./elasticsearch -d #后台启动

9、验证是否成功启动

在浏览器中输入IP + 端口,如果返回如下信息则说明启动成功了。

默认端口号是9200

# 通过浏览器访问进行测试,看到如下信息,就说明ES启动成功了 
{
"name": "dSQV6I8",
"cluster_name": "elasticsearch", "cluster_uuid": "v5GPTWAtT5emxFdjigFg-w", "version": {
"number": "6.5.4",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "d2ef93d",
"build_date": "2021-05-05 T21:17:40.758843Z", "build_snapshot": false,
"lucene_version": "7.5.0", "minimum_wire_compatibility_version": "5.6.0", "minimum_index_compatibility_version": "5.0.0"
},
    "tagline": "You Know, for Search"
}

可以在浏览器上安装 elasticsearch-head 来更加直观的查看es的状态和数据、索引信息。
在这里插入图片描述

以上是关于阿里云服务器centos8 elasticsearch单机版/集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

阿里云CentOS8.0服务器配置Django3.0+Python 3.7 环境

来都来了,你确定不看看,阿里云服务器Centos8安装MySQL8.0!!(图文并茂版!!!)

阿里云服务器centos8 elasticsearch单机版/集群搭建

centos8将yum源更换为国内(阿里云)源

centos8更换国内源(阿里源)

CentOS8 使用 aliyun 阿里云 镜像站点的方法