简介
HBase的安装和Hadoop的安装是差不多的,这种体系的安装基本上都是相似的。
前期准备:
- Hadoop的运行
- Zookeeper的运行
我是在虚拟机上安装的伪分布式模式。
安装步骤
-
解压HBase的安装包
我是跟视频下载的HBase1.3.1版本的。
这里是从网上找到版本支持,只要版本支持就可以的。 -
修改配置文件
主要修改的是三个文件:hbase-env.sh
,hbase-site.xml
,regionservers
regionservers相当于Hadoop的slaves文件,配置的是集群节点主机名。我这里只有一台虚拟机,所以这里我的修改是:# regionservers master
hbase-env.sh
:# 填写java环境变量 export JAVA_HOME=/usr/soft/java/jdk1.8.0_201 # Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+ # 注释掉这两行是因为我的java是1.8的 如果是1.7 #export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" #export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" # Tell HBase whether it should manage it's own instance of Zookeeper or not. # HBase有自带的Zookeeper 这里使用我们自己的 不然在hbase-site.xml中配置我们自己的zk会出问题 export HBASE_MANAGES_ZK=true
hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 --> <property> <name>hbase.master.port</name> <value>16000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master:2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/module/cdh/zookeeper-3.4.5-cdh5.3.6/zkData</value> </property> </configuration>
-
软连接hadoop配置文件到hbase
core-site.xml的软连接:
ln -s /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop/core-site.xml ./core-site.xml
hdfs-site.xml的软连接:
ln -s /opt/module/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop/hdfs-site.xml ./hdfs-site.xml
-
启动HBase服务
如果是多节点一定要做时间同步,不然会报错的。
这里有两种方式启动HBase:
第一种:使用start-hbase.sh
启动执行命令
./start-hbase.sh
,这种启动方式会启动master和regionserver,是一种很方便的启动方式
hbase:meta,hbase:namespace
中hbase是命名空间,meta,namespace是表名。而命名空间本身也是一张表,命名空间会放多表,也是存在表中,表名叫namespace。只是表名叫namespace第二种:使用
hbase-daemon.sh
启动
执行命令./hbase-daemon.sh start master
启动master,但是没有启动regionserver,所以在WebUI上没有显示的regionserver节点
我们在启动regionserver,执行命令./hbase-daemon.sh start regionserver
,再看webui就会发现有了regionserver节点。
注意:
- 当使用关闭命令一直打印点点点,可能 是master已经挂掉了。
- 当关闭hbase提示
master: no zookeeper to stop because no pid file /tmp/hbase-root-zookeeper.pid
原因是默认情况下pid文件保存在/tmp目录下,/tmp目录下的文件很容易丢失,解决办法是修改配置文件:
export HBASE_PID_DIR=/opt/module/cdh/hbase-1.3.1/pids
修改为自己设定的的文件目录