es7集群的搭建
es7集群的搭建
一、需求
最近在看es
相关的知识,此处简单记录一下es集群的搭建步骤。因为本地机器有限,此处模拟一下在同一台机器上搭建三个节点的集群。
二、前置条件
1、es
不能使用root
用户启动,因此需要创建一个用户。
2、本地的多个es节点之间不能使用相同的data
和log
目录。
3、集群之间的脑裂问题,集群自己维护。
三、搭建步骤
1、下载es
# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
# 解压
tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
# 重命名
mv elasticsearch-7.12.0 es01
# 复制2份
cp -r es01/ es02
cp -r es01/ es03
2、创建 es
用户并给es目录授权
# 创建es用户
useradd es
# 设置es用户的密码
passwd es
# 改变上一步下载的 es01、es02和es03目录的所有者为刚创建的es用户
chown -R es es01
chown -R es es02
chown -R es es03
# 创建数据目录和日志目录
mkdir data && mkdir log
cd data
mkdir es01
mkdir es02
mkdir es03
cd log
mkdir es01
mkdir es02
mkdir es03
️ 因为 es 用 root 用户启动会报错,所以此处需要新建一个用户,然后用新建的用户启动es。
3、修改es的配置文件
配置文件 | 属性 | 节点01 | 节点02 | 节点03 | 解释 |
---|---|---|---|---|---|
es0[1,2,3]/config/ elasticsearch.yml |
es01 | es02 | es03 | es01、es02、es03表示同一台机器上的3个目录 | |
cluster.name |
es-cluster | es-cluster | es-cluster | 集群的名称,组成集群的集群名称必须一致。 | |
node.name |
es01 | es01 | es01 | 节点名称,集群中的每个节点的名字必须要唯一。 | |
path.data |
/home/es/ es/data/es01 |
/home/es/ es/data/es02 |
/home/es/ es/data/es03 |
数据目录 | |
path.logs |
/home/es/ es/log/es01 |
/home/es/ es/log/es02 |
/home/es/ es/log/es03 |
日志目录 | |
network.host |
localhost | localhost | localhost | 监听地址,可以写本地ip,通过此地址可以访问到es | |
http.port |
9200 | 9201 | 9202 | 监听端口 | |
transport.port |
9205 | 9206 | 9207 | 集群之间通讯接口,比如集群选举 | |
discovery. seed_hosts: |
[“localhost:9095”, “localhost:9096”, “localhost:9097”] | [“localhost:9095”, “localhost:9096”, “localhost:9097”] | [“localhost:9095”, “localhost:9096”, “localhost:9097”] | 有资格成为主节点的地址列表 | |
cluster. initial_master_nodes |
[“es01”, “es02”, “es03”] | [“es01”, “es02”, “es03”] | [“es01”, “es02”, “es03”] | 初始的候选master节点列表。必须和node.name的值一致。 | |
node.master |
true | true | true | true:表示可以被选举成为master节点. | |
node.data |
true | true | true | true: 表示可以存储数据。 | |
http.cors.enabled |
true | true | true | true: 表示允许跨域。 | |
http.cors.allow-origin |
* | * | * | 表示支持所有域名 | |
es0[1,2,3]/config/ jvm.options |
|||||
-Xms512m | -Xms512m | -Xms512m | 根据自己的情况设置,不要超过本机物理内存的一半,最大不要超过30g | ||
-Xmx512m | -Xmx512m | -Xmx512m | … |
重要的属性:
cluster.initial_master_nodes
4、es01目录下 elasticsearch.yml 的一个完整的配置
cluster.name: es-cluster
node.name: es01
path.data: /home/es/es/data/es01
path.logs: /home/es/es/log/es01
network.host: localhost
http.port: 9200
transport.port: 9205
discovery.seed_hosts: ["localhost:9205", "localhost:9206", "localhost:9207"]
cluster.initial_master_nodes: ["es01", "es02", "es03"]
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
5、启动es集群
#!/bin/bash
# -d 后台启动 -p 指定pid保存在那个文件中 /home/es/es/es01/pid01
/home/es/es/es01/bin/elasticsearch -d -p pid01
/home/es/es/es02/bin/elasticsearch -d -p pid02
/home/es/es/es03/bin/elasticsearch -d -p pid03
6、查看集群是否启动
curl http://localhost:9202/_cat/nodes?v
curl http://localhost:9202/_cat/health?v
四、参考链接
1、https://www.elastic.co/cn/downloads/elasticsearch.
5、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/modules-discovery-settings.html
6、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/jvm-options.html
es7集群的搭建的更多相关文章
- zookeeper集群的搭建以及hadoop ha的相关配置
1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- linux环境(CentOS-6.7)下redis集群的搭建全过程
linux环境下redis集群的搭建全过程: 使用mount命令将光盘挂载到/mnt/cdrom目录下: [root@hadoop03 ~]# mount -t iso9660 -o ro /dev/ ...
- 【redis】 linux 下redis 集群环境搭建
Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...
- 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案. 1.单管理节点 ...
- [原]项目进阶 之 集群环境搭建(二)MySQL集群
上次的博文中我们介绍了一下集群的相关概念,今天的博文我们介绍一下MySQL集群的相关内容. 1.MySQL集群简介 MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单 ...
- 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, ...
- Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南)
1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...
随机推荐
- FastReport合并多份报表为一份预览打印
效果 比较简单,直接贴代码 //打印第一份报表 procedure TForm1.Button2Click(Sender: TObject); begin frxReport1.LoadFromFil ...
- Model 特性
表 1 AssociatedMetadataTypeTypeDescriptionProvider 通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息. AssociationAttr ...
- 给dubbo贡献源码,做梦都在修bug
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 一 在之前的文章<redis在微服务领域的贡献>中,从一次面试经历中了解了redi ...
- webService动态调用及返回至处理
http://www.cnblogs.com/xffy1028/archive/2012/05/07/2487595.html using System; using System.Collectio ...
- Python小技巧:这17个骚操作你都OK吗?
导读:Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.本文中带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等.这 17 个技巧都非常简单,但它们都 ...
- Linux之crontab命令
简介 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell 脚本.时间间隔的单位可以 是分钟.小时.日.月.周及以上的任意组合.这个命令非常适合周期性的日志分析或数据备份 ...
- springboot 事务创建流程源码分析
springboot 事务创建流程源码分析 目录 springboot 事务创建流程源码分析 1. 自动加载配置 2. InfrastructureAdvisorAutoProxyCreator类 3 ...
- RE Validation in JavaEE
以下是关于RE校验的一些方法的基本功能: import java.util.regex.Pattern;<br> /** * 校验器:利用正则表达式校验邮箱.手机号等 * */<br ...
- 手把手教你实现栈以及C#中Stack源码分析
定义 栈又名堆栈,是一种操作受限的线性表,仅能在表尾进行插入和删除操作. 它的特点是先进后出,就好比我们往桶里面放盘子,放的时候都是从下往上一个一个放(入栈),取的时候只能从上往下一个一个取(出栈), ...
- win10系统显示此电脑
今天电脑开机后发现从任务栏进入"文件资源管理器",直接卡死,重启电脑也没有用. 我想到是不是从"此电脑"进入不会卡死,试了一下果真没有卡死. 使用win10系统 ...