Hbase集成到Hadoop的一些注意事项
转载安装、部署hadoop和hbase的文章网上已经很多了,这里说下自己安装、部署时遇到的
一些问题。
1、 的文件里添加:
export
HADOOP_CLASSPATH=$HBASE_HOME/hbase-0.20.3.jar:$HBASE_HOME/conf:$HBASE_HOME/lib/zookeeper-3.2.2.jar
注意红色部分,网上的文档没提到,但不加的话利用Mapreduce提取Hbase数据时会说找不
到zookeeper相关类,还是加上省事!
(这里多说一点,个人觉得在
hadoop的文件里直接这样制定HADOOP_CLASSPATH不是很好,会导致其他在shell里指定export
HADOOP_CLASSPATH=...的无效,估计是冲突了。其他各式各样的Mapreduce程序依赖的jar包总不能全部写到hadoop-
env.sh里吧?所以,感觉把hbase和zookeeper两个jar包直接放到hadoop的lib下更好点!)
2、
启动Hbase时老启动不了,都是些链接的问题,这个时候要查查看机器的hosts设置是否正确。还有hbase的配置文件,如hbase-
site.xml、regionservers等文件里的机器最好写域名,写ip它不认,不知道是不是版本问题。
3、 hbase-site.xml的配置:
<property>
<name>hbase.rootdir</name>
<value>hdfs://join191.hbase.xxx.net:9100/hbase</value>
<description> </description>
</property>
<property>
<name>hbase.master</name>
<value>join191.hbase.xxx.net:60000</value>
<description>The port master should
bind to.</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
<description> </description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>join191.hbase.xxx.net</value>
<description></description>
</property>
其中hbase.rootdir的hdfs://join191.hbase.xxx.net:9100 与
hadoop(core-site.xml)中的对应,当然,hadoop的配置里可以用ip,hbase里得用域名。保
证格式路径一样就行。
Hbase.master在hbase-
default.xml里是叫Hbase.master.port的,去掉port,把域名和端口写一起也可以。
如果是分布式的话,把上面的hbase.cluster.distributed设置为true,
并在里的设置export HBASE_MANAGES_ZK=true。
另外如果是把利用Mapreduce跑hbase程
序的工程打成jar包的话,个人偏向于把hbase-site.xml打进包里(线上的配置),这样省的node节点报一些zookeeper报一些错误
(因为这些光是在hbase里配置还不行,因为是利用hadoop的Mapreduce程序运行,hadoop需要知道hbase的这个配置。当然,把这
个配置指定到hadoop的classpath或放到hadoop的conf下应该也行,不过没试过)。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Go defer 的一些注意事项
其实go说的很清楚,我们一起来看看go spec如何说的也就是说函数正常执行,由于闭包用到的变量 i 在执行的时候已经
golang 开发语言 后端 sed desktop -
【hyperf中的一些注意事项】
hyperf开发
php composer git -
python编程一些注意事项
python编程一些注意事项strs & list数组逆序strs & listlist有sort函数,是in place型的排序,
Python Python编程 逆序 数组 sort函数
















