docker 部署 elasticsearch 及es分词插件安装

docker 安装 es

# 如果公司docker仓库没有es6.6.0 则docker pull 有则直接执行第二步
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 --restart always -e "discovery.type=single-node" elasticsearch:6.6.0
#或者
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.0
#可选安装ElasticSearch管理界面elasticsearch-hq
docker run -d --name elastic-hq -p 5000:5000 --restart always elastichq/elasticsearch-hq
# docker 安装 es
docker run -d --net=host --name elastic --restart=always registry.api.xxx.com/devops/elasticsearch:6.6.0
# 进入 docker es 容器
docker exec -it elastic /bin/bash 
# 安装icu插件 
bin/elasticsearch-plugin install analysis-icu   


cd /data0
mkdir es6
cd es6 
mkdir data
chmod 777 data
mkdir plugins
docker cp container_id:/usr/share/elasticsearch/plugins .

docker run -d --name=es6-brpro -p 9201:9200 -p 9301:9300 --restart=always -m 16000M -e "discovery.type=single-node" -v /data0/es6/data:/usr/share/elasticsearch/data -v /data0/es6/plugins:/usr/share/elasticsearch/plugins registry.api.wb.com/bop-devops/elasticsearch:6.6.0

es设置内存大小:

给es分配内存时要注意,至少要分配一半儿内存留给 Lucene。
分配给 es 的内存最好不要超过 32G ,因为如果堆大小小于 32 GB,JVM 可以利用指针压缩,这可以大大降低内存的使用:每个指针 4 字节而不是 8 字节。如果大于32G 每个指针占用 8字节,并且会占用更多的内存带宽,降低了cpu性能。
还有一点, 要关闭 swap 内存交换空间,禁用swapping。频繁的swapping 对服务器来说是致命的。
总结:给es JVM栈的内存最好不要超过32G,留给Lucene的内存越大越好,Lucene把所有的segment都缓存起来,会加快全文检索

docker exec -it es6-pro /bin/sh
cd config
vi jvm.options

-Xms8g
-Xmx8g

目前分词插件 analysis-icu 国外网站被墙了
下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-6.6.0.zip

直接使用命令 提示下载安装失败。

解决办法:

  1. 把analysis-icu-6.6.0.zip 下载到本地电脑,然后用ssh 命令或者 nc 命令 上传到服务器上。
  2. 创建Dockerfile,
FROM registry.api.zz.com/devops/elasticsearch:6.6.0

ADD analysis-icu-6.6.0.zip /usr/share/elasticsearch/plugins

RUN cd /usr/share/elasticsearch/plugins \
    && mkdir analysis-icu \
    && unzip analysis-icu-6.6.0.zip -d ./analysis-icu \
    && rm -rf analysis-icu-6.6.0.zip

WORKDIR /usr/share/elasticsearch

  1. 在Dockerfile 同一目录下,执行docker build
docker build -t registry.api.zz.com/devops/elasticsearch-juejin:6.6.0 .

docker run -it  --net=host  --name elastic registry.api.zz.com/devops/elasticsearch-juejin:6.6.0 /bin/bash

# 如果安装失败
 docker ps
 docker logs elastic
 docker rm -f elastic
 docker run -d  --net=host  --name elastic registry.api.zz.com/devops/elasticsearch-juejin:6.6.0

# 推送到docker 仓库
docker images
docker login registry.api.zz.com
docker push registry.api.zz.com/devops/elasticsearch-juejin:6.6.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值