Py学习  »  docker

Docker搭建百亿级搜索引擎elasticsearch,还不快来看看!

javap • 4 年前 • 340 次点击  

Docker环境已搭建完成

docker拉取远程仓库的elasticsearch镜像:
docker pull elasticsearch:7.2.0

docker运行elasticsearch容器:
docker run -itd --net mysubnet --ip 100.100.0.6
--name es-1
-p 9200:9200 -p 9300:9300
-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms200m -Xmx200m"
elasticsearch:7.2.0

docker拉取es_head可视化界面插件:
docker pull mobz/elasticsearch-head:5

运行elasticsearch_head插件版本(默认端口9100):
docker run -it --net mysubnet --ip 100.100.0.7 --name="es1-admin" -p 9400:9400 mobz/elasticsearch-head:5

elasticsearch 5.0以后的版本都不支持插件在线安装的方式

IK中文分词的选择 elasticsearch自带的IK中文分词器对每个字进行拆分,不存在词组所以最好选用githup提供的IK中文分词器:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

这里需要注意的是ik分词器的版本。需要与elasticsearch版本相对应,否者后面会启动失败:

复制 es 配置文件目录到宿主机指定目录:
docker cp es-1:/usr/share/elasticsearch/config /opt/docker-elasticsearch/elasticsearch-1/config

复制 es 持久化数据目录到宿主机指定目录:
docker cp es-1:/usr/share/elasticsearch/data /opt/docker-elasticsearch/elasticsearch-1/data

复制 es 插件目录到宿主机指定目录:
docker cp es-1:/usr/share/elasticsearch/plugins /opt/docker-elasticsearch/elasticsearch-1/plugins

进入config 配置目录,可根据服务器参数 修改 jvm.options 文件:
-Xms300m
-Xmx300m

修改 elasticsearch.yml文件, 添加如下配置:
node.name: master
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0

删除测试容器:
docker rm -f es-1

运行 Elasticsearch 容器:
docker run -d --net mysubnet --ip 100.100.0.6 --name es-1
-p 9200:9200 -p 9300:9300
-v /opt/docker-elasticsearch/elasticsearch-1/config:/usr/share/elasticsearch/config
-v /opt/docker-elasticsearch/elasticsearch-1/data:/usr/share/elasticsearch/data
-v /opt/docker-elasticsearch/elasticsearch-1/plugins:/usr/share/elasticsearch/plugins
elasticsearch:7.2.0
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] ??

  1. vim /etc/sysctl.conf
  2. vm.max_map_count = 262144
  3. sysctl -p 配置生效

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured??

  1. vim /elasticsearch/config/elasticsearch.yml
  2. cluster.initial_master_nodes: ["master"]
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52997
 
340 次点击