docker安装es8.11

发布时间 2023-11-10 10:12:57作者: 随笔~~~~~~
一、安装es
docker拉取要指定版本标签,不能用lastest,官方文档目前最新是8.11,就决定安装这个版本的,主要是注意改下配置文件
#高版本安装Kibana的时候需要和ElasticSearch在同一网段内 
docker network create es-net

#给映射文件夹授权
chmod -R 775 /data/es

#单节点模式,9200端口(Web管理平台端口) 9300(服务默认端口),映射了yml需先创建配置文件 docker run
-d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v /data/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /data/es/data:/usr/share/elasticsearch/data \ -v /data/es/plugins:/usr/share/elasticsearch/plugins \ --privileged \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ elasticsearch:8.11.0

(1)

#进入容器
docker exec -it es bash
#修改密码
bin/elasticsearch-reset-password --username elastic -i

#浏览器访问:

#没开ssl认证直接http访问
#https://<ip>:9200/

 #使用不安全的连接继续,输入账号密码即可

 

(2)也可以修改elasticsearch配置文件,关闭安全校验:elasticsearch.yml

cluster.name: "docker-cluster"
#监听的地址,可以外网访问 network.host: 0.0.0.0 #----------------------- BEGIN SECURITY AUTO CONFIGURATION ----------------------- # # The following settings, TLS certificates, and keys have been automatically # generated to configure Elasticsearch security features on 09-11-2023 03:09:51 # # -------------------------------------------------------------------------------- # Enable security features
# 关闭账号密码校验 xpack.security.enabled:
false xpack.security.enrollment.enabled: true # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
# 关闭ssl认证,使http可以访问
# 不知道哪个命令搞错了,后面重试的时候下面2个配置不能用了,知道的可以留言讨论 #xpack.security.http.ssl: # enabled:
false # keystore.path: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes #xpack.security.transport.ssl: # enabled: false # verification_mode: certificate # keystore.path: certs/transport.p12 # truststore.path: certs/transport.p12 #----------------------- END SECURITY AUTO CONFIGURATION -------------------------

容器中位置:/usr/share/elasticsearch/config/elasticsearch.yml,

如果vi不能用,可使用 docker cp elasticsearch.yml es:/usr/share/elasticsearch/config/ 复制外部文件进去,重启容器即可

浏览器访问:

http://<ip>:9200/

 

二、安装kibana

拉取与es同版本镜像安装

docker run -itd \
--name kibana \
-e "ELASTICSEARCH_HOSTS=http://es:9200" \
-p 5601:5601 \
-v /data/kinaba/kibana.yml:/etc/kibana/kibana.yml \
--network es-net \
kibana:8.11.0
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://<ip>:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch,也可以写IP地址实现访问。
kibana支持中文,同样修改配置:kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
#国际化中文
i18n.locale: zh
-CN
#es账号密码
elasticsearch.username: "test"
#6位
elasticsearch.password: "......"

容器中的位置:/usr/share/kibana/config

修改后重启,日志中如果出现了 http://0.0.0.0:5601 即可访问Kibana后台服务:http://<ip>:5601/

 

如果使用了账号密码校验,不能用elastic账号,需新建一个:

#bash进入默认目录:/usr/share/elasticsearch
#创建test
bin/elasticsearch-users useradd test
#授权角色,之后在/usr/share/elasticsearch/config/下的users 和 users_roles 中可查看
bin/elasticsearch-users roles -a superuser test
bin/elasticsearch-users roles -a kibana_system test

 

三、ik分词器

ik8.11 github下载太慢了,这里放一个


参考:https://juejin.cn/post/7074115690340286472
https://blog.csdn.net/qq_36567420/article/details/132689338
https://www.cnblogs.com/codename-h/p/15928886.html