1、hbase的介绍(自行百度hbase,比我总结的全面具体)
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务。
2、搭建hbase的环境准备
1.jdk的1.7以上版本
2.前提zookper集群和HDFS集群
保证HDFS的namenode和datanode启动,也就是zookeeper出现QuorumPeerMain的leader和follower
3.安装hbase(今天的主题,理论知识太多也没用!!!)
3.1下载HBase安装包(hbase.apache.org)
我一般都是下载到window10里,在用Xftp传到JVM里的tmp目录下,安装到我JVM对相应的/usr/local路径下
tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local/
然后进入我的local目录 cd /usr/local/
重命名 mv hbase-1.2.6/ hbase
我通常会把软件的docs删了,当搭建集群时会拷贝整个hbase,docs装的API在虚拟机里我们几乎不需要。
cd hbase 删除docs :rm -rf docs/
3.2修改环境变量
3.2.1 使用 vim /etc/profile命令修改系统环境变量(当你是普通用户时 sudo vim /etc/profile)
#hbase
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
保存后source /etc/profile应用下
3.2.2 在修改hbase的环境变量(记住的JAVA_HOME可使用echo $JAVA_HOME查我的路径是/usr/local/java)
cd /usr/local/hbase/conf
vim hbase-env.sh
export JAVA_HOME=/usr/local/java #Java环境
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop #通过hadoop的配置文件找到hadoop集群(hdfs_site.xml的目录位置)
export HBASE_MANAGES_ZK=false #不使用HBASE自带的zookeeper管理集群
3.2.3HBase参数配置:(hbase-site.xml)由于我直接配置的集群变量,可能跟伪集群不大一样。
<property><!-- 指定HDFS的路径信息 -->
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<property><!-- Hbase的运行模式,false单机,true分布式集群 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property><!-- ZK集群 -->
<name>hbase.zookeeper.quorum</name>
<value>zkHost01:2181,zkHost02:2181,zkHost03:2181</value>
</property>
<property><!--web ui port-->
<name>hbase.master.info.port</name>
<value>60010</value>
</property> 3.2.4测试是否启动成功
zkServer.sh start
start-dfs.sh
start-hbase.sh
jps显示如下
由于我搭的集群的正常还应该有个
ok!!!!!!!!!!!
4,配置集群的Hbase
如果你按上述创建完成了我们配置一个集群,克隆机就不用说了吧,搭建HDFS集群略过
达到的效果是配置2台主机(Hmaster),3个子机(HRegionServer)
主机分别为HaoopMaster01,HaoopMaster02.子机为HadoopSlave1,HadoopSlave2,HadoopSlave3
4.1在主机直接配置子机vim /usr/local/hbase/conf/regionservers
#里面填入子机名或端口号(可在etc下hosts里修改集群名对应端口)
HadoopSlave1
HadoopSlave2
HadoopSlave3
4.2把你配置好的hbaser通过你的单点机直接复制到其他机器上
再把第二台主机的环境配好 scp -r /etc/profile HadoopMaster01 :/etc/
scp -r hbase HadoopMaster01 :/usr/local
scp -r hbase HadoopSlave1 :/usr/local
scp -r hbase HadoopSlave2 :/usr/local
scp -r hbase HadoopSlave3 :/usr/local
4.3第二台主机需要单启(这台主机是防止一台主机down了,然后自动顶上)
hbase-daemon.sh start master
4.4测试
jps
这个集群主机的DFSZKFailoverController和ResousrceManager于本次配置无关子机的nodeManager和journalnode无关
因为我测试之前搭建的yarn和zfkc所以就显示上了(so sorry!)
有什么大数据集群搭建问题可以直接评论我,一起进步吧!!!!