共计 2778 个字符,预计需要花费 7 分钟才能阅读完成。
Map Reduce 什么的我是不懂啊。今天是帮马同学搭建 Hadoop。用的 2.2.0 版本,结果运行时发现提示“libhadoop.so.1.0.0 which might have disabled stack guard”的警告。Google 了一下发现是因为 hadoop 2.2.0 提供的是 libhadoop.so 库是 32 位的,而我们的机器是 64 位。解决的办法就是重新在 64 位的机器上编译 hadoop。恰好马同学刚刚步入 linux 用户的行列,连机器上的 Ubuntu 都是新装的,因此,为了编译 hadoop,一切都得从头配置。
目录
编译环境
Java 环境配置
安装依赖包
安装配置 protobuf
安装配置 maven
创建新用户及用户组
编译 hadoop 2.2.0
安装配置 hadoop 2.2.0
编译环境
OS: Ubuntu 12.04 64-bit
hadoop version: 2.2.0
Java: Jdk1.7.0_45
java 环境配置
空白的电脑,什么都没有啊
下载 jdk:http://www.Oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
在 /usr/lib/ 下新建 jvm 文件夹,将刚下的压缩文件解压到 /usr/lib/jvm/ 目录下
修改~/.bashrc 配置环境变量
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH 更新一下,使其生效
$ source .bashrc 检查一下是否配置成功
$ java -version
java version “1.7.0_45”
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)安装依赖包
这些库啊包啊基本都会在编译过程中用到,缺少的话会影响编译,看到 error 了再找 solution 非常麻烦,提前装好一劳永逸。
$ sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 因为还要用到 ssh,所以如果机器上没有的话,装个 openssh 的客户端就好啦 (ubuntu 12.04 应该预装了)
$ sudo apt-get install openssh-client 当然想装 server 的话就
$ sudo apt-get install openssh-server 编译过程中还会用到 protobuf 貌似需要最新的 2.5.0,因此有低版本的也重新安装一下
安装配置 protobuf
下载最新的 protobuf:https://code.google.com/p/protobuf/downloads/list
解压,依次运行
$ ./configure –prefix=/usr
$ sudo make
$ sudo make check
$ sudo make install 检查一下版本
$ protoc –version
libprotoc 2.5.0 安装配置 maven
ubuntu 下用 apt-get 安装
$ sudo apt-get install maven
创建新用户及用户组
我们为 hadoop 创建一个新组叫“hadoop”,创建一个新用户叫“hduser”属于“hadoop”组(网上都这么起名字,我们也跟风好了)
$ sudo addgroup hadoop
$ sudo adduser –ingroup hadoop hduser 有了新用户以后,我们下面的操作就都要在新用户下完成了
$ su hduser 建立 ssh 信任
hadoop 启动的时候要 ssh 访问 localhost,建立信任关系省得老输密码
$ cd /home/hduser
$ ssh-keygen -t rsa -P “”
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys 用命令验证一下是否可以免密码链接 localhost
$ ssh localhost 这是没有给 rsa 密钥设密码的情况,但是我觉得吧,一般还是给个密码好,可以用 ssh-agent 管理,以后也不许要每次都输入
$ ssh-add ~/.ssh/id_rsa.pub # 参数写成公钥了,应该传私钥进去,感谢 twlkyao 提醒
$ ssh-add ~/.ssh/id_rsa 编译 hadoop 2.2.0
下载 hadoop 2.2.0 http://www.apache.org/dyn/closer.cgi/hadoop/common/
解压到用户目录 /home/hduser/. 进入 hadoop-2.2.0-src 目录
因为已经安装了 maven, protobuf, java 环境也有了,compiler 也有了所以直接运行
$ mvn package -Pdist,native -DskipTests -Dtar 正常应该不会有什么错误了,参数和其他编译选择请看 hadoop 目录下的 BUILDING.txt 文件
安装配置 hadoop 2.2.0
此时编译好的文件位于 hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0/ 目录中
具体如何配置,网上有很多内容,我就不写啦 XD
相关阅读:
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13