HBase伪分布式,集群安装配置

1.常规安装好Hadoop后,需要启动HDFS,HBase是建立在HDFS之上的

2.下载HBase版本,这里注意了,你的Hadoop版本要和Hbase版本一致,否则会报两个协议不一致的错误,我用的是Hadoop2.4.0和HBase0.99.2,对于网上说的要用Hadoop里的core文件替换HBase的lib文件夹中包文件,Hadoop2中的core文件已经分散到share文件夹下,我是不会添加干脆直接用版本一样的

3.解压到/usr/local文件夹下,修改文件夹名,及相应的用户用户组权限

4.修改conf/hbase-env.sh文件,编辑

JAVA_HOME=/usr/lib/jdk(我的jdk是安装在这个路径下

export HBASE_MANAGES_ZK=true(true表示,启动HBase自带的Zookeeper,如果使用单独的ZK,则需要改为false)

export HBASE_LOG_DIR=/usr/local/hbase/logs (hbase的日志文件路径,自己创建文件夹)

export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop/(这个不也不知道为什么,可以不用配置,明明说的是类路径,却使用的是配置文件路径)

5.修改conf/hbase-site.xml如下

<property>   
        <name>hbase.rootdir</name> 
        <value>hdfs://hadoop:8020/hbase</value>  --注:这里的端口要与Hadoop的core-site.xml文件中fs.defaultFS配置的端口一致,hbase目录是自己在HDFS创建的目录
</property> 
<property>   
        <name>hbase.cluster.distributed</name>  --注:伪分布式和集群安装都要设为true
        <value>true</value> 
</property>
<property>  
        <name>hbase.zookeeper.quorum</name>  --注意:这里一般为奇数,最好是3,5,7,。。。
        <value>hadoop</value> 
</property>

<property>
        <name>hbase.regionserver.info.port.auto</name> --
        <value>true</value>

<description>这个配置太重要了,我配置HBase时不论怎么换端口,总是提示端口地址被使用了,搭建集群时设置的,这些端口都没有问题,最后把这个值设为true,默认false,这样端口被占用时,自动寻找空闲端口便于自己的测试环境,这是追加的评论,马丹  感觉这个配置又不好使了,还是提示端口占用,根本解决不了,</description>     
</property> 

从比较新的版本开始,HMaster占用了16010,16020,16030,显然后两个端口是RegionServer要占用的端口,注意下,端口号不再是60010,60020这些了,新版本修改了,可以启动HMaster进程,看看HMaster的Web UI,可以发现特么已经有一个RegionServer了,原来已经启动了一个占用该端口了,草草草,什么鬼,不明觉厉,重新修改下RegionServer的两个端口吧,可以启动一个新的RegionServer,具体为什么,继续观察,下面是修改RegionServer端口的

当然如果你使用的hbase版本是hbase-0.98-x-hadoop2就没有这个问题了,端口还是60010,60020,这是hbase的不同分支

<property>
<name>hbase.regionserver.port</name>
<value>16120</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16130</value>
</property>
</configuration>

6.切换工作目录到HBase下,执行bin/start-hbase.sh启动三个进程,HquorumPeer,HMaster,HRegionServer,第一个是自带的zookeeper进程

或使用bin/hbase-daemon.sh start master/regionserver来单独启动进程,完工

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章