今天闲来无事,想起前两天关于在hadoop环境上布署Hbase的一些知识,在此分享下:
1、Hbase和Hadoop,都属于分布式的组成部分,都包含有3种不同的运行模式,包括:本地模式(Local,即单机模式)、伪分布式模式、完全分布式模式。
(1)本地模式:不需要什么配置,只是以本地的文件系统为基础,不涉及HDFS的模式。
(2)伪分布式:需要配置,都配成localhost就可以,用到了HDFS系统,只是都是在本地系统中的假分布式的HDFS.
(3)完全分布式:这是其最大优势,多台机器同时布署上Hadoop、Hbase并运行之的模式,一般都是要分别配置两者的配置文件,及其结合处
2、因为我本身有分布式的hadoop的环境,所以本地模式、伪分布式我都没有真正去测试,所以在此不予具体说明,直接进入完全分布式的配置:
完全分布式配置:
(1)修改conf/hbase-site.xml:
hbase.rootdir //hbase的数据存储的位置
hdfs://Master_Name:9000/hbase
hbase.cluster.distributed
true //true的话,表示完全分布式,false的话代表单机或伪分布式的
hbase.master
http://master_name:60000 //hbase的主节点所占端口
hbase.zookeeper.property.dataDir
指定一个本地的文件夹就可以了 //配置zookeeper的dataDir
//因为Hbase完全分布式,是需要zookeeper来保证其分分健壮性
hbase.zookeeper.quorum
slave1,slave2,slave3 //填写的和hadoop中的slaves一样就可以
(2)conf/regionservers:
//将
slave1
slave2
slave3
(3)conf/hbase-env.sh
添加//取消注释:export JAVA_HOME=/usr/java/jdk1.6.0/,即是jdk的安装路径
添加//取消注释:export HBASE_MANAGES_ZK=true,此处的true是默认值,代表使用hbase的默认的zookeeper实例,如//果此处改为false的话,就必须要有独立配置zookeeper,简单起鉴,就写为true了。
export HADOOP_HOME=你的hadoop的路径
export HBASE_HOME=你的HBASE的路径
3、Hbase环境测试
(1)首先开启hadoop,即start-all.sh
(2) 然后开启hbase,即进入/Hbase_Home/bin/,执行start-hbase.sh就开启了hbase了。
(3)shell命令行形式测试:jps,如果出现了在主节点上出现HMaster,在slave节点上出现Hregionserver说明启动成功了。
(4)通过web-ui的方式来测试,默认采用http://master:60010/就可以看到hbase的的数据显示界面了,从这里可以看到hbase的参数和所包括的表数据
(5)也可以进行直接的操作测试,进入hbase_home/bin/,执行hbase shell,就会进入创建表、插入、删除数据等操作, 比如:create 'user','username','password';//创建了表user,有两列即username,password,如果此话执行成功,没有报错,就说明环境确实成功了。
通过上面的论述,应该可以搞定hbase的配置了,祝同志们早日成功。。。