HBase 安装
-
启动 zookeeper
a. 进入 zookeeper 目录:
/opt/module/zookeeper-3.4.10
b. 启动 zookeeper 命令:bin/zkServer.sh start
-
启动 Hadoop
a. 进入 Hadoop 目录:
/opt/module/hadoop-2.7.2
b. 启动 DFS 命令:sbin/start-dfs.sh
c. Yarn 可以不要启动
sbin/start-yarn.sh
-
HBase 的解压
解压 HBase 到指定目录:[root@hadoop141 software]$ tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module
-
修改 HBase 的配置文件
a./opt/module/hbase-1.3.1/conf/hbase-env.sh
修改内容:
1. 添加环境变量:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export HBASE_MANAGES_ZK=false
2. JDK1.8需要注释
#export HBASE_MASTER_OPTS...
#export HBASE_REGIONSERVER_OPTS...
3. 修改 HBASE_PID_DIR
# The directory where pid files are stored. /tmp by default.
export HBASE_PID_DIR=/opt/module/hbase-1.3.1/pids
注意:还需要修改 HBASE_PID_DIR 内容,如果不修改会报stopping hbasecat: /tmp/hbase-root-master.pid: No such file or directory
错误,
因为默认路径是在 /tmp 目录下,而 /tmp 目录不稳定很容易丢失,造成停止集群的时候出现上述错误。
解决方式是在hbase-env.sh中修改pid文件的存放路径。
b. /opt/module/hbase-1.3.1/conf/hbase-site.xml 修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop141: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>hadoop141:2181,hadoop142:2181,hadoop143:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
c./opt/module/hbase-1.3.1/conf/regionservers 的修改:
添加你的集群:
hadoop141
hadoop142
hadoop143
d. 软连接hadoop配置文件到hbase:
[root@hadoop141 module]$ ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
/opt/module/hbase-1.3.1/conf/core-site.xml
[root@hadoop141 module]$ ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
/opt/module/hbase-1.3.1/conf/hdfs-site.xml
-
HBase远程发送到其他集群
[root@hadoop141 module]# xrsync.sh hbase-1.3.1/
远程分发脚本:xrsync.sh
#!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if ((pcount==0)); then echo no args; exit; fi #2 获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname #3 获取上级目录的对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 获取当前用户名称 user=`whoami` #5 循环 for((host=140; host<143; host++)); do echo ------------------- hadoop$host -------------- rsync -av $pdir/$fname $user@hadoop$host:$pdir done
-
HBase服务的启动
注意:启动前必须做好 同步时间服务
启动服务命令:[root@hadoop141 hbase]$ bin/start-hbase.sh
停止服务命令:
[root@hadoop141 hbase]$ bin/stop-hbase.sh
-
查看HBase页面
a. 启动成功:[root@hadoop141 module]# xcall.sh jps ============= hadoop141 jps ============= 12611 Jps 7495 HRegionServer 8650 HMaster 3066 QuorumPeerMain 2636 NameNode 2751 DataNode ============= hadoop142 jps ============= 9361 Jps 2516 DataNode 5596 HRegionServer 2636 QuorumPeerMain ============= hadoop143 jps ============= 2513 DataNode 10662 Jps 6250 HRegionServer 2589 SecondaryNameNode 2717 QuorumPeerMain
b. 启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:
http://hadoop141:16010