CDH6.2.x制作Elasticsearch的Parcel包和csd文件

5 篇文章 0 订阅
3 篇文章 0 订阅

1.配置Java,maven等环境变量

]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
]# mvn -version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/software/apache-maven-3.6.3
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_211/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.1.3.el7.x86_64", arch: "amd64", family: "unix"

2.下载cm_ext

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


]# mkdir -p ~/github/cloudera
]# cd ~/github/cloudera
]# git clone https://github.com/cloudera/cm_ext.git
]# cd cm_ext
]# mvn package -Dmaven.test.skip=true

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

3.下载Elasticsearch安装包

ES下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

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

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

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

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

]# cd elasticsearch-parcel
elasticsearch-parcel]# POINT_VERSION=5 VALIDATOR_DIR=/root/github/cloudera/cm_ext OS_VER=el7 PARCEL_NAME=ElasticSearch ./build-parcel.sh /root/github/cloudera/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
elasticsearch-parcel]# VALIDATOR_DIR=/root/github/cloudera/cm_ext CSD_NAME=ElasticSearch ./build-csd.sh

注意:lasticsearch-parcel 下 
parcel-src/meta/parcel.json >>>> 修改为:"depends": "CDH (>= 5.0), CDH (<< 10.0)",
csd-src/descriptor/service.sdl >>>>  修改为:"cdhVersion": {
                                                            "min": 6
                                                    }

如果不修改,ES激活的时候会报错

6.查看Parcel包和csd文件

elasticsearch-parcel]# ll
总用量 12
drwxr-xr-x. 2 root root   35 5月  28 22:46 build-csd
-rwxr-xr-x. 1 root root  597 5月  28 22:36 build-csd.sh
drwxr-xr-x. 3 root root  130 5月  28 22:46 build-parcel
-rwxr-xr-x. 1 root root 1661 5月  28 22:36 build-parcel.sh
drwxr-xr-x. 5 root root   53 5月  28 22:46 csd-src
drwxr-xr-x. 3 root root   18 5月  28 22:36 parcel-src
-rw-r--r--. 1 root root 1429 5月  28 22:36 README.md
elasticsearch-parcel]# ll build-csd
总用量 8
-rw-r--r--. 1 root root 5426 5月  28 22:46 ELASTICSEARCH-1.0.jar

 

7.问题

问题1:

could not find java in JAVA_HOME or bundled at /usr/java/latest/bin/java

解决方案:

/root/github/cloudera/elasticsearch-parcel/csd-src/scripts/control.sh文件注释掉export JAVA_HOME=/usr/java/latest

cloudera]# cd elasticsearch-parcel
cloudera]# cd csd-src/scripts/ 
cloudera]# vim control.sh

这个问题需要再制作parcel包和csd文件之前修改

问题2:

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], please check filesystem permissions
Likely root cause: java.nio.file.AccessDeniedException: /opt/cloudera/parcels/ELASTICSEARCH-0.0.5.elasticsearch.p0.5/config/elasticsearch.keystore.tmp
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)
	at java.nio.file.Files.newOutputStream(Files.java:216)
	at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:411)
	at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:407)
	at org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:255)
	at org.elasticsearch.common.settings.KeyStoreWrapper.save(KeyStoreWrapper.java:467)
	at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:232)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:289)
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)

解决方案:

在cdh集群各个节点均执行:

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

这个问题需要在CM安装es之前解决

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值