天天看点

HBase的安装与部署

先部署分布式的高可用版的hadoop,即zookeeper+hadoop。

* 部署的服务器名和目录的规划跟链接中的设定一样。即

zookeeper、hadoop、hbase的文件夹都放在/home/目录下。

* 虽然hbase内置了zookeeper,但一般是关闭内置版,使用独立部署版(因为还有其它进程需要用到zookeeper,以免维护2套)。

* 以下步骤每台机都要执行

1.下载

​​http://hbase.apache.org/downloads.html​​

下载bin文件,例如hbase-2.4.6-bin.tar

2.上传到服务器并解压

(1) 上面已提及,hbase文件夹放在home目录,就是/home/hbase

(2) 重命名(洁癖+强迫症)

3.配置环境变量

在里面加入以下内容:

更新环境变量

* 先在c1机执行操作,再用scp把配置文件同步到其它机。

1.配置hbase-env.sh

添加或反注释后添加以下内容:

2.配置hbase-site.xml

3.配置regionservers

添加以下内容,如果原来有localhost,先删除。

这里是对应hosts文件的配置,前面已经提及过。

4.复制配置文件到其它节点

1.在主节点机

2.在备用节点机

需要手动启动,否则zookeeper只会启动1个。当然,也可以选择不启动。

hbase.rootdir

这个目录是 regionserver 的共享目录,用来持久化 hbase。特别注意的是 hbase.rootdir 里面的 hdfs 地址是要跟 hadoop 的 core-site.xml 里面的 fs.defaultfs 的 hdfs 的 ip 地址或者域名、端口必须一致。(ha环境下,dfs.nameservices  是由zookeeper来决定的)

hbase.cluster.distributed

hbase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。若为 false,hbase 和 zookeeper 会运行在同一个 jvm 中

hbase.master

如果只设置单个 hmaster,那么 hbase.master 属性参数需要设置为 master:60000 (主机名:60000)

如果要设置多个 hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理

hbase.tmp.dir

本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除)

hbase.zookeeper.quorum

对于 zookeeper 的配置。至少要在 hbase.zookeeper.quorum 参数中列出全部的 zookeeper 的主机,用逗号隔开。该属性值的默认值为 localhost,这个值显然不能用于分布式应用中。

hbase.zookeeper.property.datadir

这个参数用户设置 zookeeper 快照的存储位置,默认值为 /tmp,显然在重启的时候会清空。因为笔者的 zookeeper 是独立安装的,所以这里路径是指向了 $zookeeper_home/conf/zoo.cfg 中 datadir 所设定的位置。

hbase.zookeeper.property.clientport

表示客户端连接 zookeeper 的端口。

zookeeper.session.timeout

zookeeper 会话超时。hbase 把这个值传递改 zk 集群,向它推荐一个会话的最大超时时间

hbase.regionserver.restart.on.zk.expire

当 regionserver 遇到 zookeeper session expired , regionserver 将选择 restart 而不是 abort。