Linux搭建ElasticSearch单节点及集群

文章详细介绍了如何在CentOS7.6上安装Elasticsearch7.8.0,包括解决JDK冲突、调整内存设置、创建非root启动用户、修改系统参数以及集群搭建的过程,强调了启动过程中需注意的系统限制和配置选项。
摘要由CSDN通过智能技术生成

环境准备

1.虚拟机CentOS7.6
2.elasticsearch7.8.0:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0
将tar包解压到指定目录

配置文件

1.Linux环境安装了jdk的,会和es自带jdk冲突,需要指定使用自带jdk,修改es的bin目录下elasticsearch如下:

#   ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch

#=======添加配置解决jdk版本问题=====
export JAVA_HOME=/app/software/elasticsearch/elasticsearch-7.8.0-target/jdk
export PATH=$JAVA_HOME/bin:$PATH
#============

source "`dirname "$0"`"/elasticsearch-env

ES_JAVA_OPTS=`export ES_TMPDIR; "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_PATH_CONF"`

#=======添加配置解决jdk版本问题=====

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/app/software/elasticsearch/elasticsearch-7.8.0-target/jdk/bin/java"
else
        JAVA=`which java`
fi
#============

# manual parsing to find out, if process should be detached

2.如果机器内存不够用,需要调小启动内存,在es的config目录下jvm.options文件:

默认配置如下:
-Xms2g
-Xmx2g
默认的配置占用内存太多了,调小一些:
-Xms256m
-Xmx256m

3.创建启动用户:es不允许用root启动,创建一个user-es用户:
①useradd user-es
②chown user-es:user-es -R /app/software/elasticsearch/elasticsearch-7.8.0

4.修改属性值:在config目录下的elasticsearch.yml
①path.data和path.log不指定会默认在es目录下
②network.host: 0.0.0.0
③cluster.name: elasticsearch
node.name: node1
cluster.initial_master_nodes: [“node1”]
④http.port: 9200

启动Elasticsearch

①切换到user-es:su user-es
②进入es的bin目录,./elasticsearch启动es,观察启动日志

遇到的两个错误:
1.ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:在 /etc/sysctl.conf 文件最后添加如下内容,即可永久修改

切换到root用户
执行命令:su root

执行命令
vim /etc/sysctl.conf

添加如下内容
vm.max_map_count=262144

保存退出,刷新配置文件
sysctl -p

切换user-es用户,继续启动
su user-es

启动es服务
./bin/elasticsearch

2.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
解决方法:切换到root用户,执行命令:
vi /etc/security/limits.conf

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
*                soft    nofile          65536
*                hard    nofile          65536
#@student        hard    nproc           20

reboot重启服务器,再./bin/elasticsearch重启es
浏览器访问http://虚拟机ip:9200/后看到类似如下信息,表示ES启动成功

{
	"name": "node1",
	"cluster_name": "elasticsearch",
	"cluster_uuid": "SRwJX4sYQ8el4N5wj4tOmA",
	"version": {
	"number": "7.8.0",
	"build_flavor": "default",
	"build_type": "tar",
	"build_hash": "4d960a0733be83dd2543ca018aa4ddc42e956800",
	"build_date": "2021-06-10T21:01:55.251515791Z",
	"build_snapshot": false,
	"lucene_version": "8.8.2",
	"minimum_wire_compatibility_version": "6.8.0",
	"minimum_index_compatibility_version": "6.0.0-beta1"
	},
	"tagline": "You Know, for Search"
}

集群搭建

1.克隆两台机器,将刚刚的es压缩包解压到相同路径
2.修改配置文件:
①cluster.name: elasticsearch7.8.0(三个节点名字要相同)
②node.name: node1(各不相同)
③节点类型node.master负责调度,node.data负责存储数据,正式环境一般主节点不要存储数据,每个节点单一功能整体效率更高。我的三个配置:
第一台
node.master: true
node.data: false
node.ingest: false
第二台
node.master: true
node.data: true
node.ingest: false
第三台
node.master: true
node.data: true
node.ingest: false
④写入候选主节点:discovery.seed_hosts: [“192.168.32.1”, “192.168.32.2”,“192.168.32.3”]
⑤初始化集群选举master:cluster.initial_master_nodes: [“node2”]
配置完逐台重启即可。我是启动es单独一个窗口,要退出直接ctrl+c,其他操作在新的窗口。
连接linux推荐SSH工具:MobaXterm,开源免费,相当于xshell和xftp的合体,操作命令时能同时传输文件,功能十分强大。
验证:浏览器访问http://192.168.32.2:9200/_cat/nodes?v(任意集群节点),出现类似以下信息则证明集群搭建完成

ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.32.1           19          71   2   29.07   10.51     4.49 lmr       -      node1-source
192.168.32.2            8          61   0    7.07    2.58     0.99 dlmrt     *      node2-source
192.168.32.3            8          96   1    0.04    0.04     0.05 dlmrt     -      node3-source
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值