HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库。它是面向列的,并适合于存储超大型松散数据。HBase适合于实时,随机对Big数据进行读写操作的业务环境。
本文基本环境:
Centos 7 Linux Master 3.10.0-229.el7.x86_64
Hadoop-2.7.1 完全分布式 3台机
Hbase-1.1.2 HBase官网下载 hbase-1.1.2-bin.tar.gz
三台虚拟机主机名: Master Slaver1 Slaver2
进行软件部署
1. 使用 root 用户将 hbase-1.1.2-bin.tar.gz 包解压并放在 /home/app 下,给予 hadoop 用户权限 。
tar –xvzf hbase-1.1.2-bin.tar.gz
chown –R hadoop:hadoop hbase-1.1.2
添加环境变量
export HBASE_HOME=/home/app/hbase-1.1.2
2. 编辑配置文件
vi /home/app/hbase-1.1.2/conf/hbase-site. <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://Master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.master</name> <value>hdfs://Master:60000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>Master,Slaver1,Slaver2</value> </property> </configuration>
第一个属性指定本机的hbase的存储目录;
第二个属性指定hbase的运行模式,true代表全分布模式;
第三和第四个属性是关于Zookeeper集群的配置。我的本地暂时没有安装Zookeeper,可以不配置该项。
修改regionservers,在regionservers文件中添加如下内容:
Slaver1
Slaver2
此处配置需要注意标红部分,然后 hbase.zookeeper.quorum 的value里面写主机名,当然最好是部署奇数个,偶数个不是不可以的,但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳。
其中首先需要注意 hdfs://dm4:9000/hbase 这里,必须与你的Hadoop集群的 core-site.
再者就是Hbase该项并不识别机器IP,只能使用机器 hostname才可行,即若使用Master的IP: 10.10.10.10 是会抛出java错误,至于具体的错误这里就不再关注。
修改 hbase-env.sh 文件
export JAVA_HOME=/usr/java/jdk1.8.0_60,本处写法 /usr/java/latest 是指向默认安装的jdk的。
还需要添加 HBASE_HOME/HADOOP_HOME,这些框架都无法直接获取本地环境变量,不知是否存在某处错误引起
启动HBase
启动hbase时要确保hdfs已经启动。在主节点上执行: start-hbase.sh
启动成功后集群会多出如下进程:
Namenode:
Datanode:
总结:
这样本次安装Hbase-1.1.2 就完成了。整个过程没有太多难点。只要关注细节还是无脑配置。
原标题:大数据: 完全分布式Hadoop集群
关键词: