阿里云服务器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!!(图文并茂版!!!)