需要先启动 HDFS 集群和 ZooKeeper 集群。
Hadoop 集群安装:https://www.cnblogs.com/jhxxb/p/10629796.html
ZooKeeper 集群安装:https://www.cnblogs.com/jhxxb/p/10744264.html
zkServer.sh start start-dfs.sh # 不启动 yarn 也可以 start-yarn.sh
一、安装
curl -o /opt/hbase-2.2.1-bin.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.2.1/hbase-2.2.1-bin.tar.gz tar -zxf /opt/hbase-2.2.1-bin.tar.gz -C /opt/
二、配置
hbase-env.sh
vim /opt/hbase-2.2.1/conf/hbase-env.sh # The java implementation to use. Java 1.8+ required. export JAVA_HOME=/opt/jdk1.8.0_202/ # 不使用自带的 ZK # Tell HBase whether it should manage it's own instance of ZooKeeper or not. export HBASE_MANAGES_ZK=false
若是之前的版本还需注释两行配置,不然会报一些警告日志。
hbase-site.xml
可配置项在 hbase-default.xml 中,hbase-default.xml 在 lib/hbase-common-x.x.x.jar 中。
也可在线浏览:https://gitbox.apache.org/repos/asf?p=hbase.git;a=blob;f=hbase-common/src/main/resources/hbase-default.xml;hb=HEAD,或是 GitHub 上。
<configuration> <!-- 数据在 HDFS 上的路径--> <property> <name>hbase.rootdir</name> <value>hdfs://h136:9000/HBase</value> </property> <!-- 默认 false,为单机模式 --> <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>h136,h138,h140</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/apache-zookeeper-3.5.5-bin/zkData</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>
regionservers
配置 HBase 集群
h136
h138
h140
软连接 hadoop 配置文件到 HBase
ln -s /opt/hadoop-2.9.2/etc/hadoop/core-site.xml /opt/hbase-2.2.1/conf/core-site.xml ln -s /opt/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/hbase-2.2.1/conf/hdfs-site.xml
复制到其它节点
# yum install -y rsync # rsync -avz /opt/hbase-2.2.1 h140:/opt/ scp -rq /opt/hbase-2.2.1/ root@h138:/opt/ scp -rq /opt/hbase-2.2.1/ root@h140:/opt/
附上环境变量配置(/etc/profile)
export HADOOP_HOME=/opt/hadoop-2.9.2 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export JAVA_HOME=/opt/jdk1.8.0_202 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export KAFKA_HOME=/opt/kafka_2.12-2.3.0 export PATH=$PATH:$KAFKA_HOME/bin export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.5.5-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin export HBASE_HOME=/opt/hbase-2.2.1 export PATH=$PATH:$HBASE_HOME/bin
三、启动
如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出 ClockOutOfSyncException 异常。
同步时间服务或修改属性
<property> <name>hbase.master.maxclockskew</name> <value>180000</value> <description>Time difference of regionserver from master</description> </property>
1.单节点启动(手动启动所有节点)
hbase-daemon.sh start master hbase-daemon.sh start regionserver
2.集群启动(哪个节点启动 HBase,哪个节点就是 master 角色)
start-hbase.sh stop-hbase.sh
3.查看 HBase 页面
启动成功后,可以通过 http://IP:16010 的方式来访问 HBase 管理页面。