1.使用docker安装es
docker pull elasticsearch:7.4.2
docker images
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name elasticsearch -p 9200:9200 -p 9300:9300 *****[注:这是要运行的镜像id]
export PATH=/home/jdk1.8.0_191/bin:$PATH
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" -e "discovery.type=single-node" -d d7052f192d01
安装elasticsearch head插件监控管理
docker pull mobz/elasticsearch-head:5
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
在这里可能会出现跨域拒绝访问问题:
解决方式1:
进入elasticsearch容器内部,修改配置文件elasticsearch.yml
docker ps -a #拿到运行容器elasticsearch 的 id
docker exec -it ******(容器id) /bin/bash
cd ./config
vim elasticsearch.yml
添加如下
http.cors.enabled: true
http.cors.allow-origin: "*"
ik分词器插件的安装
直接将分词器目录拷贝到 容器所在目录的/bin/bash/plugins
docker cp ik tensquare_es:/usr/share/elasticsearch/plugins
查看日志docker logs -f -t --tail 10 elasticsearch
启动报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
执行vi /etc/sysctl.conf 添加vm.max_map_count = 262144
/sbin/sysctl -p重启
报错the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discover
docker cp docker-elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml . #cp出来,到宿主机当前目录下
vi elasticsearch.yml #修改配置
添加discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
复制回去docker cp elasticsearch.yml docker-elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml #cp回去
docker start docker-elasticsearch
临时启动
docker run --rm --name navi_es \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v $PWD/elasticsearch.yml:/accesg/elasticsearch.yml \
-v $PWD/es_data:/access/data \
d7052f192d01
设置密码的启动方式
elasticsearch
安装分词器pinyin
测试无效./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip
下载后在es-home 找/usr/share/elasticsearch/plugins下创建pinyin将分词器zip解压放进去
重启后查看是否安装成功http://152.136.176.43:9200/_cat/plugins
安装分词器ik
下载后在es-home 找/usr/share/elasticsearch/plugins下创建analysis-ik将分词器zip解压放进去
docker方式执行
docker cp commons-codec-1.9.jar elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp commons-logging-1.2.jar elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp elasticsearch-analysis-ik-7.4.1.jar elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp httpclient-4.5.2.jar elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp httpcore-4.4.4.jar elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp plugin-descriptor.properties elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp plugin-security.policy elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik
docker cp config/extra_main.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/extra_single_word.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/extra_single_word_full.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/extra_single_word_low_freq.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/extra_stopword.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/IKAnalyzer.cfg.xml elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/main.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/preposition.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/quantifier.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/stopword.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/suffix.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
docker cp config/surname.dic elasticsearch:/usr/share/elasticsearch/plugins/analysis-ik/config
将容器提交为一个镜像docker commit -m "update es" --author='ds' 390b55cb8a6b ds/es:v1