腾讯云 Elasticsearch 实战篇(二十) Docker中访问ES 集群

前言|

前面的章节中我们讲了几种方法将用户数据导入腾讯云ES集群。在现今云计算环境下,为了更好的利用资源跟有效的管理服务,有必要在这里跟大家讲一下,如何通过自建Docker去实现数据接入腾讯云ES呢?今天,我们讲一下这个:

一、Docker安装

环境准备:CVM一台 内核版本:3.10以上 与腾讯云ES 同VPC

Docker Version: Docker-CE

Docker 安装过程:

第一步:安装docker 依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2

Docker 安装依赖包

第二步:鉴于国内网络问题,强烈建议使用国内源,执行下面的命令添加yum软件源并安装:

yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

yum install docker-ce

第三步:启动Docker CE

systemctl enable docker & systemctl start docker

第四步:国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

配置Docker j镜像

第五步:重启docker 并查看是否配置成功

systemctl daemon-reload & systemctl restart docker

daemon.json配置文件

第七步: 验证一下,Docker服务 测试 Docker 是否安装正确

docker run hello-world 输出正常

验证docker
验证Docker

OK,Docker安装成功!

二、基于Docker安装Logstash上传数据到腾讯云ES集群

Docker安装Logstash 版本 6.8.2 与ES同版本

步骤如下:

第一步:拉取 logstash 官方镜像。使用命令: docker pull docker.elastic.co/logstash/logstash:6.8.2

拉取镜像

第二步:查询镜像 docker images

查询镜像

第三步:根据数据源类型自定义配置文件 *.conf,如下:

1,在宿主机新建一个目录,随便命名,比如logstash ,在这个目录里边新建一个叫conf.d的文件夹和一个logstash.yml文件,他们的内容如下:

Logstash目录
logstash目录文件

2,查看Logstash.yml内容:

path.config: /usr/share/logstash/conf.d/*.conf ------》这个路径表示容器里边的路径,会自动创建

path.logs: /var/log/logstash --------》容器日志的路径

3,再看一下conf.d文件夹里边的内容:

这个就是Logstash运行所需的配置文件

4,基于Docker启动Logstash,命令如下:

docker run -it --rm --name logstash -v /pipeline/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /pipeline/logstash/conf.d/:/usr/share/logstash/conf.d/ docker.elastic.co/logstash/logstash:6.8.2

Docker 启动服务命令

结果如下:

logstash 启动结果
确认容器启动成功

所以,基于Docker的安装Logstash就已经安装成功。这样,我们就可以在一台机器上快速的复用多个Dockers。其它配置都一样,也是去拉去数据的过程。nginx_logstash_conf配置如下:

Logstash 配置文件

那么这样,我们就通过Dokcer 去快速安装Logstash抓取数据入到ES集群,并通过Kibana进行展示。作用与在CVM上一样。

三、总结:

这一节主要是基于Docker平台的快速安装方式,腾讯云平台也提供了一键式安装服务“腾讯云容器服务”,用户只需要手动勾选就可以快速完成上面的自建docker的过程。您可以在云控制平台---登录容器服务控制台,选择左侧菜单栏【集群】>【新建】创建集群。上去搜索应用即可,非常简单。两种方式都各有所长。原理都一样。好啦,本节就到这里。