注意事项
HBase配置必须使用主机名,不支持直接配置IP地址。我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时。
> 设置主机名
hostnamectl set-hostname HM107
> 修改hosts添加主机名和IP的映射关系
vim /etc/hosts
192.168.1.100 hm107
注意:如果是集群其他节点和使用的Client也要添加该host映射关系。
>选择版本
我选择:HBase1.0.3 & Hadoop 2.5.2。
安装HBase需要考虑和Hadoop版本的兼容性。
HBase与Hadoop版本的兼容情况,可参考:
《HBase各版本对Hadoop版本的支持情况》:http://blog.csdn.net/sunny05296/article/details/54089194
Hadoop对JDK的版本要求,参考:http://blog.csdn.net/sunny05296/article/details/54346500
>下载HBase安装包
HBase官方下载镜像:http://www.apache.org/dyn/closer.cgi/hbase/
我下载HBase-1.0.3:http://mirrors.cnnic.cn/apache/hbase/hbase-1.0.3/hbase-1.0.3-bin.tar.gz
>下载Hadoop安装包
Hadoop官方资料:http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/SingleCluster.html
Hadoop官方下载镜像:http://www.apache.org/dyn/closer.cgi/hadoop/common/
我下载Hadoop-2.5.2:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
>JDK安装
>Hadoop-2.5.2安装
参考:《Centos7上Hadoop的安装和配置》文中的JDK安装和Hadoop安装
http://blog.csdn.net/sunny05296/article/details/54292593
>HBase-1.0.3安装
1.解压
cd /opt/
tar -zxvf hbase-1.0.3-bin.tar.gz
2.创建tmp文件夹作为hbase的数据目录
cd hbase-1.0.3/
mkdir tmp
3.修改配置文件hbase-site.xml,单机只需如下配置:
vim /opt/hbase-1.0.3/conf/hbase-site.xml
使用本地文件系统:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///opt/hbase-1.0.3/tmp/hbase</value>
</property>
</configuration>
或使用hdfs文件系统:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://HM107:9000/hbase</value>
</property>
</configuration>
使用hdfs文件系统时,必须配置主机名,不支持IP。如果配置IP,无法远程访问。我亲测过,最初使用的IP 192.168.1.100,远程无法访问,后来还是给服务器配置了主机名HM107,并在这里配置上主机名。
配置hbase.rootdir来指定Hbase将数据写到哪个目录。默认hbase.rootdir是指向/tmp/hbase-${user.name},会在重启后丢失数据(重启系统会清理/tmp),所以推荐修改该配置。
4.修改配置文件conf/hbase-env.sh
vim /opt/hbase-1.0.3/conf/hbase-env.sh
export HBASE_MANAGES_ZK=true
说明:BASE_MANAGES_ZK 来切换zookeeper。如果未true,是让Hbase启动的时候同时也启动zookeeper。如果自己安装了zookeeper,则这里要配置成false。
我直接配置单机版,默认使用内部的zookeeper,未单独安装,所以配置成了true。
5.启动HBase之前,先确认hadoop已经启动
hadoop dfsadmin -report
6.HBase的启动和停止,集群的启动和停止则在Master节点上执行命令
bin/start-hbase.sh
bin/stop-hbase.sh