纵有疾风起
人生不言弃

docker安装ElasticSearch

文章目录

1 安装es

  1. 安装docker:

《离线安装docker》: https://blog.csdn.net/u012052268/article/details/103264596

  1. 下载elasticSearch镜像:

为了使用es自带的向量搜索功能,必须使用7.0以上的版本。这里使用7.6.2(2020年4月27)。

下载:docker pull elasticsearch:7.6.2

  1. 创建es的挂载目录以及配置文件:
# 创建并进入es文件夹
mkdir -p /home/xuqingtang/programming/elasticsearch
cd /home/xuqingtang/programming/elasticsearch
# 创建所需的子文件夹
mkdir config
mkdir dataMaster
mkdir dataSlave
# 更改权限
chmod 777 dataMaster
chmod 777 dataSlave
  1. es配置文件

config 里面分别放两个配置文件

cd config
touch master.yml
touch slave.yml

其中 matser.yml 内容为:

cluster.name: elasticsearch-cluster # 用于唯一标识一个集群,不同的集群
node.name: master # 节点名,默认随机指定一个name列表中名字。集群中node名字不能重复
node.master: true 
node.data: true 
network.host: 0.0.0.0
http.port: 9200 # 对外服务的http端口,默认为9200
transport.tcp.port: 9300 # 节点之间交互的tcp端口,默认是9300
http.cors.enabled: true # 是否允许跨域REST请求
http.cors.allow-origin: "*" # 跨域允许 REST 请求来自何处
discovery.seed_hosts: ["172.0.0.1:9300","172.0.0.1:9301"]
cluster.initial_master_nodes: ["172.0.0.1:9300","172.0.0.1:9301"]

其中 slave.yml 内容为:

cluster.name: elasticsearch-cluster
node.name: slave
node.master: true
node.data: true 
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["172.0.0.1:9300","172.0.0.1:9301"]
cluster.initial_master_nodes: ["172.0.0.1:9300","172.0.0.1:9301"]
  1. 调高JVM线程数限制数量

(不然启动容器的时候会报错)

vim /etc/sysctl.conf
# 添加这个
vm.max_map_count=262144 
# 保存后执行这个命令
sysctl -p

注:这一步是为了防止启动容器时,报出如下错误:
bootstrap checks failed max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

  1. Docker固定IP设置
    Docker 每次重启后,容器的IP地址会变化,

创建自定义网络:(设置固定IP):

docker network create --subnet=172.18.0.0/16 mynetwork

docker network ls

创建Docker容器的时候,就可以使用固定的ip:

docker run -itd --net mynetwork --ip 172.18.0.2

参考:

  1. 《docker安装elasticsearch》: https://juejin.im/post/5ca0d12c518825550b35be6d
  2. 《docker简易搭建ElasticSearch集群》: https://blog.csdn.net/belonghuang157405/article/details/83301937

2 启动

 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -id -p 9200:9200 -p 9300:9300 -v /home/xuqingtang/programming/elasticsearch/config/master.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/xuqingtang/programming/elasticsearch/dataMaster:/usr/share/elasticsearch/data --name esMaster elasticsearch:7.6.2
 
 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -id -p 9201:9201 -p 9301:9301 -v /home/xuqingtang/programming/elasticsearch/config/slave.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/xuqingtang/programming/elasticsearch/dataSlave:/usr/share/elasticsearch/data --name esSlave elasticsearch:7.6.2

注:设置-e ES_JAVA_OPTS=”-Xms256m -Xmx256m” 是因为/etc/elasticsearch/jvm.options 默认jvm最大最小内存是2G,读者启动容器后 可用docker stats命令查看
9100 是给未来es-head提前准备的。

  • 校验是否安装成功
    浏览器访问 http://172.0.0.1:9200

原文链接:https://lookme.blog.csdn.net/article/details/105795619

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » docker安装ElasticSearch
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录