elasticsearch 7.x基于arm64构建rpm

下载配置java 13

wget https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk13u-2019-12-06-19-50/OpenJDK13U-jdk_aarch64_linux_hotspot_2019-12-06-19-50.tar.gz
tar -xvf OpenJDK13U-jdk_aarch64_linux_hotspot_2019-12-06-19-50.tar.gz -C /usr/local/share/
echo -e "JAVA_HOME=/usr/local/share/jdk-13.0.1+9/\nPATH=$JAVA_HOME/bin:$PATH\nexport JAVA_HOME PATH" >> /etc/profile
source /etc/profile

确认java版本

# java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9-201912061032)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13.0.1+9-201912061032, mixed mode, sharing)

修改maven仓库地址

在USER_HOME/.gradle/下新建init.gradle,输入下面的内容并保存

allprojects{
    repositories {
        def REPOSITORY_URL = 'https://mirrors.huaweicloud.com/repository/maven/'
        all {
            ArtifactRepository repo ->
    if (repo instanceof MavenArtifactRepository) {
                def url = repo.url.toString()
                if (url.startsWith('https://repo.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

编译

git clone https://github.com/elastic/elasticsearch.git
# 或者单独下载tar包,快很多
wget https://github.com/elastic/elasticsearch/archive/v7.5.0.tar.gz

由于默认编译的包只能在x86_64环境下安装,我们可以通过修改成noarch来规避:

--- a/distribution/packages/build.gradle
+++ b/distribution/packages/build.gradle
@@ -107,7 +107,7 @@ Closure commonPackageConfig(String type, boolean oss, boolean jdk) {
   return {
     dependsOn "process${oss ? 'Oss' : ''}${jdk ? '' : 'NoJdk'}${type.capitalize()}Files"
     packageName "elasticsearch${oss ? '-oss' : ''}"
-    arch (type == 'deb' ? 'amd64' : 'X86_64')
+    arch (type == 'deb' ? 'amd64' : 'NOARCH')
     // Follow elasticsearch's file naming convention
     String jdkString = jdk ? "" : "no-jdk-"
     archiveName "${packageName}-${project.version}-${jdkString}${archString}.${type}"

编译没有打包jdk的包

cd elasticsearch
./gradlew -p distribution/packages/no-jdk-rpm/ assemble

如果是distribution/packages/rpm/则会打包x86_64的jdk

编译完成后,生成的包在 distribution/packages/no-jdk-rpm/build/distributions/elasticsearch-7.5.0-SNAPSHOT-no-jdk-noarch.rpm

安装配置

安装

yum install distribution/packages/no-jdk-rpm/build/distributions/elasticsearch-7.5.0-SNAPSHOT-no-jdk-noarch.rpm

设置JAVA_HOME

修改/etc/sysconfig/elasticsearch

JAVA_HOME=/usr/local/share/jdk-13.0.1+9/

修改配置

修改配置文件/etc/elasticsearch/elasticsearch.yml添加:

xpack.ml.enabled: false

X-Pack只支持x86_64,需要禁用,否则运行es会报错

运行服务

systemctl start elasticsearch
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值