hadoop的局限性
hadoop主要是实现批处理的处理,并且通过顺序方式访问数据
要查找数据必须搜索整个数据集,如果要进行随机读写数据,效率低下
Hbase是Bigtable的开源java版本,是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的NoSQL数据库系统。’
Hbase的应用场景
1、对象存储
不少的头条类、新闻类的新闻、网页、图片存储在Hbase中,一些病毒公司的病毒库库文件也是存储在hbase中
2、时序数据
Hbase之上有OpenTSDB模块,开源满足时序类场景的需求
3、推荐画像
用户画像是一个比较大的稀疏矩阵,蚂蚁金服的风控就是构建在Hbase之上
4、时空数据
主要是轨迹、气象网格之类,嘀嘀打车的轨迹数据主要就是存在Hbase中的。
我们之前搭建的hadoop是3.3.6版本,对应支持的Hbase版本推荐使用Hbase2.5.x,这里笔者选择了Hbase2.5.13的版本。由于Hbase依赖zookeeper作为集群协调器,因此我们需要先安装zookeeper。
在node01上安装zookeeper
tar -zxvf apache-zookeeper-3.7.2-bin.tar.gz -C /usr/local/
cd /usr/local
mv apache-zookeeper-3.7.2-bin zookeeper #重命名
修改zoo.cfg配置
cp -rf zoo_sample.cfg zoo.cfg #复制一个配置文件进行修改
vi zoo.cfg
dataDir=/usr/local/zookeeper/data
clientPort=2181
mkdir -p /usr/local/zookeeper/data
启动zookeeper服务
./zkServer.sh start
./zkServer.sh stop 停止服务
修改hbase-env.sh 配置, 使用外部zookeeper
cd /usr/local/zookeeper
export HBASE_MANAGES_ZK=false
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
cd /export/server/hbase-2.5.13/conf
修改hbase-site.xml配置,vi hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase</value>
</property>
</configuration>
复制jar包(client / htrace-core4-4.1.0-incubating.jar)到 lib目录
cd /export/server/hbase-2.5.13/lib
cp -rf client-facing-thirdparty/htrace-core4-4.1.0-incubating.jar ./
将node01上hbase-2.5.13安装目录分发到node02 、node03节点上
cd /export/server/
scp -r hbase-2.5.13 node02:$PWD
scp -r hbase-2.5.13 node03:$PWD
#启动hbase集群
启动hbase前需要先启动hdfs: start-dfs.sh
start-hbase.sh 启动hbase
stop-hbase.sh
hbase shell
status

浏览器访问http://192.168.31.10:16010/master-status ,看到有3个region server说明hbase的3节点集群启动成功了。
其中node01上运行了HMaster 、HRegionServer 的java进程,jps可以查看
node02上与node03上运行了HRegionServer的java进程


阅读排行


Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1