最近自己开始部署hadoop相关一套环境,目前还没在生产环境下使用,只在cygwin的虚拟环境下进行的搭建,参考各安装手册后,发现还是有些出入,特整理下我搭建的步骤。
首先安装cygwin,
接着是sshd
hadoop
zooKeeper
hbase
我安装的过程,参考的是《Hadoop开发者第一期.pdf》文档,不过根据我的实际操作情况来看,还是有点误差的。
这里主要是介绍下注意事项:
1、按照文档配置完成hadoop后,需要运行bin/hadoop namenode -format 注:namenode是默认
不然hadoop启动后,会出现运行,bin/hadoop fs -ls出错
2、需要单独安装zooKeeper,不然hbase的shell命令里,运行create ‘test','data' 不能正常运行,另外就是无法连接到zooKeeper上。
3、运行hbase时,出现了org.apache.hadoop.hbase.MasterNotRunningException: null这样的错误,主要是在配置文件中将:
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
这个应该为true
启动步骤是:ssh localhost完成后,依次启动hadoop->zooKeeper->hbase
补充下,今天看到配置zooKeeper的属性
1、hbase默认通过zookeeper管理,配置项在/jz/hbase-0.20.5/conf/hbase-env.sh文件中:
# Tell HBase whether it should manage it's own instance of Zookeeper or not. # export HBASE_MANAGES_ZK=true
如果需要采用自带安装的zookeeper,可以将注释取消,把true修改为false。否则启动hbase的时候将会提示地址被占用。不过不影响hbase正常使用。
2、通过shell控制台想hbase插入中文数据将会报错,这是由于hbase中只是存放字节,采用程序将汉字改为字节录入即可。
3、在hbase脚本中执行shell命令,如果出现以下错误,表示hbase中有节点不能正常运行。
NativeException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact region server 192.168.3.139:60020 for region .META.,,1, row '', but failed after 7 attempts.