ELK系列(六)、CDH6集成Elasticsearch服务(交由CM管理)

小菜鸟的个人博客已经正式上线且对外开放啦…

博客访问地址小菜鸟的大梦想

欢迎各位同学扫码关注本人公众号 ↓↓↓ 更多优质内容将 首发 公众号
在这里插入图片描述



前言

本文穿插讲述如何将Elasticsearch服务集成至CHD,最终将服务交给Cloudera Manager统一管理。
本司线上使用CDH5,暂未升级至CH6,此处以CDH6版本进行集成制作,方式差异不大。


制作 Elasticsearch 的 Parcel 包和 csd 文件

配置Java、Maven环境

此处默认已配置完成,不再讲述,其中Maven版本建议选用较高版本。

环境验证

控制台输入 mvn -v,java -version 验证maven及java是否配置正确,正常情况下将打印对应版本信息。

下载cm_ext

Cloudera提供的cm_ext工具,生成的csd和parcel进行校验

mkdir -p /github/cloudera
cd /github/cloudera

# 如果没有git环境,可下载至本机,再上传至当前目录下
git clone https://github.com/cloudera/cm_ext.git

cd cm_ext
# mvn 打包
mvn package -Dmaven.test.skip=true

编译成功后如下图:
image.png

说明:build_parcel.sh 和 build_csd.sh 脚本文件里面执行jar包路径默认是~/github/cloudera/…

下载Elasticsearch安装包

前往官网下载 7.10.2 版本上传至/github/cloudera/elasticsearch目录:传送门
或采用以下方式直接下载:

mkdir elasticsearch
cd elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

下载制作Parcel包和CSD文件的脚本

git clone https://github.com/ibagomel/elasticsearch-parcel.git

# 如果上述连接访问超时,可替换至本人仓库,内容一致
git clone https://gitee.com/lynsite/elasticsearch-parcel.git

下载完成后的目录结构:
image.png

修改Elasticsearch-parcel配置文件

vim elasticsearch-parcel/parcel-src/meta/parcel.json
image.png

坑1:在CDH上安装激活的时候版本不兼容
修改如下文件:
vim elasticsearch-parcel/csd-src/descriptor/service.sdl
image.png

坑2:could not find java in JAVA_HOME or bundled at /usr/java/latest/bin/java
注释掉脚本文件中的JAVA_HOME:
image.png
注意:此时如果已经完成parcel和csd文件的制作报错,需要重新制作。

制作 Elasticsearch 的Parcel包和CSD文件并校验

cd elasticsearch-parcel
POINT_VERSION=5 VALIDATOR_DIR=/github/cloudera/cm_ext OS_VER=el7 PARCEL_NAME=ElasticSearch ./build-parcel.sh /github/cloudera/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz
VALIDATOR_DIR=/github/cloudera/cm_ext CSD_NAME=ElasticSearch ./build-csd.sh
# 如果上述命令报脚本报权限问题,请检查脚本是否有执行权限

制作成功如图所示:
image.png

查看Parcel包和csd文件

制作完成后的目录结构及文件:
image.png

CDH6安装部署ES服务

上传制作好的 csd jar包

将生成的csd文件(在生成的 build-csd 文件夹下),复制到cloudera-manager-server服务所在节点的/opt/cloudera/csd目录下

cp /github/cloudera/elasticsearch-parcel/build-csd/ELASTICSEARCH-1.0.jar /opt/cloudera/csd

部署Parcel包和mainfest.json到httpd服务中

将Parcel包:ELASTICSEARCH-0.0.5.elasticsearch.p0.5-el7.parcel 和 manifest.json 文件部署到httpd服务中

mkdir -p /var/www/html/cloudera-repos/elasticsearch
cd /var/www/html/cloudera-repos/elasticsearch
cp /github/cloudera/elasticsearch-parcel/build-parcel/ELASTICSEARCH-0.0.5.elasticsearch.p0.5-el7.parcel ./
cp /github/cloudera/elasticsearch-parcel/build-parcel/manifest.json ./

部署完成后可以浏览器访问:http://masterIP/cloudera-repos/elasticsearch/ 进行验证

赋权给CM用户

cd /opt/cloudera/csd
chown -R cloudera-scm:cloudera-scm ./*
cd /opt/cloudera/parcel-repo
chown -R cloudera-scm:cloudera-scm ./*

添加远程Parcel存储库URL

URL:http://masterIP/cloudera-repos/elasticsearch/
image.png
image.png

检查新parcel找到ELASTICSEARCH 下载、分发、激活

已经点击 download -> distribute -> activate
image.png

重启cm添加ES服务

此处添加操作同CDH安装时添加服务一样,不再详细说明。安装启动如果报错,根据具体异常进行分析解决。本人电脑硬件配置 32G 8核16线程,之前安装过CDH6,集群启动后内存直接爆到百分之九十多,所以个人机器安装CDH请慎重。

以下为添加服务及启动成功后的截图,来源于CSDN:
image.png

选择主机,定义ES集群名称(cluster.name),名称任意取,默认名称为data-lakes,但是集群的每台主机的集群名字需要一样,不然会被认为是另一个ES集群的主机。
image.png

再重启Elasticsearch,启动成功。
image.png

以上制作及安装过程为本司采用方式,但在编写本文时并未在本机再次进行安装测试(资源伤不起啊),上述过程仅供参考,具体情况还需具体分析。

下面给出网友在安装启动时遇到的坑:
坑1: UserException

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: org.elasticsearch.cli.UserException: unable to create temporary keystore at [/opt/cloudera/parcels/ELASTICSEARCH/config/elasticsearch.keystore.tmp], write permissions required for [/opt/cloudera/parcels/ELASTICSEARCH/config] or run [elasticsearch-keystore upgrade]

解决方案:
在cdh集群各个节点均执行

chmod 777 /opt/cloudera/parcels/ELASTICSEARCH/config/

坑2:启动错误 startup exception:failed to obtain node locks
image.png
解决方案:
发现是后台已经有了一个elasticsearch 进程,所以拿不到lock

# 查看自己端口的使用情况
netstat -alnp | grep 9200
# 终止进程
kill -9 24776
"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值