好不容易拿到批机器部署hadoop1.0.1,却发现datanode的tasktracker死活启动不了,java还报了个fatal error,真莫名其妙。
这里再次佩服google的强大,x度真的啥都找不到。
tasktracker启动失败,最终找到原因:
hdfs的部分c底层,是针对gcc4.1构建,而Redhat AS 4系统中,最新的gcc是3.4。
那就动手升级gcc了。但这是个挺苦力的工作,gcc依赖挺多其他包,而且要重新编译。这里先列出gcc4.7依赖的一些包:
1. glibc-devel
在编译gcc过程中,报错,说:
/usr/bin/ld: crti.o: No such file: No such file or directory
其实系统中存在这个文件,解决办法是,找到crti.o所属的包:
1)找到crti.o所在:
locate crti.o
/usr/lib64/crit.o
2)获得该文件所在包:
rpm -qf /usr/lib64/crit.o
glibc-devel-2.3.4-2.36
3)安装对应包:
yum install glibc-devel-2.3.4-2.36
2. 安装xz http://tukaani.org/xz/xz-5.0.3.tar.gz
解压后,放在/home/hadoop/xz-5.0.3下
./configure --prefix=/home/hadoop/local
make
make install
跟着修改 ~/.bashrc:
export PATH=/usr/newgcc/bin:/home/hadoop/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/newgcc/lib64:/home/hadoop/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/newgcc/lib:/home/hadoop/local/lib:$LD_LIBRARY_PATH
其中的/usr/newgcc是最后gcc安装的位置,这一次性的先添加到.bashrc。
之后,让设置生效:source ~/.bashrc
测试是否已经正确安装:输入:xz
则会有相关提示。
3. 下载mpc、mpfr、gmp
1)mpfr http://www.mpfr.org/
2)mpc http://www.multiprecision.org/
3)gmp http://ftp.tsukuba.wide.ad.jp/software/gmp/gmp-5.0.0.tar.bz2
一般的操作时,分别编译这三个库,之后再编译gcc,但发现gcc官网有个偷懒的方法,就是把这些库解压后,分别改名为:gmp、mpc、mpfr后,mv到gcc源目录下,那么gcc在编译过程中,就会一同编译这3个库,原文:
http://gcc.gnu.org/install/prerequisites.html
4. 之后可以编译安装gcc了
1)./configure --prefix=/usr/newgcc --enable-shared --enable-threads=posix --enable-checking --with-zlib=/home/hadoop/local/bin --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --build=x86_64-redhat-linux --enable-languages=c,c++
这里的build参数,而非host参数,若是host则会报错,原因不明。
2)make
3)make install
之后输入:gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/newgcc/libexec/gcc/x86_64-redhat-linux/4.7.0/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ./configure --prefix=/usr/newgcc --enable-shared --enable-threads=posix --with-gmp=/home/hadoop/local/ --with-mpfr=/home/hadoop/local --with-mpc=/home/hadoop/local/ --enable-checking --with-zlib=/home/hadoop/local/bin --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --build=x86_64-redhat-linux --enable-languages=c,c++
Thread model: posix
gcc version 4.7.0 (GCC)
说明已经安装成功。
PS:为了不同登录用户都能使用gcc,则需要修改对应用户home下的.bashrc
附上另外一位仁兄的文章,对老夫帮助很大:
http://blog.sina.com.cn/s/blog_4a0a8b5d01010u8l.html
分享到:
相关推荐
### Redhat AS4上安装 Oracle 9204并升级到9206 #### 安装前准备 在开始安装Oracle 9204并在Red Hat Enterprise Linux 4 Advanced Server (RHEL AS4)上将其升级至9206之前,确保已满足必要的软件环境需求。 **...
7. **验证安装**:安装完成后,通过运行`gcc --version`来检查GCC是否成功安装,并显示其版本信息。 8. **使用GCC**:现在,你可以使用GCC编译C/C++程序了。例如,对于名为`hello.c`的源文件,运行`gcc hello.c -o ...
在Red Hat AS 4(Advanced Server)操作系统中,安装插件和打包是一项关键任务,它涉及到系统的扩展和定制。RPM(Red Hat Package Manager)是Red Hat Linux及其衍生系统中的软件包管理器,用于安装、升级、查询和...
### AS4升级OpenSSH步骤详解 #### 一、前言 在进行AS4(Advanced Server 4)系统上的OpenSSH升级之前,我们首先需要了解AS4系统的基本情况以及为何需要进行此类升级。AS4是Red Hat公司推出的一款企业级操作系统,...
《ORACLE 10.2.0.1 RAC for RedHat AS4 安装详解》 本指南详细阐述了如何在Red Hat Enterprise Linux AS 4 Update 2 X86_64环境下安装Oracle 10.2.0.1 Real Application Clusters (RAC)。整个过程分为两大部分:...
4. `cpp-4.8.5-*`:GCC的预处理器cpp。 5. `binutils-2.27-34.base.el7.x86_64.rpm`:binutils是一套用于处理汇编语言和其他二进制文件的工具集合,如as(汇编器)、ld(链接器)等。 6. `libstdc++-devel-4.8.5-*`...
在Red Hat AS5上安装Oracle 10g是一项复杂的过程,需要对操作系统和数据库软件有深入的理解。Oracle 10g是一款功能强大的企业级数据库管理系统,适用于大型数据处理和高可用性需求。以下是对这个过程的详细说明: ...
同时,它还包含了binutils-2.24,binutils是与GCC密切相关的工具集,包括汇编器(as)、链接器(ld)和其他用于处理二进制和对象文件的工具。 在RHEL 5.6这样的较旧系统上使用GCC 4.9.2可能有其特殊意义。RHEL 5.6...
RHEL 5 将是 RedHat 的商业服务器操作系统版本的第四次重要版本发布,RedHat 酝酿发布 RHEL 5 已经超过了两年, 主要变化包括 Linux 内核由 2.6.9 升级为 2.6.18,支持 Xen 虚拟化技术,集群存储等。 RHEL 5 的...
### RedHat Linux AS5_5.4 静默安装及升级 Oracle 10G 10.2.0.3 #### 概述 在本文档中,我们将详细介绍如何在 RedHat Enterprise Linux AS 5.4 (RHEL AS 5.4) 环境下采用静默方式安装 Oracle 10.2.0.1 并将其升级...
在本教程中,我们将详细介绍如何在3650服务器上安装Red Hat Linux AS 5以及Oracle 10.2.0数据库,并将其升级至10.2.0.3,同时创建数据库并导入数据。首先,让我们一步步地了解这个过程。 1. **Linux安装** - 观察...
Red Hat酝酿发布RHEL 5已经超过了两年,主要变化包括Linux内核由2.6.9升级为2.6.18, 支持Xen虚拟化技术, 集群存储等。RHEL5的版本主要分为Desktop和Sever两个版本。 Desktop版本分为: · Red Hat Enterprise Linux...
例如,“redhat-release-4AS-2.4”对应的是Red Hat Enterprise Linux AS 4 Update 1。通过查阅对应表,可以准确得知系统的确切版本。 ### 注意事项 - 第二种和第三种方法仅适用于Red Hat系列的Linux发行版,其他...
### RHEL4上安装Oracle 11g R2的关键步骤与注意事项 #### 一、环境配置及需求 在准备安装Oracle 11g R2之前,确保满足以下基本硬件及软件要求: 1. **硬件需求**: - 物理内存至少为1GB (1048576.0KB)。 - 交换...
解决该问题的方法是升级GCC至较新版本,例如GCC 7或更高版本。 **步骤一:升级前的准备工作** 1. **安装必要的依赖包:** - 使用`yum install`命令安装以下依赖包: ```bash yum install gcc gcc-c++ gtk+-...
### 第一部分:Redhat Linux AS 4.6 安装 1. **SERVER RAID 配置**:在安装Linux前,首先要配置RAID(冗余磁盘阵列),这可以提高数据的可靠性和性能。根据服务器硬件,可能需要通过BIOS或独立的RAID控制器进行配置...
首先,确保你的系统满足最低的硬件和软件需求,这里提到的是Redhat Enterprise Server AS 4 Update 8(32-bit x86)以及内核版本2.6.9-5.EL2。 1. **环境准备**: - 检查当前内核版本:通过运行`uname -r`命令来...
二、安装 RedHat Enterprise LINUX AS4 1. 安装操作系统:遵循Linux的安装向导,选择合适的分区策略,确保磁盘空间分配合理。 2. 更新系统:安装完成后,通过`yum update`命令升级系统至最新版本,以获取安全补丁和...
- Oracle官方推荐使用Red Hat Enterprise Linux AS release 5 (Taroon),因此需要修改`/etc/redhat-release`文件,将其改为: ```text Red Hat Enterprise Linux AS release 5 (Taroon) ``` 10. **配置Oracle...