Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器
Docker安装部署ElasticSearch
拉取镜像
这里我们可以访问DockerHub查看我们需要下载的镜像。这边综合考虑我选择了8.10.4版本,因为这边显示没有什么明显的漏洞,如下图所示。
docker pull elasticsearch:8.10.4
创建网络
一般来说,我们在使用elasticsearch的时候会结合kibana一起使用,所以为了能够正常关联,我们创建一个网络来连接他们。
docker network create elastic-net
启动容器
因为这里使用的是单机启动方式,所以就需要将discovery.type设置为single-node
docker run \
-d \
--name es \
--net elastic-net \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v /Users/ityoung/workspace/elasticsearch/conf/:/usr/share/elasticsearch/config \
-v /Users/ityoung/workspace/elasticsearch/plugins/:/usr/share/elasticsearch/plugins \
-v /Users/ityoung/workspace/elasticsearch/data/:/usr/share/elasticsearch/data \
--privileged \
elasticsearch:8.10.4
查看是否部署成功
访问9200端口,这次你不会看到任何东西,因为8.x版本已经默认采用https了。
访问https://[yourIp]:9200,此时会显示这是一个不安全的连接,选择无视风险继续访问,此时浏览器会弹出一个窗口让你输入用户名和密码。
elastic是一个默认账户,而其密码是随机生成的。
首先我们进入elasticsearch容器中执行重置密码的命令
docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
执行之后可能需要你输入"y",之后密码就会输出在控制台,如下图。
将用户名和密码输入浏览器中的登录窗口。出现下面这串字符串就成功了
Docker安装Kibana
拉取镜像
docker pull kibana:8.10.4
Kibana容器启动
ELASTICSEARCH_HOSTS环境变量为elasticsearch服务的地址,其中http://es:9200中的es是我们运行elasticsearch容器时起的别名
elastic-net
为我们在之前创建的网络的名称
docker run \
-d \
--name kibana \
--net elastic-net \
-p 5601:5601 \
kibana:8.10.4
访问5601端口,会要求你输入elasticsearch的令牌,进入elasticsearch容器获取kibana的令牌
docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
docker exec -it kibana bin/kibana-verification-code
接下来会要求你输入六位数的kibana验证码,进入kibana容器获取验证码
安装IK分词器
进入到es的容器中,执行下面的命令,就可以安装了
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.10.4/elasticsearch-analysis-ik-8.10.4.zip