博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ElasticSearch 7.1.1 集群环境搭建
阅读量:5248 次
发布时间:2019-06-14

本文共 2765 字,大约阅读时间需要 9 分钟。

1. 集群简介

三台机器,均用于保存数据且可被选为master节点
服务版本
服务 版本
elasticsearch 7.1.1
jdk 1.8

1. 创建elsearch用户

不建议直接使用root用户,所以此处新建 elsearch用户

1.1 添加用户组及用户,配置密码

# 添加用户组groupadd elsearch# 添加用户useradd -m -g elsearch elsearch# 配置密码passwd elsearch

1.2 sudo权限

visudo# 在最后增加elsearch ALL=(ALL)  NOPASSWD:ALL

2. 下载 & 解压

注意目录权限为:elsearch

# 下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz# 解压tar xvf elasticsearch-7.1.1-linux-x86_64.tar.gz# 软链ln -s elasticsearch-7.1.1 elasticsearch

3. 配置

此配置需同步到所有机器

3.1 修改 elasticsearch.yml

配置说明:

参数 说明
cluster.name 集群名称,相同名称为一个集群
node.name 节点名称,集群模式下每个节点名称唯一
node.master 当前节点是否可以被选举为master节点,是:true、否:false
node.data 当前节点是否用于存储数据,是:true、否:false
path.data 索引数据存放的位置
path.logs 日志文件存放的位置
bootstrap.memory_lock 需求锁住物理内存,是:true、否:false
bootstrap.system_call_filter SecComp检测,是:true、否:false
network.host 监听地址,用于访问该es
network.publish_host 可设置成内网ip,用于集群内各机器间通信
http.port es对外提供的http端口,默认 9200
discovery.seed_hosts es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
cluster.initial_master_nodes es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
http.cors.enabled 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.allow-origin "*" 表示支持所有域名

详情配置:

vim config/elasticsearch.yml# 增加如下:cluster.name: es-testnode.name: node-3node.master: truenode.data: truepath.data: /data/es/datapath.logs: /data/es/logsbootstrap.memory_lock: falsebootstrap.system_call_filter: falsenetwork.host: 0.0.0.0# 有些时候并不需要此配置,但我这里需要..network.publish_host: 10.240.0.8http.port: 9200discovery.seed_hosts: ["10.100.0.7", "10.100.0.8"]cluster.initial_master_nodes: ["10.100.0.8"]http.cors.enabled: truehttp.cors.allow-origin: "*"

3.2 修改 jvm.options

vim config/jvm.options# 按需修改如下内存大小即可-Xms4g-Xmx4g

3.3 新建索引数据与日志数据目录

# 新建目录,注意目前权限mkdir -p /data/es/datamkdir -p /data/es/logs

4. 启动

cd bin/./elasticsearch# 后台运行./elasticsearch -d

初次启动时,可能会遇到如下图的几个错误,一一解决即可。

4.1. 每个进程最大同时打开文件数太小
vim /etc/security/limits.conf# 增加如下: # elsearch为用户名elsearch  soft nofile 65536elsearch  hard nofile 65536# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功ulimit -Hnulimit -Sn
4.2. 申请锁定内存失败
vim config/elasticsearch.yml# 修改,不锁定内存bootstrap.memory_lock: false
4.3. 最大虚拟内存太小
vim /etc/sysctl.conf# 增加如下:vm.max_map_count=262144# 修改完之后,执行如下命令生效sysctl -p
4.4. 因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
vim config/elasticsearch.yml设置为falsebootstrap.system_call_filter: false
4.5. 最大线程数太小
vim /etc/security/limits.conf# 增加如下: # elsearch为用户名elsearch  soft nproc 4096elsearch  hard nproc 4096# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功ulimit -Huulimit -Su
4.6 network.host 监听 0.0.0.0 之后无法组成集群

报错(警告):

始终只有一个节点:

解决:

vim config/elasticsearch.yml# 增加如下配置,用于集群内各机器间通信:network.publish_host: 10.240.0.8

参考

转载于:https://www.cnblogs.com/remainsu/p/elasticsearch-711-ji-qun-huan-jing-da-jian.html

你可能感兴趣的文章
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>