Linux搭建es集群详细教程(最终版)
Linux搭建es集群
今天写一篇Linux环境下搭建es集群文章,大家跟着步骤来,避免踩坑(自己踩过很多坑真的很烦很烦的),es集群是在单机版es的基础上的,所以下面我们先开始搭建单机版es。
重点声明一下虚拟机最好用CentOS7版本 不然中间会有很多坑 最好用7版本
步骤:
1、下载或者上传安装包(我这里用的Linux64(TAR)7.4.0版本 自带JDK) 安装包下载传送门
2、解压安装包
3、创建普通用户
4、为新用户授权
5、修改elasticsearch.yml文件
6、修改其他配置文件
7、启动elasticsearch
8、访问elasticsearch
一、ElasticSearch安装
1、上传ElasticSearch安装包到/opt目录下
可以用Xftp直接拖动安装包,方便快捷
2、执行解压操作,如下
#将elasticsearch-7.4.0-linux-x86_64.tar. gz解压到opt文件夹下. -C大写
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt
3、创建普通用户
因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:
useradd icoding #新增icoding用户
passwd icoding #为icoding用户设置密码
userde1 -r icoding #如果错了可以删除再加
#为普通用户授权 否则无法运行es
cd /opt/
chown -R icoding:icoding elasticsearch-7.4.0
4、修改elasticsearch.yml文件
vi /opt/elasticsearch-7.4.0/config/elasticsearch.yml
# ================= Elasticsearch configuration =================
cluster.name: icoding-course
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]#如果是CentOS 6版本 加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
network.host:设置为0.0.0.0允许外网访问
http.port: Elasticsearch的http访问端口
cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master
5、修改配置文件
新创建的icoding用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件,添加类似如下内容
#切换到root用户
su root
#1.===最大可创建文件数太小======
vi /etc/security/limits.conf
#在文件末尾中增加下面内容
icoding soft nofile 65536
icoding hard nofile 65536
#====
vi /etc/security/limits.d/90-nproc.conf
#在文件末尾中增加下面内容
icoding soft nofile 65536
icoding hard nofile 65536
* hard nproc 4096
#注:*代表Linux所有用户名称#2.===最大虚拟内存太小====
vi /etc/sysctl.conf
#在文件中增加下面内容
vm.max_map_count=655360
#重新加载,输入下面命令:
sysctl -p
6、启动elasticsearch
su icoding
#切换到icoding用户启动
cd /opt/elasticsearch-7.4.0/bin
./elasticsearch #启动
二、访问elasticsearch
浏览器输入(自己虚拟器ip ifconfig命令查看)
http://192.168.200.130:9200/
1、在访问elasticsearch前,请确保防火墙是关闭的,执行命令:
#暂时关闭防火墙
systemctl stop firewalld
#或者
#永久设置防火墙状态
systemctl enable firewalld.service #打开防火墙永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原#以上命令关闭防火墙不管用试试下面这行
service iptables stop
到此 单机版es就配置完毕! 觉得凑乎的麻烦大家点个赞!不胜感激-,-
接下来我们接着配置es集群!
整体步骤
步骤如下:
1、拷贝opt目录下的elasticsearch-7.4.0安装包3个,分别命名:
elasticsearch-7.4.0-icoding1
elasticsearch-7.4.0-icoding2
elasticsearch-7.4.0-icoding3
·2、然后修改elasticsearch.yml文件。
·3、然后启动启动icoding1、icoding2、icoding3三个节点。
·4、打开浏览器输入: http://192.168.189.129:9201/_cat/health?v如果返回的node.total是3,代表集群搭建成功
在此,需要我们特别注意的是,像本文这样单服务器多节点(3个节点)的情况,仅供测试使用,集群环境如下:
cluster name | node name | IP Addr | http端口/通信端口 |
---|---|---|---|
icoding-es | icoding1 | 192.168.200.130 | 9201 / 9700 |
icoding-es | icoding1 | 192.168.200.130 | 9202 / 9800 |
icoding-es | icoding1 | 192.168.200.130 | 9203 / 9900 |
1、拷贝副本
拷贝opt目录下的elasticsearch-7.4.0安装包3个,打开虚拟机到opt目录
执行拷贝三份
cd /opt
cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-icoding1
cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-icoding2
cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-icoding3
2、修改elasticsearch.yml配置文件
1)、创建日志目录
cd /opt
mkdir logs
mkdir data
#授权给icoding用户
chown -R icoding:icoding ./logs
chown -R icoding:icoding ./data
打开elasticsearch.yml配置,分别配置下面三个节点的配置文件
vi /opt/elasticsearch-7.4.0-icoding1/config/elasticsearch.yml
vi /opt/elasticsearch-7.4.0-icoding2/config/elasticsearch.yml
vi /opt/elasticsearch-7.4.0-icoding3/config/elasticsearch.yml
## 集群名称,保证唯一
cluster.name: icoding-course
#### 节点名称,必须不一样
node.name: icoding-1
#是不是有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
#es7.x 之后新增的配置,初始化一个新的集群时需要次配置来选举master
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
#数据和存储路径
path.data: /opt/data
path.logs: /opt/logs#如果是CentOS 6版本 加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
2)、下面是elasticsearch-7.4.0-icoding1配置文件
cluster.name: icoding-course
node.name: icoding-1
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9700
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs#如果是CentOS 6版本 加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
3)、下面是elasticsearch-7.4.0-icoding2配置文件
cluster.name: icoding-course
node.name: icoding-2
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9800
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs#如果是CentOS 6版本 加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
4)、下面是elasticsearch-7.4.0-icoding3配置文件
cluster.name: icoding-course
node.name: icoding-3
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9203
transport.tcp.port: 9900
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs#如果是CentOS 6版本 加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
5)、执行授权
在root用户下执行
chown -R icoding:icoding /opt/elasticsearch-7.4.0-icoding1
chown -R icoding:icoding /opt/elasticsearch-7.4.0-icoding2
chown -R icoding:icoding /opt/e1asticsearch-7.4.0-icoding3
如果有的日志文件授权失败,可使用(也是在root下执行)cd /opt/elasticsearch-7.4.0-icoding1
chown -R icoding:icoding logs
cd /opt/elasticsearch-7.4.0-icoding2
chown -R icoding:icoding logs
cd /opt/elasticsearch-7.4.0-icoding3
chown -R icoding:icoding logs
6)、设置ES的JVM占用内存参数
启动之前,设置ES的JVM占用内存参数,防止内存不足错误
vi /opt/elasticsearch-7.4.0-icoding1/config/jvm.options
vi /opt/elasticsearch-7.4.0-icoding2/config/jvm.options
vi /opt/elasticsearch-7.4.0-icoding3/config/jvm.options
默认情况下,ES启动JVM最小内存1G,最大内存1G
-Xms256m
-Xmx256m
尽量全部修改为256m
7)、访问节点
依次启动我们搭建的es(切换为普通用户再启动)
cd /opt/elasticsearch-7.4.0-icoding1/bin/
./elasticsearch
cd /opt/elasticsearch-7.4.0-icoding2/bin/
./elasticsearch
cd /opt/elasticsearch-7.4.0-icoding3/bin/
./elasticsearch
8)、查看集群状态
打开浏览器输入:http://192.168.189.129:9201/_cat/health?v,如果返回的node.total是3,代表集群搭建成功
到此,es集群搭建完毕,感谢大家的耐心,感谢点赞-,
Linux搭建es集群详细教程(最终版)相关推荐
- linux搭建es集群
准备 安装docker. 安装好Docker Compose. 注意:运行内存最好8g以上,es运行会占用很多内存(2-3g) 方式1: 单机多节点. 参考官网的方式创建(docker-compose ...
- 计算机集群搭建教程,Windows搭建Redis集群-详细教程
一.集群知识 1.集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 2.使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动 ...
- Kubernetes 搭建 ES 集群(存储使用 local pv)
推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...
- 在Linux搭建Kafka集群
文章目录 前言 准备工作 安装和配置 测试 参考链接 前言 以kafka_2.13-2.8.0版本做示例,安装架构图如下所示,4台服务器,4个节点的Zookeeper集群(1主2从1观察)以及3个Ka ...
- VM虚拟机 - Docker - CentOS 7 - 快速使用Docker从零搭建Hadoop完全分布式集群详细教程(亲测有效,※吐血推荐※)(内含快速启动容器脚本)
目录 阅读须知 最小安装(可跳) 安装VMware Tool(可直接安装) 关闭防火墙和Selinux 安装docker 迁移docker安装目录 docker安装CentOS 7 安装必要工具 安装 ...
- Linux 搭建Kafka集群,最新教程,细到极致
大家好呀,今天给大家带来的是,最新版kafka集群的安装教程,希望给小伙伴们一点小小的帮助. 注意:提前安装好jdk, Jdk安装教程 1.准备安装包,Kafka官网下载 2.kafka安装需要z ...
- Linux搭建eureka集群,基于dns搭建eureka集群
eureka集群方案: 1.通常我们部署的eureka节点多于两个,根据实际需求,只需要将相邻节点进行相互注册(eureka节点形成环状),就达到了高可用性集群,任何一个eureka节点挂掉不会受到影 ...
- 阿里云 ECS 服务器上如何搭建 Hadoop 集群详细步骤图解
1.前言 在讲述Hadoop集群搭建之前,首先要了解Hadoop和集群两个名词,Hadoop是由Apache基金会开发的分布式系统基础架构,简单理解就是大数据技术应用的基础.集群可以理解为多台装有ha ...
- Kubernetes 搭建 ES 集群(存储使用 cephfs)
推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...
- ElasticSearch 5. 搭建ES集群
Elasticsearch集群 1. why? 提高负载能力 提高存储容量上限 实现高可用 提高并发处理能力 - 2. 数据分片(Shard) es集群把数据拆分成多份,每一份存储到不同节点(no ...
最新文章
- linux定时任务定向到空,Linux 定时任务下 /dev/null 21 相关知识说明
- 全志a64linux内核编译,芯灵思Sinlinx A64 Linuxqt编译安装
- java: BigDecimal 调用add后,求和结果没有变化
- SCI论文需要什么程度的统计学
- hibernate中对象的3种状态----瞬时态、持久态、脱管态
- LeetCode算法入门- Implement strStr() -day22
- webpack4 es6转换
- java语言程序设计基础篇课后答案_《Java语言程序设计:基础篇》课后复习题答案-第十五章.pdf...
- Web Components系列(七) ——自定义组件的生命周期
- Java2十大经典中文图书
- android 网络程序下载,Android从网络上下载文件
- overload方法重载
- Nodemcu 背篼酥课堂--物联网实战体系课程
- 团体项目搜查令更新一
- HP光影精灵3 TPN-Q193显卡驱动安装不上,鲁大师检测不到显卡
- tp中ueditor编辑器的使用
- “双一流”哈尔滨工程大学成立人工智能有关学院,打造一流学科群!
- 1、Python培训 Python 简介
- CS、BS架构定义(笔记)
- Socaverse正在推动体育文化成为Web3发展的新驱动力