环境: CentOS release 5.5 64bit, jdk "1.6.0_27"
注意:
(
网络资料参考:slaytanic.blog.51cto/2057708/716580,仅作参考,不建议使用该方法安装)
1,scribe下载的时候不要在gitgub上下载,否则无法通过编译。
2,请不要使用hadoop-0.20.2版本,否则安装scribe报hdfsConnectNewInstance未申明错误,版本更换成hadoop-0.20.2+320即可。github和官网上均可以下载。
3,scribe不要使用rpm方式安装,否则可以成功启动运行但写入hadoop时出现错误。换成源码安装即可。
(一)安装必要包
以下包必须安装,否则必然出错。可根据关键字先
搜索安装包yum search auto可在线安装软件包:yum install autoconf automake libtool zlib libevent python boost erlang ruby libboost-dev libboost-all-dev libtool-dev libevent-dev ruby-dev python-dev libcommons-lang-java
需自己手动下载包 boost_1_42_0.tar.gz libevent-1.4.14b-stable.tar.gz thrift-0.7.0.tar.gz hadoop-0.20.2+320.tar.gz facebook-scribe-6600084.tar.gz (最好在官网上下载)
(二)检查gcc是否完全安装:
查看
软件是否安装命令 rpm -qa |grep gcc 或者 find / -name gcc
输入命令 g++,是否能找到
如果不能找到:yum -y install gcc+ gcc-c++
###错误信息###:You could try using –skip-broken to work around the problem
You could try running: package-cleanup –problems
输入yum clean all,重新安装
完成以上操作输入 g++ 会提示:"g++: 没有输入文件",说明g++安装成功
(三)安装boost_1_42_0
./boost
./bjam install (如果出现g++: command not found看(二))
###错误信息###:python里面很多文件错误
安装 python-devel: yum install python-devel
###错误信息###:gccpile.c++ bin.v2/libs/iostreams/build/gcc-4.1.2/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: 错误:bzlib.h:没有那个文件或目录
安装bzip2.0: yum install bzip2 yum install bzip2-devel
(四)安装hadoop
实践环境:
ip地址 hostname(/etc/hosts) hadoop中角色 操作系统
10.5.201.211 server211 namenode redhat-linux 64bit
10.5.201.210 server210 datanode redhat-
linux 64bit
192.168.156.203 本地测试环境 windowsxp
在10.5.201.211和10.5.201.210和192.168.156.203 hosts文件中添加:
10.5.201.211 server211
10.5.201.210 server210
1),添加环境变量
export JAVA_HOME=/home/hexianghui/jdk1.6.0_27
export JRE_HOME=/home/hexianghui/jdk1.6.0_27/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
2),下载hadoop-0.20.2+320.tar.gz
把Hadoop 的安装路径添加到环/etc/profile 中:
export HADOOP_HOME=/home/hexianghui/hadoop-0.20.1
export PATH
=$HADOOP_HOME/bin:$PATH
3),在conf/hadoop-env.sh 中配置
Java 环境(namenode 与datanode 的配置相同):
$ vi hadoop-env.sh
$ export JAVA_HOME=/home/hexianghui/jdk1.6.0_14
4),配置conf/masters 和conf/slaves 文件:(只在namenode 上配置)
masters: server211
slaves:
server210
5),配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml(简单配
置,datanode 的配置相同)
core-site.xml:
hadoop.tmp.dir
/home/hexianghui/tmp
A base for other temporary directories.
fs.default.name
hdfs://server211:9000
hdfs-site.
xml:( replication 默认为3,如果不修改,datanode 少于三台就会报错)
dfs.replication
1
mapred-site.xml:
mapred.job.tracker
server211:9001
6),启动(最好以管理员身份启动服务,否则可能出现各种莫名其妙的问题)
进入hado