ES&Kibana安装教程-docker版

92 阅读3分钟

对于一个初学者而言,能够正常安装软件并正常运行莫过于一个好的开头。但事实上,非常多的人会在安装软件这一步被卡很久,各种奇葩报错,笔者也是深受荼毒。在后续的学习中,每成功安装一个新的程序或者软件时,都会做一份安装笔记。下面我将分享一个在学习谷粒商城时使用docker安装es和kibana的步骤。

1、环境说明

ES版本 7.4.2

docker 最新版,目前是20.10.21

Kibana 7.4.2 服务器 笔者使用的是腾讯云服务器,而不是自己电脑开的虚拟机,望读者悉知

2、安装docker

以下是安装docker的步骤,已经安装了docker的读者可以自行略过,以下操作是基于root用户下执行的。

2.1、卸载旧版本docker

 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2、安装gcc相关的包

yum -y install gcc
yum -y install gcc-c++

2.3、安装yum-utils

yum install -y yum-utils

2.4、设置阿里云镜像仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.5、更新yum软件包索引

yum makecache fast

2.6、安装docker

yum -y install docker-ce docker-ce-cli containerd.io

2.7、验证是否安装成功

docker version

2.8、配置阿里云加速器 这个地方,读者需要登录自己的阿里云,进入控制台,搜索容器镜像服务,点击右侧菜单的"镜像工具-镜像加速器"

#创建文件夹
mkdir -p /etc/docker
#登录阿里云,容器镜像服务-镜像工具-镜像加速器
vim /etc/docker/daemon.json
#将下面的内容复制进去,这里笔者需要复制自己的镜像地址
{
  "registry-mirrors": ...
}

2.9、重启docker

systemctl daemon-reload
systemctl restart docker

3、安装elasticsearch

3.1、拉取镜像

docker pull elasticsearch:7.4.2

3.2、创建挂载目录

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

3.3、修改目录权限

chmod -R 777 /mydata/elasticsearch/

3.4、由于es无法使用root用户启动,需要创建一个用户

useradd elasticsearch
passwd elasticsearch
#读者自行设置密码
#给该用户设置权限
vim /etc/sudoers
# 在文件下找到这样的内容,添加如下一行
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
elasticsearch ALL=(ALL)  ALL

3.5、启动es(切换到elasticsearch用户)

sudo 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

3.6、检查启动是否成功 由于使用的是云服务器,需要开放9200端口,开放端口的时候只给自己的ip开放即可,然后在浏览器中输入http://ip:9200 或者在xshell中执行如下命令

curl localhost:9200

无论是哪种,只要结果如下即代表成功:

{
  "name" : "3bd6969025ed",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "bJjzyVxoQS-FMs1EqxLVrQ",
  "version" : {
    "number" : "7.4.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
    "build_date" : "2019-10-28T20:40:44.881551Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

4、安装Kibana

4.1、拉取kibana镜像

docker pull kibana:7.4.2

4.2、查看elasticsearch容器ip

启动kibana容器之前需要注意,连接的elasticsearch的ip不能是云服务器的外网ip、内网ip,而是docker给elasticsearch分配的ip,查询命令如下:

#获取docker为es容器分配的ip
docker inspect elasticsearch |grep IPAddress

4.3、运行kibana

#运行在云服务器上的话 需要使用如下命令,其中的ip要通过如上命令来获取
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://上一步查到的ip:9200 -p 5601:5601 \
-d kibana:7.4.2

就此,docker安装es和kibana到此结束。如果读者按照本教程一步步走下来,还是无法成功安装、运行的话,请在下方留言或者私信笔者。感谢各位读者的阅读!