版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37050372/article/details/81984255
1.上传并解压
2.修改配置文件
vi hbase-env.sh
因为hbase需要使用缓存,所以要求内存很大,我们可以看到以下配置的说明,至少要求8g:
我们还可以看到下面,因为hbase是需要zookeeper的,如果我们配置这个的话,hbase会使用自带的zookeeper jar包。但是我们不需要,因为我们要求zookeeper是共享的,所以就不用它自带的。
我们将参数改为下面的样子:
vi hbase-site.xml
在这个配置文件中我们需要:
1.指定hbase在hdfs上存储的路径
2.指定hbase是分布式的
3.指定zookeeper的地址,多个用","分隔
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://marshal:9000/hbasedata</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>marshal:2181,marshal01:2181,marshal02:2181,marshal03:2181,marshal04:2181,marshal05:2181</value>
</property>
</configuration>
如果我们想用批量启动脚本的话还要配置regionservers
这个我们最好与datanode放在同一台机器因为如果数据正好在这台机器上的话就不需要通过网络了。
marshal
marshal01
marshal02
marshal03
marshal04
marshal05
接下来我们需要将hbase包发送到别的机器:
接下来看我们的启动命令:
bin/start-hbase.sh
前提是我们的hdfs和zookeeper已经启动,不然会报错
启动的时候要注意每台机器之间的时间差不能超过30秒否则会报错。因为hbase的实时性要求很高,所以时间一定要同步。
我们也可以通过web访问hbase:
那么外部访问的端口是多少了?
我们可以通过
netstat -nltp
查看
注意:我们关闭hbase的时候一定要通过命令关闭:bin/stop-hbase.sh
因为它关闭的时候需要去zookeeper做一些修改,如果通过暴力手段关闭,很有可能会引起一些问题。
在Hbase中HMaster可以有多个,其中一台为active剩下的都是backup,而且Hbase挂掉了也可以正常运行,因为它只是负责负载均衡的,对数据没有什么影响,挂掉了顶多就是负载一直保持现在的状态。