docker部署Elasticsearch集群

该博客详细介绍了如何在三台服务器上搭建Elasticsearch集群,包括创建目录、授权、调整内存设置、配置集群节点及启动Docker容器。集群配置涉及节点间通信、端口映射和插件安装,确保了高可用性和数据一致性。同时,还提到了使用elasticsearch-head进行监控并修改其contentType以适应中文数据。
摘要由CSDN通过智能技术生成

准备三台服务器172.30.72.199,172.30.72.200,172.30.72.201
三台服务器创建目录,并授权

mkdir -p /home/tools/elasticsearch-cluster/config
mkdir -p /home/tools/elasticsearch-cluster/node-data
mkdir -p /home/tools/elasticsearch-cluster/plugins

elasticsearch用户拥有的内存权限太小,至少需要262144 切换到root用户 执行命令:

sysctl -w vm.max_map_count=262144

查看结果:

sysctl -a|grep vm.max_map_count

上述方法修改之后,如果重启虚拟机将失效,所以解决办法:
在 /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

172.30.72.199进入配置目录 cd /home/tools/elasticsearch-cluster/config

vim elasticsearch.yml
cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 172.30.72.199
http.port: 9208
transport.tcp.port: 9308
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true
discovery.zen.ping.unicast.hosts: ["172.30.72.199:9308","172.30.72.200:9308","172.30.72.201:9300"]
discovery.zen.minimum_master_nodes: 2

172.30.72.200进入配置目录 cd /home/tools/elasticsearch-cluster/config

vim elasticsearch.yml
cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 172.30.72.200
http.port: 9208
transport.tcp.port: 9308
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true
discovery.zen.ping.unicast.hosts: ["172.30.72.199:9308","172.30.72.200:9308","172.30.72.201:9300"]
discovery.zen.minimum_master_nodes: 2

172.30.72.201进入配置目录 cd /home/tools/elasticsearch-cluster/config

vim elasticsearch.yml
cluster.name: elasticsearch-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 172.30.72.201
http.port: 9208
transport.tcp.port: 9308
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true
discovery.zen.ping.unicast.hosts: ["172.30.72.199:9308","172.30.72.200:9308","172.30.72.201:9300"]
discovery.zen.minimum_master_nodes: 2

将插件包(ik分词,拼音转换,中文简繁转换等)传到/home/tools/elasticsearch-cluster/plugins

172.30.72.199启动

docker run -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -d -p 9208:9208 -p 9308:9308 -v /home/tools/elasticsearch-cluster/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/tools/elasticsearch-cluster/node-data:/usr/share/elasticsearch/data -v /home/tools/elasticsearch-cluster/plugins:/usr/share/elasticsearch/plugins --name es_node_one docker.elastic.co/elasticsearch/elasticsearch:6.3.2

172.30.72.200启动

docker run -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -d -p 9208:9208 -p 9308:9308 -v /home/tools/elasticsearch-cluster/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/tools/elasticsearch-cluster/node-data:/usr/share/elasticsearch/data -v /home/tools/elasticsearch-cluster/plugins:/usr/share/elasticsearch/plugins --name es_node_two docker.elastic.co/elasticsearch/elasticsearch:6.3.2

172.30.72.201启动

docker run -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -d -p 9208:9208 -p 9308:9308 -v /home/tools/elasticsearch-cluster/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/tools/elasticsearch-cluster/node-data:/usr/share/elasticsearch/data -v /home/tools/elasticsearch-cluster/plugins:/usr/share/elasticsearch/plugins --name es_node_three docker.elastic.co/elasticsearch/elasticsearch:6.3.2

elasticsearch-head安装

elasticsearch-head访问数据需要将contentType修改为"application/json;charset=UTF-8",可以直接下载我改好的vendor.js,放到/home/tools/elasticsearch-cluster/目录下

docker run -d --name es-admin -p 9101:9100 -v /home/tools/elasticsearch-cluster/vendor.js:/usr/src/app/_site/vendor.js docker.io/mobz/elasticsearch-head:5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值