栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch 集群安装流程

ElasticSearch 集群安装流程

首先需要先了解一下docker 和基础命名,要不然在看我的代码的时候会有很多疑问

步骤1:拉取ElasticSearch7.6.1版本

docker pull elasticsearch:7.6.1

步骤2:创建三个文件存储 ElasticSearch 配置文件,因为当前使用的时docker技术,所以不需要购买多个服务器,只需要在docker上运行run 多个对应的服务就可以

#创建文件夹

mkdir -p /ES/config 

#进入config

cd /ES/config/

#分别创建三个文件

vim es1.yml

vim es2.yml

vim es3.yml

配置文件参数讲解

#集群唯一名称,所以节点一致
cluster.name:elasticsearch-cluster 

#节点名称
node.name:es-nodel

#设置可以访问的ip,默认为0.0.0.0 这里全部设置通过
network.host:0.0.0.0

#设置服务ip 
network.publish_host: 47.105.92.119

#设置对外服务的http端口,默认9200
http.port:9200

#设置节点之间交互的tcp端口,默认9300
transport.tcp.port:9300

#是否支持跨越 
http.cors.enabled:true

#表示支持所有域名
http.cors.allow-origin:"*"

#配置该节点是否有资格被选举为主节点(候选主节点),为了防止脑裂,配置奇数个候选主节点
node.master:true

#配置该节点是数据节点,用户保存数据
node.data:true

#集群多个节点IP地址
discovery.zen.ping.unicast.hosts:['127.0.0.1:9200','127.0.0.1:9201','127.0.0.1:9202']

#自动发现master节点的最小数
discovery.zen.minimum_master_nodes:1

在三个配置文件都加上对应的配置

es1.yml

cluster.name: elasticsearch-cluster 
node.name: es-nodel1
network.host: 0.0.0.0
network.publish_host: 47.105.92.119
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ['127.0.0.1:9200','127.0.0.1:9201','127.0.0.1:9202']
discovery.zen.minimum_master_nodes: 1

es2.yml

cluster.name: elasticsearch-cluster 
node.name: es-nodel2
network.host: 0.0.0.0
network.publish_host: 47.105.92.119
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ['127.0.0.1:9200','127.0.0.1:9201','127.0.0.1:9202']
discovery.zen.minimum_master_nodes: 1

es3.yml

cluster.name: elasticsearch-cluster 
node.name: es-nodel3
network.host: 0.0.0.0
network.publish_host: 47.105.92.119
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ['127.0.0.1:9200','127.0.0.1:9201','127.0.0.1:9202']
discovery.zen.minimum_master_nodes: 1

步骤3:分别创建三个容器

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d  -p 9200:9200  -p 9300:9300 -v /ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -- name ES01 f29a1ee41030

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d  -p 9201:9201  -p 9301:9301 -v /ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -- name ES02 f29a1ee41030 

 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d  -p 9202:9202  -p 9302:9302 -v /ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -- name ES03 f29a1ee41030

如果遇到了启动不了容器,或者其他问题,不慌,先用docker logs -f 容器id 查看一下问题所在

上面的问题是再说 内存太低 需要增加

解决办法 在/etc/sysctl.conf文件最后添加一行 

vim /etc/sysctl.conf

#最后一行添加
vm.max_map_count = 655360

#保存并推出后 并执行命令
sysctl -p

#然后,删除当前容器重新启动elasticsearch,即可启动成功

删除三个容器 重新run 启动,在浏览器查看是否可以访问 9200 9201 9202 都分别可以访问,再次说明访问成功

还可以在浏览器 访问 127.0.0.1:9200/_cat/nodes?pretty

 也可以看到会有三个elasticsearch服务

还有一个elasticsearch-head可视化工具

docker pull mobz/elasticsearch-head:5

#成功后运行容器

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

浏览器访问,可以看到可以访问并且也可以关联elasticsearch:9200服务

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号