今天因为需要配置了hadoop和hbase的伪分布式开发环境。参考了网上的一些教程,自己也遇到了一些问题。记录下。
我的机器是:ubuntu 12.04 版。已经装好了jdk,环境配置网上有许多的教程。就不说这个了。
hadoop的环境搭建是依照这个连接来搭建的。http://www.linuxidc.com/Linux/2013-01/77681.htm
说说搭建的过程中遇到的问题吧。对了,我下载的是hadoop1.2.1版的。后面有个问题。
1、将hadoop添加为管理员用户,我的系统下只有adm用户组,没有admin。所以我最后使用的是系统设置里面图形设置才把hadoop设置为管理员用户。后来,因为我不想再弄一个用户。所以就没有管hadoop这个用户。也就是说我使用的还是我装系统的时候创建的超级管理员用户。
2、在第四页格式化namenode的时候,会让我们选择Y/N,结果我打了个小写的y,最后导致没有namenode成功。然后后面卡了半天,折腾好久后才发现是这个问题。可见小问题不能忽略。当然,也只有我才犯这么脑残的错误了。->_->
3、在测试最后一个分布式的hdfs上的wordcount程序时,我的总是出错。后来让学长帮忙,发现我的datanode没有启动,学长看log文件,才发现是我给的权限太大了,可能是hadoop1.2.1增加了安全机制,导致权限都有限制吧。所以datanode没有出来。后来把某个文件夹的权限降低了,才跑起来了。嗯,小生惭愧。学长操作太快,都没看清怎么看log的,然后呢,无法说明太清楚。
搭完了hadoop,我接着搭建hbase
1、下载,解压
2、配置hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>coprocessor.RowCountEndpoint</value>
</property>
3、配置hbase-env.sh
export JAVA_HOME=/usr/local/development/jdk1.7.0_45
export HBASE_MANAGES_ZK=true (因为我使用的是hbase自带的zookeeper,所以就设置这个为true)
然后就ok了。
关于那个hbase的配置,我不知道我的是不是对的。不过貌似就这么多了。
最后启动hadoop和hbase,使用jps查看运行的进程是不是都到位了。