您的位置:首页 > 运维架构 > Linux

linux 安装hadoop是32位的需要手工编译成64位

2017-02-20 14:09 537 查看
查看hadoop2.4.1版本是32bit or 64bit?

[hadoop@master-hadoop hadoop-2.4.1]$ls lib/native
libhadoop.a       libhadoop.so.1.0.0  libhdfs.so
libhadooppipes.a  libhadooputils.a    libhdfs.so.0.0.0
 
使用file命令查看libhadoop.so.1.0.0:是32-bit
[hadoop@master-hadoop hadoop-2.4.1]$ filelib/native/libhadoop.so.1.0.0
lib/native/libhadoop.so.1.0.0lib/native/libhadoop.so.1.0.0: ELF 32-bitLSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, notstripped

必须下载重新编译需要的软件包

findbugs-3.0.0.tar.gz (忽略)

protobuf-2.5.0.tar.gz

apache-maven-3.0.5-bin.tar.gz

hadoop-2.4.1-src.tar.gz

查看这个文件BUILDING.txt

[root@master-hadoop hadoop-2.4.1-src]# more BUILDING.txt

官方编译说明:

*JDK 1.6+

* Maven 3.0 or later

* Findbugs 1.3.9 (if running findbugs) 

* ProtocolBuffer 2.5.0

* CMake 2.6 or newer (if compiling nativecode)

* Internet connection for first build (tofetch all Maven and Hadoop dependencies)

(1)解压protobuf-2.5.0.tar.gz文件

 
a.      安装依赖软件(必须能上网哦!)

   [root@master-hadoop hadoop]# yum install gcc*

   [root@master-hadoop hadoop]# yum install ncurses-devel

   [root@master-hadoop hadoop]# yum install openssl-devel

   [root@master-hadoop hadoop]# yum install cmake

   b.      解压缩(注意压缩文件后缀,protobuf-2.5.0.安装包是—gzip文件,解压时需加–z)

   [hadoop@master-hadoopsoftware]$tar –zxvf protobuf-2.5.0.tar.gz

   c.      安装 
通常建议安装到/usr/local目录下,执行configure时,指定--prefix=/usr/local/protoc即可
   
  

    解压之后的文件protobuf-2.5.0到opt/modules目录下   

 [root@master-hadoop hadoop]# mvopt/software/protobuf-2.5.0 opt/modules/

  进入protobuf-2.5.0目录

   [root@master-hadoop hadoop]# cdopt/modules/protobuf-2.5.0

    进入configure配置文件

   [root@master-hadoopprotobuf-2.5.0]# ./configure--prefix=/usr/local/protoc

    安装protobuf-2.5.0

   [root@master-hadoopprotobuf-2.5.0]# make

   [root@master-hadoopprotobuf-2.5.0]# make check

   [root@master-hadoopprotobuf-2.5.0]# make install

添加环境变量 vim /etc/profile,添加
[root@master-hadoop/]# vi /etc/profile

   export PATH=$PATH:/usr/local/protobuf/bin/
   export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
[root@master-hadoop/]# source /etc/profile    --保存

同时在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令。
  [root@master-hadoop /]# protoc –-version   
查看是否安装成功
  libprotoc 2.5.0
(2)解压hadoop-2.4.1-src.tar.gz文件

进入hadoop-2.4.1-src.tar.gz源文件
[hadoop@master-hadoop ~]$ cd opt/software/hadoop-2.4.1-src

下载hadoop-2.4.1-src.tar.gz源文件 上传之后解压
[root@master-hadoop software]# tar zxvf hadoop-2.4.1-src.tar.gz

 在源文件pom.xml中修改如下:






(3)编译hadoop

[root@master-hadoop hadoop-2.4.1-src]# mvn package-Pdist,native -DskipTests -Dtar

..............

[INFO] BUILDSUCCESS


[INFO]------------------------------------------------------------------------
[INFO] Total time:1:40:59.407s
[INFO] Finished at:Mon Feb 20 11:42:58 CST 2017
[INFO] FinalMemory: 87M/239M
[INFO]------------------------------------------------------------------------
..编译需要较长时间大概1个半小时左右........... 

返回到根目录
[root@master-hadoophadoop]# cd ../../..
 
将编译好的64位覆盖32位的文件夹
 [root@master-hadoop /]# mv

/home/hadoop/opt/software/hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1/lib/native 

/home/hadoop/usr/local/hadoop/hadoop-2.4.1/lib
 
重启hadoop
[root@master-hadooplib]# reboot
 
再次查看的版本是64位
[hadoop@master-hadoop hadoop-2.4.1]$ filelib/native/libhadoop.so.1.0.0
lib/native/libhadoop.so.1.0.0: ELF 64-bitLSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: