基于docker 搭建Elasticsearch5.6.4 分布式集群
2024-08-28 21:21:42
说明:
准备2台机器,我这里有192.168.0. 和 192.168.0.164
192.168.0.164 作为master
192.168.0.107 作为普通node
一、环境
.docker 环境
.Elasticsearch5.6.4
.Elasticsearch-head: 插件
二、下载
head 只需要在一台机器上装就行了、我直接和master节点装在164上
docker pull elasticsearch:5.6.
docker pull mobz/elasticsearch-head:
三、设置elasticsearch 配置环境
1、master[192.168.0.164] 配置
es1.yml:
#集群名称 所有节点要相同
cluster.name: "mangues_es"
#本节点名称
node.name: master
#作为master节点
node.master: true
#是否存储数据
node.data: true
# head插件设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#设置可以访问的ip 这里全部设置通过
network.bind_host: 0.0.0.0
#设置节点 访问的地址 设置master所在机器的ip
network.publish_host: 192.168.0.164
2、启动master
我的配置文件 和 data所在目录都设置在物理机器上,这里-v 映射下就可以了
docker run -d --name es1 -p : -p : -v /Users/mangues/Desktop/database/Elasticsearch/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/mangues/Desktop/database/Elasticsearch/esdata1:/usr/share/elasticsearch/data elasticsearch:5.6.
3、node[192.168.0.107] 配置
es2.yml
cluster.name: "mangues_es"
#子节点名称
node.name: node
#不作为master节点
node.master: false
node.data: true http.cors.enabled: true
http.cors.allow-origin: "*" network.bind_host: 0.0.0.0
network.publish_host: 192.168.0.107
#设置master地址
discovery.zen.ping.unicast.hosts: [192.168.0.164]
2、启动node
docker run -d --name es2 -p : -p : -v /Users/mangues/Desktop/database/Elasticsearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/mangues/Desktop/database/Elasticsearch/esdata1:/usr/share/elasticsearch/data elasticsearch:5.6.
四、开启head查看
docker run -p : mobz/elasticsearch-head:
打开链接 http://192.168.0.164:9100/ 查看节点状态
五、其他
1、安装docker-ui 可视化docker管理工具
docker run -d -p : --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
打开链接 http://192.168.0.164:9000/ 查看164机器的docker
2、问题
elasticsearch max virtual memory areas vm.max_map_count [] is too low
解决办法:
、切换到root用户修改配置sysctl.conf vi /etc/sysctl.conf 添加下面配置: vm.max_map_count= 并执行命令: sysctl -p 然后,重新启动elasticsearch,即可启动成功。
3. 安装ik 中文分词插件
进入容器
$ sudo docker exec -it imageId /bin/bash
$ cd plugins
$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.4/elasticsearch-analysis-ik-5.6.4.zip
$ unzip elasticsearch-analysis-ik-5.6..zip
$ rm elasticsearch-analysis-ik-5.6..zip
利用
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.4/elasticsearch-analysis-ik-5.6.4.zip
会出问题:
java.io.FileNotFoundException: /usr/share/elasticsearch/config/analysis-ik/IKAnalyzer.cfg.xml (No such file or directory)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012915455/article/details/78952068
最新文章
- SQL Tuning 基础概述08 - SQL Tuning Advisor
- 2016huasacm暑假集训训练四 递推_C
- Objective-C: 字符串NSString与NSMutableString
- [easyui] datebox源码阅读. 批注
- RabbitMQ 原文译02--工作队列
- Redis以及Redis的php扩展安装无错版
- WPF动画之线性插值动画(1)
- 表单验证插件jquery.validate的使用方法演示
- Android SqLite升级
- 【Quartz】持久化到数据库【五】
- 《hello--world团队》第一次作业:团队亮相
- 高性能mysql的事物隔离级别
- minitab 输入一串数字
- Python 内置函数sorted()在高级用法
- js获取当前日期,并计算几天后日期
- 【WEB前端开发最佳实践系列】高可读的HTML
- RHEL7 -- nmcli的使用
- 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
- 团队作业7——第二次项目冲刺(Beta版本)
- Centos +django+nginx
热门文章
- Apache: You don't have permission to access / on this server
- Mysql bin-log日志文件处理
- springboot2.0 fastjson 日期格式化不生效解决
- Unix系统编程()open,read,write和lseek的综合练习
- Unix系统编程(五)read系统调用
- Ehcache2 的配置(不使用配置文件)
- 解读MT7620A上的DTS文件
- Servlet 容器对URI的处理
- vue使用axios请求本地json文件出现404
- .Net HttpContext.Current.Request 常用处理方案