docker部署es,kibana
es安装
创建网络【需要部署kibana容器为了互联】
docker network create es-net
拉取镜像
docker pull elasticsearch:7.14.2
创建挂载点目录
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
修改权限
chmod 777 /usr/local/es/data chmod 777 /usr/local/es/config chmod 777 /usr/local/es/plugins
部署单点es
docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:7.14.2
修改es配置文件
//进入容器 docker exec -it es /bin/bash //找到配置文件 cd config //追加配置 echo 'xpack.security.enabled: false' >> elasticsearch.yml
重启es
docker restart es
验证es启动成功 http://ip:9200

安装kibana
docker pull kibana:7.14.2
创建挂载点目录
mkdir -p /usr/local/kibana/config /usr/local/kibana/data
修改权限
chmod 777 /usr/local/kibana/data
chmod 777 /usr/local/kibana/config
部署kibana
docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:7.14.2
测试kibana安装 http://ip:5601

安装分词器
//进入es容器 docker exec -it es /bin/bash //在线安装ik分词器 版本需与es一致 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.2/elasticsearch-analysis-ik-7.14.2.zip

创建索引指定字段使用时候如下
PUT /your_index_name { "mappings": { "properties": { "title": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_smart" } } } }
es设置账号密码
docker exec -it es /bin/bash //修改密码需要 elasticsearch.yaml配置文件改为true并重启es vi /config/elasticsearch.yaml //修改xpack.security.enabled: true exit; //重启es docker restart es //进入es docker exec -it es /bin/bash //修改密码 cd /usr/share/elasticsearch/bin ./elasticsearch-setup-passwords interactive
依次设置用户:elastic、apm_system、kibana_system、logstash_system、beats_system、remote_monitoring_user共6个用户。
内部用户X-Pack 安全有三个内部用户(_system、_xpack和_xpack_security),负责在 Elasticsearch 集群中进行的操作。

修改密码1:
curl -XPOST -u elastic "localhost:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "abcd1234"}'
修改密码2:
修改config/elasticsearch.yml;注释掉 xpack.security.enabled: true这一行; 重启ES,查看下索引,发现多了一个.security-7 删除掉.security-7索引并重新设置密码
kibana配置elasticsearch密码
docker exec -it kibana /bin/bash
vi /config/kibana.yml
添加账号密码,这里修改配置文件最好把es地址指定对应的ip地址
elasticsearch.username: "elastic"
elasticsearch.password: "123456"

重启kibana
docker restart kibana

备用1:重置es超级管理员密码
curl -u test_admin -XPUT -H 'Content-Type: application/json' 'http://localhost:9200/_xpack/security/user/elastic/_password' -d '{"password" : "新密码"}'
验证密码
curl localhost:9200 -u elastic
备用2:查看报错日志(-f跟踪日志)
docker logs kibana
备用3:查看docker虚拟机中es地址
docker inspect elasticsearch |grep IPAddress
备用4:单机docker-compose.yml
version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0 container_name: es environment: - discovery.type=single-node # 配置为单机模式 - xpack.security.enabled=true - xpack.security.transport.ssl.enabled=true - bootstrap.memory_lock=true - indices.query.bool.max_clause_count=8192 - ELASTIC_PASSWORD=123456 - "ES_JAVA_OPTS=-Xms8g -Xmx8g" ulimits: memlock: soft: -1 hard: -1 volumes: - ./data:/usr/share/elasticsearch/data - ./logs:/usr/share/elasticsearch/logs - ./plugins:/usr/share/elasticsearch/plugins #- ./config:/usr/share/elasticsearch/config ports: - 9200:9200 networks: - es-net deploy: resources: limits: memory: 16g kibana: image: docker.elastic.co/kibana/kibana:8.15.0 container_name: kibana environment: - ELASTICSEARCH_HOSTS=https://es:9200 # 指向单机节点,使用 https 协议 - ELASTICSEARCH_USERNAME=elastic - ELASTICSEARCH_PASSWORD=123456 - ELASTICSEARCH_SSL_VERIFICATIONMODE=none ports: - 5601:5601 networks: - es-net depends_on: - elasticsearch deploy: resources: limits: memory: 1g networks: es-net: external: true

浙公网安备 33010602011771号