ElasticStack之Elasticsearch集群搭建

时间:2022-08-28 17:32:33

需搭建服务器环境

操作系统

Host:port

node

1

CentOS 7.2.1511

11.1.11.127:9200

node1

2

CentOS 7.2.1511

11.1.11.128:9200

node2

3

CentOS 7.2.1511

11.1.11.129:9200

node3

Elasticsearch运行需要创建es用户

1 创建 elasticsearch 用户组

[root@localhost ~]# groupadd elasticsearch

2 创建用户 es 并设置密码为es
[root@localhost~]# useradd es

[root@localhost~]# passwd es

3 用户es 添加到 elasticsearch 用户组

[root@localhost ~]# usermod -G elasticsearch es

4 设置sudo权限

[root@localhost~]# visudo

#在root ALL=(ALL) ALL 一行下面

es ALL=(ALL) ALL

#添加es用户 如下:

es ALL=(ALL) ALL

#切换成es用户

[root@localhost~]# su es

安装Elasticsearch

针对三台服务器首先先进行Elasticsearch应用的安装,这里我们选择解压版的Elasticsearch,集群通过修改Elasticsearch的elasticsearch.yml配置文件可自动发现并加入集群。

5 下载elasticsearch安装包

[es@localhost root]$ cd /usr/local/

[es@localhost local]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.tar.gz

[es@localhost local]$ tar -xvf elasticsearch-6.0.1.tar.gz

6 更改elasticsearch-6.0.1 文件夹以及内部文件的所属用户为es, 用户组组为elasticsearch,-R表示逐级

[es@localhost local]$ sudo chown -R es:elasticsearch elasticsearch-6.0.1

ElasticSearch 配置

[es@localhost elasticsearch-6.0.1]$ vim config/elasticsearch.yml

#搭建集群修改如下属性

cluster.name: my-application  #集群名,同一集群下多个服务共享一个cluster.name

node.name: node-1  #节点名,同一集群下每个服务的name,唯一

node.master: true  #是否为主节点,建议为true

node.data: true  #是否为数据节点,建议为true

path.data: /path/to/data  #数据存储目录,默认

path.logs: /path/to/logs  #log存储目录,默认

network.host: 11.1.11.127  #本机ip

http.port: 9200  #默认端口

discovery.zen.ping.unicast.hosts: ["11.1.11.128", "11.1.11.129"]  #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。

discovery.zen.minimum_master_nodes: 2  # (集群总节点数量/2)+1

针对基础的集群搭建上述配置修改即可

关于elasticsearch.yml的详细配置可以参考https://www.cnblogs.com/liuchuanfeng/articles/7059268.html

#新建data和log数据存储目录

mkdir -pv /path/to/{data,logs}

chown -R elasticsearch es  /path/to

#修改sysctl.conf

vim /etc/sysctl.conf

#在配置文件最后面添加如下内容

vm.max_map_count=655360

#刷新sysctl.conf

sysctl -p

#修改文件/etc/security/limits.conf

vim /etc/security/limits.conf

#添加

* hard nofile 65536

* soft nofile 65536

* soft nproc 2048

* hard nproc 4096 

同理可配置其他集群节点,只需改动其他节点服务器的elasticsearch.yml文件并修改如下属性:

node.name: node-2/node-3 #节点名,需唯一。

network.host: 11.1.11.128/11.1.11.129  #本机ip

http.port: 9200  #默认端口。如果集群节点不在同一台服务器上,不需要修改

discovery.zen.ping.unicast.hosts: ["11.1.11.127", "11.1.11.129"] / ["11.1.11.127", "11.1.11.128"]  #可发现节点

ElasticSearch 集群启动

#切换es用户启动elasticsearch并且进入elasticsearch目录

su es && cd /usr/local/elasticsearch-6.0.1/bin/

#启动服务

./elasticsearch -d

#按如上步骤依次启动其他节点服务

#使用curl测试节点是否可以正常访问,集群节点是否加入

curl http://11.1.11.127:9200/_cat/nodes?v

ElasticStack之Elasticsearch集群搭建的更多相关文章

  1. elasticsearch集群搭建实例

    elasticsearch集群搭建实例 下个月又开始搞搜索了,几个月没动这块还好没有落下. 晚上在自己虚拟机上搭建了一个简易搜索集群,分享一下. 操作系统环境: Red Hat 4.8.2-16 el ...

  2. 和我一起打造个简单搜索之ElasticSearch集群搭建

    我们所常见的电商搜索如京东,搜索页面都会提供各种各样的筛选条件,比如品牌.尺寸.适用季节.价格区间等,同时提供排序,比如价格排序,信誉排序,销量排序等,方便了用户去找到自己心里理想的商品. 站内搜索对 ...

  3. Elasticsearch集群搭建及使用Java客户端对数据存储和查询

    本次博文发两块,前部分是怎样搭建一个Elastic集群,后半部分是基于Java对数据进行写入和聚合统计. 一.Elastic集群搭建 1. 环境准备. 该集群环境基于VMware虚拟机.CentOS ...

  4. CentOS 7下ElasticSearch集群搭建案例

    最近在网上看到很多ElasticSearch集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建ElasticSearch集群并安装head插件和其他插件安装方法. 一 ...

  5. Es学习第十课,ElasticSearch集群搭建

    前面几课我们已经把ES的基本概念和查询了解了,大家知道ES的核心优势就是天生支持分布式,所以,这课我们专门讲讲怎么搭建实现ES的集群部署. ES分布式原理 1.es分布式概念 主分片(Primary ...

  6. Elasticsearch集群搭建

    现有两部机器:192.168.31.86,192.168.31.87   参考以往博文对Elasticsearch进行配置完成:http://www.cnblogs.com/zhongshengzhe ...

  7. elasticsearch 集群搭建及启动常见错误

    1.系统环境 三台服务器(最好是单数台,跟master选举方式有关),确保机器互相ping的通,且都需要装了jdk 8环境,机器IP和 elasticsearch 的节点名称如下: cluster n ...

  8. Elasticsearch集群搭建教程及生产环境配置

    Elasticsearch 是一个极其强大的搜索和分析引擎,其强大的部分在于能够对其进行扩展以获得更好的性能和稳定性. 本教程将提供有关如何设置 Elasticsearch 集群的一些信息,并将添加一 ...

  9. elasticsearch集群搭建报错: not enough master nodes discovered during pinging

    自己用一台 阿里云 服务器 搭建ES集群的时候,总是报上面的问题. 而且两个ES服务都是报同样的问题.自己的配置文件如下: es服务1配置文件 cluster.name: elasticsearch ...

随机推荐

  1. 据说,每一个 iOSer 都想要一张 Swift 大会门票

    据说,每一个 iOSer 都想要一张中国首届 Swift 开发者大会的门票: 那么,福利来了-- fir.im 作为中国首届 Swift 大会的唯一钻石赞助商,有最后 2 张价值 600 多的门票(已 ...

  2. android 基础控件(EditView、SeekBar等)的属性及使用方法

        android提供了大量的UI控件,本文将介绍TextView.ImageView.Button.EditView.ProgressBar.SeekBar.ScrollView.WebView ...

  3. mysql的统计函数

    一:统计函数 MySQL提供5个统计函数来对对数据进行统计.分别是实现对记录进行统计数,计算和,计算平均数,计算最大值和计算最小值. 1. 统计数据记录条数 可以有两种方式: COUNT(*)使用方式 ...

  4. filter by date in Sphinx

    Indexing: include the date column in the sql_query of source. Also set the date as sql_attr_unit PHP ...

  5. 【死磕Java并发】-----Java内存模型之happend-before

    在上篇博客([死磕Java并发]-–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题.那么我们正确使用同步.锁的情况下 ...

  6. 【整合】input标签JS改变Value事件处理方法

    某人需要在时间控件给文本框赋值时,触发事件函数.实现的效果: 1.文本框支持手工输入,通过用户输入修改值,手工输入结束后触发事件.阻塞在于失去焦点后才触发(输入过程中不触发事件) 2.通过JS方法修改 ...

  7. 汇编指令-str存储指令(4)

    str -(Store Register)存储指令 格式:str{条件}  源寄存器,<存储器地址>将源寄存器中数据存到存储器地址中. 实例1: str   r1,[r2]        ...

  8. java虚拟机 jvm 出入java栈 栈空间内存分配

    java栈空间是一块线程私有的内存空间,java堆和程序数据密切相关,那么java栈就是和线程执行密切相关.线程最基本的执行行为就是函数的调用.每次函数调用其实是通过java栈传递数据的. 数据结构中 ...

  9. Android移动后端服务&lpar;BAAS&rpar;快速搭建后台服务器之Bmob-android学习之旅&lpar;75&rpar;

    个人移动开发者的最头疼的问题,就是App的网络后台,包含数据库等,国外目前有比较成熟的解决方案,但是限制于墙的问题,推荐国内的解决方案,比较出名的是Bmob和AVOS cloud和Atom等,这一次我 ...

  10. MATLAB多项式运算

    序言 none 正文  1. 多项式的表示 在Matlab中,多项式用一个行向量表示, 行向量的元素值为多项式系数按幂次的降序排列, 如p(x)=x3-2x-5用P=[1,0,-2,-5]表示. 2. ...