docker安装elasticsearch6.8.3-单机模式及可视化Kibana6.8.3

docker安装elasticsearch6.8.3-单机模式

拉取镜像

docker pull elasticsearch:6.8.3

 

创建容器  测试环境加上-e "discovery.type=single-node"

docker run --name elasticsearch \
--net host -e "discovery.type=single-node" \
elasticsearch:6.8.3

指定目录 
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/elasticsearch/config :/usr/share/elasticsearch/config \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
--restart=always elasticsearch

直接启动会报错,没有权限

先启动,再把文件cp出来,在用上面命令重新启动

docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
--restart=always elasticsearch:6.8.3

文件cp出来

docker cp 5d14245e3c24:/usr/share/elasticsearch/config /home/elasticsearch \
&& docker cp 5d14245e3c24:/usr/share/elasticsearch/data /home/elasticsearch \
&& docker cp 5d14245e3c24:/usr/share/elasticsearch/plugins /home/elasticsearch

赋予文件权限

chown -R elasticsearch /home/elasticsearch/

用上面命令重新启动

docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
elasticsearch:6.8.3

 

提示 : 6.8.3不支持type,建议安装7.1.1

docker pull elasticsearch:7.1.1

docker run -d --name elasticsearch --net=host \
-p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
--restart=always elasticsearch:7.1.1

docker cp 容器id:/usr/share/elasticsearch/config /home/elasticsearch \
&& docker cp 容器id:/usr/share/elasticsearch/data /home/elasticsearch \
&& docker cp 容器id:/usr/share/elasticsearch/plugins /home/elasticsearch

赋予文件权限

chown -R elasticsearch /home/elasticsearch/

移除容器重新指定文件启动

docker run -d --name elasticsearch --net=host \
-p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
-v /home/elasticsearch/config:/usr/share/elasticsearch/config \
-v /home/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
--restart=always elasticsearch:7.1.1

 

docker--net=host有什么用

加了--net=host以后就不需要再做端口映射了.比如docker容器内在8080端口起了一个web server.不加的话需要把本机的某个port比如7979docker内的8080做一个映射关系,访问的时候访问7979. 加了net=host则直接访问8080.

另外,加了net=host后会使得创建的容器进入命令行好名称显示为主机的名称而不是一串id. 

比如显示root@sc:/#而不是root@3b8e647e5f79:/#

 

运行容器

docker start elasticsearch

 

查看日志

docker logs elasticsearch

 

如果因为内存不足无法启动,则修改启动的内存大小

重新启动ES

docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --net host -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:6.8.3

测试 

IP:9200

 

其他设置

进入容器

docker exec -it elasticsearch /bin/bash

 

新增跨域配置

修改配置文件/usr/share/elasticsearch/config/elasticsearch.yml

http.cors.enabled: true

http.cors.allow-origin: "*"

安装分词插件 (elasticsearch-plugin在容器进去后的bin目录下面)

docker exec -it 容器id bash

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.3/elasticsearch-analysis-ik-6.8.3.zip

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip

 

如果安装错误,则去下载(找到自己elasticsearch的版本,下载对应的ik版本)

https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.1.1

解压移动到服务器,或移到服务器解压都行(uzip)

 

 

 

 

 

 

重启容器用post测试 

访问地址 http://192.168.0.23:9200/_analyze?pretty=true    POST

参数  

{
"analyzer":"ik_max_word",
"text":"你是瓜皮吗"
}

如下则代表成功

 

 

安装文本抽取插件

./elasticsearch-plugin install ingest-attachment

重启容器

docker restart elasticsearch

更新镜像

docker commit -m="[备注]" [容器ID] elasticsearch:6.8.3

 

Kibana

上面我们安装了elasticsearch,可以使用curl命令进行操作,我们还是需要一个图像界面进行管理,下面我们安装Kibana,这里注意安装的时候一定要版本对应,这里安装Kibana6.8.3

docker pull kibana:6.8.3

运行kibana

docker run --name kibana6.8.3 -e ELASTICSEARCH_URL=http://172.17.0.2:9200 \

-p 5601:5601 -d [镜像ID]

 

PS:

参数ELASTICSEARCH_URL一定要是docker里面的内部地址,否则Kibana访问不到Elasticsearch。

进入容器查看内部地址

或者 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  容器id或name

启动成功访问 ip+5601

 

汉化版

启动时-e 传递环境变量

docker run --name kibana6.8.3 \

-e "I18N_LOCALE=zh-CN" \

-e ELASTICSEARCH_URL=http://172.17.0.4:9200 \

-p 5601:5601 \

-d 54db200915ee

 

 

 也可以创建配置文件,启动的时候指定配置文件

vi /home/kibana/kibana.yml

#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"

#指定elasticsearch的访问ip
elasticsearch.hosts: [ "http://192.168.0.23:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: false

 

 

docker run -d --name kibana --restart=always -p 5601:5601 -v /home/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:6.8.3

 

 

posted @ 2021-08-31 14:44  韩憨  阅读(184)  评论(0编辑  收藏  举报
//看板娘