华为云征文|华为Flexus X服务器实例使用Docker搭建ES和Kibana

目录

开放端口

Flexus控制台-安全组操作

服务器实例内-开放防火墙端口

[Flexus X实例安装Docker](#Flexus X实例安装Docker)

Docker安装ElasticSearch

Docker安装Kibana

安装IK分词器


华为云基于创新的"柔性算力"技术,重磅推出云服务器产品:华为云Flexus云服务器X实例

如果你还在使用CentOS7.x相关实例,到期可以考虑下华为的这个产品。

可听闻CentOS7版本在2024年6月30日达到了生命周期的终点(EOL)? ,不再从官方获得任何更新或安全补丁,这也是导致前不久传出"Docker崩了-.-"的新闻的原因之一,就是因为CentOS7版本停止维护,这对CentOS7等实例需要依赖最新系统库和组件的软件造成了严重的兼容性问题。

这事件让我们选择服务器实例有多了一个考虑点,一些较为老旧的实例被迭代掉也是趋势走向。

华为云服务器实例的持久维护是必然的,而且Flexus X实例独家支持CPU内存的柔性配比,支持100+规格,最高支持CPU内存3:1配比,让CPU与内存更贴合业务应用需求;

Flexus X实例介绍/购买地址: Flexus云服务器X实例-华为云

下面让我们使用Flexus X实例来安装Docker并使用Docker安装并启动ElasticSearch 和Kibana容器作为测试,查看Flexus X实例的可用性和性能如何。

使用镜像:CentOS8.x

开放端口

Flexus控制台-安全组操作

我们需要使用ElasticSearch和Kibana,当使用docker将ES和Kibana启动之后,需要开放相关端口我们才能访问到。

ES端口: 9200 , 9300

Kibana端口:5601

让我们来看看Flexus操作安全组开放端口的操作:

选择需要操作的Flexus实例:

进入安全组配置:

【入口方向规则】-添加规则

把三个端口都添加上:

服务器实例内-开放防火墙端口

连接进入到Flexus实例,查看防火墙状态:

查看防火墙状态:systemctl status firewalld

开启防火墙:systemctl start firewalld

查询端口开放状态:firewall-cmd --permanent --query-port=5601/tcp

开放指定端口:firewall-cmd --permanent --add-port=5601/tcp

通过命令如上命令将5601,9200,9300都开放。

添加后一定重启防火墙,让端口开放生效。

firewall-cmd --reload

Flexus X实例安装Docker

我们使用Docker来安装ES和Kibana,所以我们先安装一下Docker:

1. 安装前置依赖

html 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2

2. 为 YUM 包管理器添加 Docker 的阿里云镜像源

html 复制代码
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. 安装docker

html 复制代码
yum -y install docker-ce

4.开启docker服务

html 复制代码
# 启动docker
systemctl start docker

# 测试(查看docker本地镜像)
docker images

# 查看docker安装路径
docker info

5. 开启docker开启自启动 (可选)

html 复制代码
systemctl enable docker

Docker安装ElasticSearch

1. 创建网络 , 方便内部连接

html 复制代码
docker network create es-net

2. 拉取ES镜像

关于镜像拉取失败问题:

在目前国内docker镜像源基本失效,导致无法使用docker拉取镜像。

解决办法:

方法1. 购买 地区处于境外的服务器,例如香港。可直接拉取镜像。

方法2.网络上寻找你想要的镜像.tar包(docker save打包的镜像) ,使用docker load加载。

html 复制代码
docker pull  elasticsearch:7.12.1

**3.**创建本地数据卷-两个目录(数据和插件),例如:

注意,需要将创建的**文件夹赋予全部权限chmod777,**否者容器会启动失败。

例如如下创建的目录data和plugins作为测试。

4. 创建并运行ES容器

html 复制代码
docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /maohe/dockerV/data:/usr/share/elasticsearch/data \
-v /maohe/dockerV/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:7.12.1

如上:创建容器时将本地的数据卷目录进行关联挂载。

-V 本地目录(自选):容器内目录(固定)

查看容器运行状态:docker ps

访问IP:9200查看是否启动成功:

如果访问失败,检查两个方面:

**1.**服务器安全组端口 和 防火墙端口(修改后记得重启生效) 的开放请情况。

**2.**数据卷挂载的文件夹权限是否赋予777。

其他:使用命令【docker logs -f 容器名】 查看启动日志。

Docker安装Kibana

1. 拉取kibana镜像

html 复制代码
docker pull kibana:7.12.1

2. 创建并启动Kibana容器

html 复制代码
docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
kibana:7.12.1

其中因为使用了同一docker网络 ,可以直接上容器名通信,使用es容器名:9200与ES关联。

3. 访问IP:5601访问到Kibana控制台

安装IK分词器

ElasticSearch自带的分词器对于中文并不友好,所以我们可以安装【IK分词器】解决我们的中文分词需求。

访问GitHub下载地址: https://github.com/infinilabs/analysis-ik

找到对应ES版本 的IK分词器ZIP包下载

然后将ZIP包上传 到刚才创建数据卷目录:plugins中解压即可:

在plugins目录下新建一个目录ik ,将下载的压缩包放到ik目录下解压

测试分词器:

至此,使用Flexus服务器实例安装Docker ,然后使用Docker安装ElasticSearch和Kibana就结束了。

相关推荐
九河云1 天前
华为云SDRS跨Region双活:筑牢证券核心系统零中断防线
大数据·人工智能·安全·机器学习·华为云
DS小龙哥1 天前
基于STM32设计的智能鞋柜【华为云IOT】
stm32·物联网·华为云
Vic101012 天前
华为云高斯数据库:gsqlexec用法
java·大数据·数据库·postgresql·华为云
魏波.3 天前
华为云(Huawei Cloud)ECS(弹性云服务器)的实例规格名称规范
服务器·华为云
Ydwlcloud3 天前
2026年1月华为云国际促销活动期间如何省钱?
大数据·服务器·人工智能·华为云·云计算
烈焰飞鸟3 天前
华为云前后端部署实战手册
运维·前端·vue.js·后端·华为云
咕噜企业分发小米3 天前
阿里云与华为云AI教育生态重构中,企业如何参与?
人工智能·阿里云·华为云
马立杰3 天前
华为云ECS允许指定IP地址远程桌面
华为云·云计算
咕噜企业分发小米3 天前
阿里云和华为云在AI教育领域的生态重构具体会带来哪些影响?
人工智能·阿里云·华为云
咕噜企业分发小米4 天前
阿里云与华为云AI教育产品有哪些未来发展规划?
人工智能·阿里云·华为云