从零开始的Elasticsearch学习——Elasticsearch和Kibana的安装

从零开始的Elasticsearch学习——Elasticsearch和Kibana的安装

一、前言

本文介绍了在CentOS Linux系统Doker环境下安装Elasticsearch(7.5.0)Kibana(7.5.0),并进行简单的使用。

Elasticsearch官方的安装文档在这里:官方文档

二、安装Docker

通过以下命令进行安装:

sudo yum install docker  //安装
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
//安装指定版本
sudo docker -v //查看docker版本,确定有没有安装成功
sudo yum-config-manager \
--add-repo \
 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //配置镜像源
sudo docker info //看有没有设置成功mirror:
$ sudo systemctl start docker //启动

三、拉取Elasticsearch镜像

3.1创建ES数据存储,插件,日志的目录
mkdir my/dockerData/elasticsearch/data
mkdir my/dockerData/elasticsearch/plugins
mkdir my/dockerData/elasticsearch/logs

解释:docker容器内是独立的空间,拥有自己的环境和文件系统,访问不便,我们需要在外部创建文件夹与内部对应文件夹挂载(像快捷方式),这样两边内容同步,向Elasticsearch容器安装插件只需下载在上面plugins文件同步容器中,同样容器内日志和数据也可同步到外部文件

3.2权限挂载
chmod 777 /my/dockerData/elasticsearch/{plugins,data,logs}

解释:对创建的文件给予权限,没有这个步骤可能出错

3.2创建network
docker network create elastic

解释:创建network用来和kibana交互,在同一个网络才可以交互

3.3拉取指定版本镜像
docker pull elasticsearch:7.5.0

四、运行Elasticsearch容器

拉取镜像后,你可以使用以下命令来运行Elasticsearch容器:

docker run -d \                             # 在后台运行容器  
    --name es \                             # 将容器命名为es  
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \   # 设置Elasticsearch的JVM初始堆内存和最大堆内存为512MB  
    -e "discovery.type=single-node" \       # 设置Elasticsearch的集群发现类型为单节点模式  
    -v /my/dockerData/elasticsearch/data:/usr/share/elasticsearch/data \  # 将宿主机上的/my/dockerData/elasticsearch/data目录挂载到容器内的/usr/share/elasticsearch/data目录,用于存储数据  
    -v /my/dockerData/elasticsearch/plugins:/usr/share/elasticsearch/plugins \  # 挂载插件目录  
    -v /my/dockerData/elasticsearch/logs:/usr/share/elasticsearch/logs \  # 挂载日志目录  
    --privileged \                          # 给容器额外的权限,使其可以访问宿主机上的设备  
    --network elastic \                     # 将容器连接到名为elastic的自定义网络  
    -p 9200:9200 \                           # 将容器的9200端口映射到宿主机的9200端口,用于HTTP通信  
    -p 9300:9300 \                           # 将容器的9300端口映射到宿主机的9300端口,用于节点间通信  
    elasticsearch:7.5.0                     # 指定要运行的Elasticsearch镜像及其版本为7.5.0

注意:-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"设置超过服务器最大内存会报错

容器启动后,可以通过访问http://<你的服务器IP>:9200/来验证Elasticsearch是否成功安装并运行。如果返回了JSON格式的响应,安装成功。

五、拉取并运行Kibana

docker pull kibana:7.5.0 # 拉取Kibana的Docker镜像,版本为7.5.0  
  
docker run -d \                                 # 在后台运行容器  
--name kibana \                               # 将容器命名为kibana  
--network elastic \                           # 将容器连接到名为elastic的Docker网络  
-e ELASTICSEARCH_HOSTS=http://es:9200 \       # 设置环境变量,指定Elasticsearch的主机地址和端口  
-p 5601:5601 \                               # 将容器的5601端口映射到宿主机的5601端口,用于访问Kibana的Web界面  
kibana:7.5.0                                # 指定要运行的Kibana镜像及其版本为7.5.0

解释:-e ELASTICSEARCH_HOSTS=http://es:9200中,因为在同一个网络中,可以使用es代替主机地址

**注意:**使用 --link 选项来链接容器在生产环境中已经不推荐使用,所以使用 Docker 网络–network

当Kibana容器运行之后,用浏览器打开服务器的ip:5601 ,访问Kibana web界面,用云服务的同学不要忘了配置上云服务配置安全组规则。

Kibana中文配置

我们发现Kibana是英文面板,看起来不是很方便,但Kibana是支持中文配置,所以我们可以把Kibana配置成中文版,便于我们操作。

切换中文操作如下:

#在已经运行的kibana容器中执行一个交互式的bash shell,简单理解进入容器操作
docker exec -it kibana /bin/bash 
#进入配置文件目录
cd /usr/share/kibana/config
#编辑文件kibana.yml
vi kibana.yml
#在最后一行添加如下配置
i18n.locale: zh-CN
#保存退出
exit
#退出容器
exit
#并重启容器
docker restart kibana

六、安装ik插件

下载ik插件:ik插件

创建文件夹ik,将下载的插件ik解压后的文件,放到新建的ik文件夹中,然后将ik文件上传到云服务,我上传到/tmp/文件夹下。

然后复制到自己挂载的plugins中,比如我的是/my/dockerData/elasticsearch/plugins

七、小知识

1.运行容器不成功?

可以使用docker logs命令来查看容器的日志输出来确定问题

docker logs 容器名或CONTAINER ID #docker logs es

2.Linux使用普通用户组没有权限报错

sudo gpasswd -a username docker #将普通用户username加入到docker组中

3.docker exec -it es /bin/bash 进入容器内操作

-it:与容器交互 -i:允许你与容器交互 -t:为容器进程分配伪终端,可以在终端交互

4.Elasticsearch8以上不支持java8版本,elasticsearch内置 jdk,如果不使用内置jdk要使用本地jdk,jdk1.8与es8以上版本不匹配

5.云服务记得配置安全组规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值