文档首页 > > 移植指南(HDP)> Ambari 2.7.3 移植指南(CentOS 7.6)> 编译相关依赖

编译相关依赖

分享
更新时间:2020/12/21 GMT+08:00

编译_posixsubprocess.so

  1. 通过命令安装python2-subprocess。

    1
    yum install -y python2-subprocess.aarch64
    

  2. “/usr/lib64/python2.7/site-packages/_posixsubprocess.so”处获得_posixsubprocess.so。
  3. 在ambari的源码中“ambari-common/src/main/python/ambari_commons/libs”目录下复制x86_64为aarch64。

    1
    cp -r x86_64 aarch64
    

  4. 使用2中的_posixsubprocess.so替换掉aarch64目录下_posixsubprocess.so。

    _posixsubprocess.so源码地址:https://github.com/google/python-subprocess32/archive/3.5.3.tar.gz

编译_speedups.so

  1. 从ambari源码中“ambari-common/src/main/python/ambari_simplejson/__init__.py”文件中第100行可知simplejson的版本为2.0.9。

    1
    __version__ = '2.0.9'
    

  2. 下载simplejson源码并解压。

    1
    2
    wget https://files.pythonhosted.org/packages/da/8c/a45815b421e49acad7d3d0db4ba65ba1e5cfa02a30c794fe55954106cb0b/simplejson-2.0.9.tar.gz
    tar -zxf simplejson-2.0.9.tar.gz
    

    此步骤需保证有外网访问权限。

  3. 进入解压后的目录。

    1
    cd simplejson-2.0.9
    

  4. 编译simplejson

    1
    python setup.py build
    

    编译好的so文件在“build/lib.linux-aarch64-2.7/simplejson/_speedups.so”

  5. 使用编译完成的_speedups.so替换掉“ambari-common/src/main/python/ambari_simplejson/”目录下的_speedups.so

    _speedups.so源码地址:https://github.com/pallets/markupsafe/archive/1.1.1.tar.gz

编译Phoenix-5.1.0

请参考《HDP 3.1.0 Phoenix 移植指南(CentOS 7.6)》。

编译Hadoop-3.1.1

请参考《HDP 3.1.0 Hadoop 移植指南(CentOS 7.6)》。

编译HBase-2.0.0

请参考《HDP 3.1.0 HBase 移植指南(CentOS 7.6)》。

Phoenix、Hadoop、HBase编译好后的tar.gz包放到本地“/root/packages/tar”目录下,在编译ambari的时候,修改“ambari-metrics/pom.xml”中这三个tar.gz下载地址为本地文件对应的地址,并修改版本号。

修改前:

修改后:

编译Grafana-2.6.0

  1. 下载grafana-2.6.0安装包。

    1
    wget https://github.com/grafana/grafana/archive/v2.6.0.tar.gz
    

  2. 解压安装包。

    1
    tar -zxf v2.6.0.tar.gz
    

  3. 搭建好golang环境,并将源码移动到“GOPATH”目录下的“src”目录。

    1
    mv grafana-2.6.0 ${GOPATH}/src/
    

  4. 拷贝grafana-2.6.0项目编译过程中本身的依赖到src对应目录。

    1
    2
    3
    cd ${GOPATH}/src/grafana-2.6.0
    mkdir -p ../github.com/grafana/grafana/pkg
    cp pkg/* ../github.com/grafana/grafana/pkg/ -rf
    

  5. 执行后端编译。

    1
    2
    go run build.go setup
    go run build.go build
    

  6. 配置npm。

    1
    2
    npm config set registry http://registry.npmjs.org/
    npm config set strict-ssl false
    

    若配置网络代理则需执行操作如下:

    1
    2
    npm config set proxy http://{代理ip}:{代理端口}
    npm config set https-proxy http://{代理ip}:{代理端口}
    

  7. 跳过phantomjs报错(因为系统中已安装),执行前端编译。

    1
    2
    3
    4
    npm install
    npm install grunt@1.0.0 karma@3.0.0 grunt-karma@3.0.0 karma-phantomjs-launcher
    npm install -g grunt-cli
    grunt --force
    

  8. 拷贝phantomjs可执行文件到相应目录,打包时将自动将phantomjs打包到grafana的rpm包中。

    1
    cp /opt/tools/phantomjs/phantomjs/bin/phantomjs vendor/phantomjs/
    

  9. 打包。

    1
    go run build.go package
    

    如果打包出现错误,请参考问题26,进行打包。

    1
    ./node_modules/grunt-cli/bin/grunt release --force
    

  10. 最终结果将会生成到tmp目录,直接对tmp目录进行压缩。

    mv tmp grafana-2.6.0
    tar -zcf grafana-2.6.0.tar.gz grafana-2.6.0
    mv grafana-2.6.0.tar.gz /root/packages/tar

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问