ElasticSearch 7.1.1 集群环境搭建
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-test
node.name: node-3
node.master: true
node.data: true
path.data: /data/es/data
path.logs: /data/es/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
# 有些时候并不需要此配置,但我这里需要..
network.publish_host: 10.240.0.8
http.port: 9200
discovery.seed_hosts: ["10.100.0.7", "10.100.0.8"]
cluster.initial_master_nodes: ["10.100.0.8"]
http.cors.enabled: true
http.cors.allow-origin: "*"
3.2 修改 jvm.options
vim config/jvm.options
# 按需修改如下内存大小即可
-Xms4g
-Xmx4g
3.3 新建索引数据与日志数据目录
# 新建目录,注意目前权限
mkdir -p /data/es/data
mkdir -p /data/es/logs
4. 启动
cd bin/
./elasticsearch
# 后台运行
./elasticsearch -d
初次启动时,可能会遇到如下图的几个错误,一一解决即可。


4.1. 每个进程最大同时打开文件数太小
vim /etc/security/limits.conf
# 增加如下:
# elsearch为用户名
elsearch soft nofile 65536
elsearch hard nofile 65536
# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功
ulimit -Hn
ulimit -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
设置为false
bootstrap.system_call_filter: false
4.5. 最大线程数太小
vim /etc/security/limits.conf
# 增加如下:
# elsearch为用户名
elsearch soft nproc 4096
elsearch hard nproc 4096
# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功
ulimit -Hu
ulimit -Su
4.6 network.host 监听 0.0.0.0 之后无法组成集群
报错(警告):

始终只有一个节点:

解决:
vim config/elasticsearch.yml
# 增加如下配置,用于集群内各机器间通信:
network.publish_host: 10.240.0.8
参考
- https://www.2cto.com/net/201905/810168.html
- http://www.sohu.com/a/301517999_683048
- https://www.jianshu.com/p/169acce2ce25
- https://www.cnblogs.com/xiaoheike/p/5750222.html
ElasticSearch 7.1.1 集群环境搭建的更多相关文章
- ElasticSearch 集群环境搭建,安装ElasticSearch-head插件,安装错误解决
ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决 说起来甚是惭愧,博主在写这篇文章的时候,还没有系统性的学习一下ES,只知道可以拿来做全文 ...
- elasticsearch与mongodb分布式集群环境下数据同步
1.ElasticSearch是什么 ElasticSearch 是一个基于Lucene构建的开源.分布式,RESTful搜索引擎.它的服务是为具有数据库和Web前端的应用程序提供附加的组件(即可搜索 ...
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案. 1.单管理节点 ...
- Spark 1.6.1分布式集群环境搭建
一.软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二.Scala 安装 1.master 机器 (1)下载 scala-2.11.8.tgz, ...
- hadoop集群环境搭建之zookeeper集群的安装部署
关于hadoop集群搭建有一些准备工作要做,具体请参照hadoop集群环境搭建准备工作 (我成功的按照这个步骤部署成功了,经实际验证,该方法可行) 一.安装zookeeper 1 将zookeeper ...
- hadoop集群环境搭建之安装配置hadoop集群
在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/ (如果没有这个目录 ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
- Ningx集群环境搭建
Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...
随机推荐
- WPF: FishEyePanel/FanPanel - 自定义Panel
原文:WPF: FishEyePanel/FanPanel - 自定义Panel 原文来自CodeProject,主要介绍如何创建自定义的Panel,如同Grid和StackPanel. 1) Int ...
- Linking different libraries for Debug and Release builds in Cmake on windows?
问题叙述性说明: So I've got a library I'm compiling and I need to link different third party things in depe ...
- LAN公布java web项目的方法的外侧
1.进入路由器设置页面:http://192.168.1.1 2.找到"转发规则"选项,我现在的路由器tp-link,不同型号tp-link"转发规则"选项位置 ...
- “TNS-03505:无法解析名称”问题解决一例
1. 问题情境 开发人员,在windows新环境ORACLEclient.配置"tnsnames.ora"后,准备连接Linux环境的ORACLE数据库,使用tnsping报TN ...
- WPF TreeView遍历硬盘
<Window x:Class="TreeFileSystem.MainWindow" xmlns="http://schemas.microsoft ...
- WPF应用程序嵌入第三方exe
把其它应用嵌入到C#窗口 源代码-CSDN下载 https://download.csdn.net/download/aiqinghee/10652732 WPF应用程序嵌入第三方exe - gao2 ...
- Android零基础入门第11节:简单几步带你飞,运行Android Studio工程
原文:Android零基础入门第11节:简单几步带你飞,运行Android Studio工程 之前讲过Eclipse环境下的Android虚拟设备的创建和使用,现在既然升级了Android Studi ...
- 使用 Visual Studio 开发并调试 Mail Add-in (mail app for Outlook)
准备工作 如果你的邮箱搭建在 Exchange Server 上,则可以创建邮件应用程序(Mail Add-in)来扩展Office本身的功能,使用 Office Add-in Model 开发的 M ...
- PHP发送邮件功能实现(使用163邮箱)
第一步 我用的是163邮箱发送邮件,做一个尝试,在尝试之前,需要要开启163邮箱的授权码如图所示,请记住您的授权码,将在之后的步骤中用到 第二步 需要下载一个类PHPMailer,我有这个资源已经上传 ...
- 【图文】[新手]C++ 动态库导出函数名“乱码”及解决
刚接触C++,在尝试从 dll 中导出函数时,发现导出的函数名都"乱码"了. 导出过程如下: 新建一个Win32项目: 新建的解决方案里有几个导出的示例: // 下列 ifdef ...