hadoop官方网站:
http://hadoop.apache.org/
中文介绍参考网站:
http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
hadoop下载:
这里提供两种方式:
1. 编译好的文件:
http://hadoop.apache.org/releases.html#Download
http://apache.fayea.com/apache-mirror/hadoop/common/
笔者当时采用这种方式。需要注意的,该文件是用32位操作系统编译的,如果用这个文件部署到64位操作系统会有warn提示信息。但不影响hadoop的运行。
如果不想启动出现warn日志提示,可下载源代码,自行在64位操作系统下进行编译。
通过下面使命可查看到这种方式是32位系统下编译的。
2.下载源代码
通过svn 下载源码:
http://svn.apache.org/repos/asf/hadoop/common/branches/
具体编译方式,可上网查资料。有很详细的说明。
编译示例:
http://blog.csdn.net/wind520/article/details/38331167
编译时需要安装protobuf.
由于网络原因,wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz下载不了,可从本文附件中下载。
maven hadoop 依赖:
http://mvnrepository.com/tags/hadoop
按照指示,在打包的时候出现一个错误。
最终还是报了一个错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in directory "/root/hadoop-2.2.0-src/hadoop-common-project/hadoop-common/target/native"): error=2, No such file or directory -> [Help 1]
是没有安装cmake
[root@hadoop1 ~]# cd
[root@hadoop1 ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
[root@hadoop1 ~]# tar zxvf cmake-2.8.12.2.tar.gz
[root@hadoop1 ~]# cd cmake-2.8.12.2
[root@hadoop1 ~]# ./configure
[root@hadoop1 ~]# gmake
[root@hadoop1 ~]# gmake install
执行mvn 打包命令。最后成功:
然后file下hadoop/lib/native。如图:发现已经是64位的。
整打包比较耗时,我把打好的包上传到百度云。下面是下载的链接:
http://pan.baidu.com/s/1c0b9pAS
payattentin :
在$HADOOP_HOME/etc/hadoop/hadoop-env.sh中加入:
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
hadoop安装
安装我分了三个步骤:
1.环境准备:
linux操作系统,JDK
此处省去1W字。
2.ssh 环境创建
关于SSH环境创建,请参考:
http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
这篇文件介绍的很详细。而且是通篇介绍了hadoop的安装过程。感谢文章作者,让许多刚入手搭建hadoop的开发者少走了些弯路。
这里补充说明的SSH配置结束后,请用SSH IP 的方式来验证master和slaves之间SSH通信。
3.hadoop配置
Hadoop三种安装模式:单机模式,伪分布式,真正分布式
建议用第三种方式,构建一般产品环境真正的分布式模式。
这里需要说明的:网上很多例子讲述的都是比较老的版本的配置。笔者采用的hadoop2.4.1
这个版本是第二新的。不同版本之间配置项的参数和文件都不相同。
我是参考
http://blog.itpub.net/26613085/viewspace-1219710/
这里做了调整,在其阐述的配置中,并没有用hostname,而一律用的是IP.
修改了如下配置:
hadoop-env.sh,yarn-env.sh 配置JAVA_HOME等环境变量
core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml
建议:先统一处理master上配置。做好后再scp到slaves结点服务器上。
最后启动没用问题。
如图所示:
标红的可以查看hadoop启动以及运行时产生的各种日志。
各个slave上也有同样的日志。
eclipse访问hadoop
这里提供了两个插件的下载。放到eclipse的plugin目录下,然后重启tomcat即可。
其中hadoop-eclipse-plugin.jar是JDK1.6编译的。
而hadoop-2.4.1-eclipse-4.4-plugin是JDK1.7编译的。
http://pan.baidu.com/s/1qWrzEqg
http://pan.baidu.com/s/1gdKitcJ
JDK考虑到兼容性的问题,低版本运行在高的JDK上面不会有问题,但是高版本编译的插件运行在低版本JDK会报错。如下所示:
最后是配置eclipse上的配置:
请参考网上其他资料.
关于Map/Reduce 和DFSMaster的配置项请参考两个文件:
Map/Reduce:mapred-site.xml
DFSMaster:core-site.xml
在DFS Locations下连接hadoop成功。但是上传和下载发生错误。查看日志:
org.apache.hadoop.util.Shell$ExitCodeException: id: Administrator:无此用户
这是因为我是在windows操作下操作的,而且当前用户是Administrator,eclipse以些用户去连hadoop.而且集群配置的帐户是hadoop.
有三种解决方案:
(1)修改Advanced parameters.好几十项配置,我也不清楚改哪个。但我估计是可以的。查了网上资料也说的不明白。主要是因为版本不一致的原因。
(2)用wind7 的管理员Administraor创建了一个hadoop(跟SSH的帐户相同)帐户,在这个帐户下操作,成功了。但是觉得也不太好。
(3)第三种,还可以去掉hdfs的权限检查
打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
改完需要重启HDFS;
做完后,是正常连接到hadoop。通过eclipse插件操作文件增,删,查操作也成功了。
这里还有个问题,就是后台日志仍然会报:
org.apache.hadoop.util.Shell$ExitCodeException: id: Administrator:无此用户
这个错误。
但不影响操作。笔者认为在DEV环境或者自已搭建的环境可以产用这种方式。生产环境肯定是不允许的。一定要验证用户的身份。
(4)还有一种,TBD.
eclipse 调试时,仍出现了些问题,参照下面信息后,调试通过。
http://blog.csdn.net/yueritian/article/details/23991741
测试用例:
http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html
export JAVA_HOME=/data/index/Work/install/jdk1.7.0_55
export JRE_HOME=/data/index/Work/install/jdk1.7.0_55/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$PATH
#set hadoop path
#set hadoop path
export HADOOP_HOME=/usr/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
hbase安装
http://www.micmiu.com/bigdata/hbase/hbase-setup-full-distributed/