在centos7使用docker下搭建elasticsearch集群
一 、docker的安装
https://www.cnblogs.com/ghostdot/p/12410242.html
二、创建相关映射文件
cd /home/
mkdir node
cd node
mkdir es_node1 es_node2 es_node2 plugins
cd es_node1
mkdir data
touch elastisearch.yml
cd /home/node
cd es_node2
mkdir data
touch elastisearch.yml
cd /home/node
cd es_node3
mkdir data
touch elastisearch.yml
三、编写elasticsearch.yml配置文件
vim /home/node/es_node1/elasticsearch.yml
cluster.name: elasticsearch-cluster #集群唯一名称,所有节点一致
node.name: es_node1 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9200 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9300 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240
vim /home/node/es_node2/elasticsearch.yml
cluster.name: elasticsearch-cluster #集群唯一名称,所有节点一致
node.name: es_node2 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9201 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9301 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保存
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240
vim /home/node/es_node3/elasticsearch.yml
cluster.name: elasticsearch-cluster #集群唯一名称,所有节点一致
node.name: es_node3 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9202 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9302 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保存数据
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240
四、修改宿主机相关配置文件
# 关闭防火墙
systemctl status firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
# 修改limits.conf
vim /etc/security/limits.conf
# 在最后添加: *表示所用用户
* hard nofile 65536
* soft nofile 65536
* soft nproc 65536
* hard nproc 65536
# 修改sysctl.conf
vim /etc/sysctl.conf
# 在最后添加
vm.max_map_count=262144
# 关闭selinux
vim /etc/sysconfig/selinux
# 将 SELINUX=enforcing 改为 SELINUX=disabled
五、ES插件的安装
如果不需要插件,这个步骤可以省略
# 下载地址:
# https://github.com/medcl/elasticsearch-analysis-ik/releases
# 拷贝到plugins下
# tar -zxvf 下载文件
# 解压后将原文件删除
# 建议chmod -R 777 包名
六、启动ES集群
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 -v /home/node/es_node1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node1/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES01 elasticsearch:5.1.1
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9201:9201 -p 9301:9301 -v /home/node/es_node2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node2/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES02 elasticsearch:5.1.1
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9202:9202 -p 9302:9302 -v /home/node/es_node3/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node3/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES03 elasticsearch:5.1.1
访问 http://宿主机ip:9200/_cat/nodes
七、写在最后
ES_JAVA_OPTS="-Xms512m -Xmx512m"
512m为其内存,可以自己根据寻求就行分配,内存越高es的效率也就越高
elasticsearch:5.1.1
版本可以自己根据需要进行选择
如果出现权限不足或者报错,可以尝试
cd /home
chmod -R 777 node
chown -R 777 node
插件选择时版本应该和ES版本相对应
给出集群创建后的tree,各节点中data下,在创建前是没有内容的,图片中为节点生成后,docker内部映射出来的文件,如果需要重新创建请删除data中的内容,以免影响集群的创建成功
在centos7使用docker下搭建elasticsearch集群的更多相关文章
- docker下搭建fastfds集群版
搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...
- Windows下搭建elasticsearch集群案例
https://blog.csdn.net/u014236259/article/details/64129918
- Elasticsearch使用系列-Docker搭建Elasticsearch集群
Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...
- 使用Docker搭建Elasticsearch集群环境
本篇文章首发于头条号单机如何搭建Elasticsearch集群?使用容器技术快速构建集群环境,欢迎关注头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_te ...
- 基于docker搭建elasticsearch集群
es集群的搭建 - 基于单机搭建elasticsearch集群见官网 https://www.elastic.co/guide/en/elasticsearch/reference/current/d ...
- 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow
本章其实是ELK第二章的插入章节. 本章ES集群的多节点是docker启动在同一个虚拟机上 ====================================================== ...
- Windows10 搭建 ElasticSearch 集群服务
一.前言 集群的搭建需要多台机器,之前我使用 ubuntu 16.04 搭建过 hadoop 的单机模式和分布式模式,这个今后会写,今天先写一篇使用 < Windows10 搭建 Elastic ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
- Windows下搭建Redis集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
随机推荐
- mac搭建本地服务器
目录 基础部分 1234 启动服务器添加自定义文档到本地服务器查看自定义效果手机/其他电脑 访问本机服务器 说明:本地开发需要搭建本地服务器进行页面的调试,mac系统自带apache服务,本篇日志是针 ...
- [LC] 156. Binary Tree Upside Down
Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that ...
- JS UTC 昨天
var birthday = new Date("Jan 01, 1983 01:15:00") var formatDate = function (date) { ...
- UTF虚拟对象
虚拟对象: 虚拟对象是为了让UFT识别某些不能识别的控件,把这些控件的范围定义为虚拟对象. 新建虚拟对象 管理虚拟对象 创建虚拟对象之后可通过菜单tools-Virutal Objects-Virut ...
- Qt 项目中main主函数及其作用
main.cpp 是实现 main() 函数的文件,下面是 main.cpp 文件的内容. #include "widget.h" #include <QApplicatio ...
- mysql 数据库 创建用户和授权
创建用户和密码 CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; 创建几个数据库 例如 db1,db2 用户授权访问指定的数据库 grant all privileg ...
- iOS UITableView Tips(2)
#TableView Tips(2) (本来想一章就结束TableView Tips,但是发现自己还是太天真了~too young,too simple) ##架构上的优化 在Tips(1)中指出了一 ...
- LeetCode Day 5
LeetCode0005 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab& ...
- 3dmax2020卸载/安装失败/如何彻底卸载清除干净3dmax2020注册表和文件的方法
3dmax2020提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2020失败提示3dmax2020安装未完成,某些产品无法安装,也有时候想重新安装3 ...
- Query对象与DOM对象之间的转换
什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test") ...