xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 每日资讯 2019-09-28 16:45 的文章
当前位置: 新濠国际登录平台 > 每日资讯 > 正文

然后将编译过程记录下来,不需要这步)

Liunxs中CentOS系列一向以稳定为目标,然而也会存在版本太旧的问题,emacs就是其中的一个,目前emacs都发行到25.2了,而CentOS上的emacs版本却还是23.1。所以需要下载源代码进行编译安装。

登录ambari网站,发现需要下载源代码包,自行编译。参照官方的文档进行编译,有无数的坑,只得在百度其它资源参考之,然后将编译过程记录下来。

编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装。

  • 1.下载源代码并解压:

1. 准备编译环境

OS: CentOS 7.3.1611
JDK: 8u112
Maven: 3.2.5
Nodejs: 0.10.44

(注:CentOS的版本是6.6)

0)系统包和一些配置

# yum install rpm-build gcc make gcc-c++ openssl-devel git ant -y

一、安装libstdc++4.7

    sh-4.1$ wget http://mirrors.ustc.edu.cn/gnu/emacs/emacs-25.1.tar.gz 
    sh-4.1$ tar -xvf ~/emacs-25.1.tar.gz 

1)下载并安装JDK-8u112

###注意此URL忽略了认证信息
# wget http://download.oracle.com/otn/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpm
# rpm -ivh jdk-8u112-linux-x64.rpm

(注:如果是CentOS 7.0,不需要这步)

具体下载情况请参考GNU Emacs。

2)下载并安装maven 3.2.5

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
  • 2.安装依赖库:

3)下载并安装node-v0.10.44

因为ambari依赖Nodejs,所以预先进行安装nodejs。

# wget https://nodejs.org/download/release/v0.10.44/node-v0.10.44-linux-x64.tar.gz
# tar zxvf node-v0.10.44-linux-x64.tar.gz -C /opt/

如果不安装,在configure配置编译选项时会出现下面的错误提示:

4)配置环境变量

# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_112
export CLASSPATH=.:$JAVA_HOME/lib
export MAVEN_HOME=/opt/apache-maven-3.2.5
export NODE_HOME=/opt/node-v0.10.44-linux-x64
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH

# source /etc/profile
We detected a missing feature in the standard C++ library that was known to be
missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
than 4.7.
    sh-4.1$ sudo yum install gcc* glib* gtk* ncurses* libXpm* giflib* libjpeg* libtiff* libpng* -y

5)配置nodejs

# npm -v
# node -v
#查找node根目录
# npm root -g                                                                              
# cd /opt/node-v0.10.44-linux-x64/lib/node_modules
#更改源
# npm config set registry https://registry.npm.taobao.org           
# npm info underscore
#安装1.7.20版本的brunch
# npm install -g brunch@1.7.20                                                  

二、安装Python 2.7.9

  • 3.编译链接:

6)检查python版本,建议2.7以上,至少2.6以上

# python -V

(注:如果是CentOS 7.0,不需要这步)

2. 下载源代码,进行编译

# wget http://mirrors.hust.edu.cn/apache/ambari/ambari-2.4.2/apache-ambari-2.4.2-src.tar.gz
# tar zxvf apache-ambari-2.4.2-src.tar.gz
# cd apache-ambari-2.4.2-src
#  mvn versions:set -DnewVersion=2.4.2.0.0
# pushd ambari-metrics                
#有些文档标注此处要“cd ..”,经验证此处按照官档去做。
# mvn versions:set -DnewVersion=2.4.2.0.0
# popd
# mvn -B clean install package rpm:rpm -DnewVersion=2.4.2.0.0 -DskipTests -Dpython.ver="Python >= 2.6"

新濠国际登录平台 1

Paste_Image.png

CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上。

    sh-4.1$ mkdir emacs_build      ## 防止污染源代码
    sh-4.1$ cd emacs_build/
    sh-4.1$ sudo ../emacs-25.1/configure
    sh-4.1$ sudo make && sudo make install

3. 生成的rpm包

新濠国际登录平台 2

Paste_Image.png

Ambari要把ambari-server安装到管理节点上,ambari-agent安装到集群节点上,包的位置如下:

./ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-2.4.2.0-0.x86_64.rpm
./ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ambari-agent-2.4.2.0-0.x86_64.rpm

1)安装编译Python需要的包包

  • 4.查看结果:

问题解决:

1、如果报错:too many files are opened

# echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf && sysctl -p
#将每个进程可以打开的文件数目加大到10000,缺省为1024
# ulimit -u 100000

2、如果中间断掉,建议去掉clean,继续编译。

3、安装Nodejs 6.x.x版本不能编译,建议卸载,安装0.10.44。

4、编译过程中出现版本不一致问题,请参考新濠国际登录平台,http://blog.csdn.net/royma_1990/article/details/51749981。

参考资源:

https://github.com/apache/ambari
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.2
http://blog.csdn.net/chengyuqiang/article/details/53788351
http://blog.csdn.net/royma_1990/article/details/51749981

yum install zlib-devel
yum install bzip2-devel
yum install openssl-devel
yum install ncurses-devel
yum install sqlite-devel

2)下载并解压Python 2.7.9的源代码

    sh-4.1$ emacs --version
cd /opt
wget --no-check-certificate https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
tar xf Python-2.7.9.tar.xz
cd Python-2.7.9

就可以看到如下图所示结果:
新濠国际登录平台 3
至此,emacs就安装完成了。然后就可以使用emacs的插件和配置了。

3)编译与安装Python 2.7.9

配置详情请参考我GitHub上的emacs.d

./configure --prefix=/usr/local
make && make altinstall

本文由新濠国际登录平台发布于每日资讯,转载请注明出处:然后将编译过程记录下来,不需要这步)

关键词: