对于一个初学者而言,能够正常安装软件并正常运行莫过于一个好的开头。但事实上,非常多的人会在安装软件这一步被卡很久,各种奇葩报错,笔者也是深受荼毒。在后续的学习中,每成功安装一个新的程序或者软件时,都会做一份安装笔记。下面我将分享一个在学习谷粒商城时使用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到此结束。如果读者按照本教程一步步走下来,还是无法成功安装、运行的话,请在下方留言或者私信笔者。感谢各位读者的阅读!