1.准备条件

安装好docker,在同一台服务器上安装es和kibana
安装docker命令参考:

    #可以按顺序执行如下命令安装
    1.sudo yum install -y yum-utils
    2  sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo
    3  sudo yum-config-manager --enable docker-ce-nightly
    4  sudo yum-config-manager --enable docker-ce-test
    5   sudo yum-config-manager --disable docker-ce-nightly
    6  clear
    7  docker
    8  sudo yum install docker-ce docker-ce-cli containerd.io
    9  yum list docker-ce --showduplicates | sort -r
    # 根据版本安装
   10  sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io
   11   sudo systemctl start docker

2.拉去镜像并创建network

docker pull elasticsearch:7.10.1
docker pull kibana:7.10.1
docker network create somenetwork

3.运行es容器

#拉起容器命令
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 
-p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" 
-e "discovery.type=single-node"  -e "xpack.security.enabled=true" 
 elasticsearch:7.10.1
 #命令解释
 discovery.type 拉起es容器模式
 xpack.security.enabled 相当于开启登录认证
 ES_JAVA_OPTS 创建时,调整内存的分配
增加9200/9300的端口映射

4.设置es密码

#docker命令进入es容器,执行如下命令,会出现如下图窗口设置各种角色密码:
elasticsearch-setup-passwords interactive

在这里插入图片描述

5.安装kibana

#执行命令
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.10.1

6.设置kibana密码

#进入docker容器,进入conf目录,编辑kibana.yaml文件,增加如下登录es配置
elasticsearch.username: xxxxxxx
elasticsearch.password: xxxxxxx

7.问题解决

docker 启动es报错解决:

报错信息:[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法,执行如下命令,重启docker:
sysctl -w vm.max_map_count=262144
报错信息: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决方法:docker run命令中加上如下参数
-e "discovery.type=single-node" 

8.备注

#修改elastic用户密码命令
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://192.168.140:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'
Logo

更多推荐