Centos7中docker安装es最详细步骤

1、下载镜像文件

docker pull elasticsearch:7.4.2

2、安装es可视化界面,注意kibana版本必须要和es的版本保持一致

docker pull kibana:7.4.2

3、创建目录并且修改权限

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/plugins

#下面指令表示在elasticsearch.yml添加上http.host: 0.0.0.0,该内容表示任何机器都可以访问,开发测试阶段可以这么做,生产环境下指定具体的IP
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

# 递归更改权限,es需要访问
chmod -R 777 /mydata/elasticsearch

4.启动es

指令解释:--name:为容器起一个名字; -p:暴漏两个端口,一个92009300; \:换行;-e "discovery.type=single-node":表示单节点运行;指定es初始最大64兆,最大占用128兆,不然docker一运行,虚拟机就会卡死,真正在企业中生产上es用32G左右就差不多了;-v是挂载,挂载的作用就是以后该配置不需要进入docker容器内部,直接在虚拟机中的/mydata/elasticsearch/config/目录中去修改就可以了;-d:后台启动所使用的镜像


docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
最后使用docker ps查看es是否启动成功

Centos7中docker安装es最详细步骤_第1张图片这里可以看到并没有es,证明es没有启动成功,查看下dockers运行日志,看看为啥运行失败

使用docker logs  容器id(这个容器id可以在上面的图中看到,启动es后终端会出现一长串东西,这个就是容器id)

Centos7中docker安装es最详细步骤_第2张图片可以看到报错信息,原来是修改es初始内存时指令不对,应该是-Xms64m,这时需要使用指令先删除容器的id(如果不删除容器id,继续使用启动指令,docker会报错,该容器id已经被使用,需要先删除id),docker rm 容器id,删除容器id后,再重新使用运行es,然后再使用docker ps指令查看是否启动成功
Centos7中docker安装es最详细步骤_第3张图片这里看到es已经启动成功

然后使用浏览访问es,看能否访问,使用http://ip:9200,出现这个es的节点信息可以了,如果不能访问,看看es的目录是都修改了权限,看上面第三点创建目录以及修改权限
Centos7中docker安装es最详细步骤_第4张图片

5.启动es的可视化界面kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://虚拟机的ip:9200 -p 5601:5601
-d kibana:7.4.2
然后使用docker ps查看kibana是否启动成功
Centos7中docker安装es最详细步骤_第5张图片

5.1、浏览器访问kibana,虚拟机ip:5601,如果浏览器出现这样的,说明服务没有运行成功,查看一下docker的运行日志,docker logs 容器id,如果没有报错信息,那就是单纯的没有启动完成,稍等一会浏览器再重新访问

在这里插入图片描述

出现这样的页面就表示kibana启动好了

6.设置dockers容器启动时es自动启动

docker update --restart=always 容器名称或者容器ID,使用exit退出docker,然后使用systemctl start docker重启docker,docker ps就可以看到es自动启动好了
Centos7中docker安装es最详细步骤_第6张图片

你可能感兴趣的:(elasticsearch,docker,es,centos,linux)