HBase
第三章:安装HBase
文章目录
前言
主要讲解HBase的安装与注意事项。
提示:以下是本篇文章正文内容,下面案例可供参考
一、启动Hadoop集群和Zookeeper
HBase是基于HDFS且自带高可用的,所以安装前要先启动集群和Zookeeper
(1)群起脚本
下面展示一些 群起脚本代码
,这里只写起一台的,请同学们按自己集群有多少个自行增加。
#!bin/bash
case S1 in
"start"){
echo "启动ZK"
ssh yangyuxia@hadoop100 '/opt/modules/zookeeper/bin/zkServer.sh start'
echo "启动集群服务"
echo "正在启动HDFS"
echo "正在开启NameNode节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start namenode'
echo "正在开启DataNode节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start datanode'
echo "正在启动YARN"
echo "正在开启ResourceManager节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start resourcemanager'
echo "正在开启NodeManager节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start nodemanager'
echo "正在开启HistoryServer"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh start historyserver'
};;;
"stop"){
echo "关闭集群服务"
echo "正在关闭HistoryServer"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh stop historyserver'
echo "正在关闭YARN"
echo "正在关闭ResourceManager节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh stop resourcemanager'
echo "正在关闭NodeManager节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh stop nodemanager'
echo "正在关闭HDFS"
echo "正在关闭NameNode节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh stop namenode'
echo "正在关闭DataNode节点"
ssh yangyuxia@hadoop100 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh stop datanode'
echo "关闭ZK"
ssh yangyuxia@hadoop100 '/opt/modules/zookeeper/bin/zkServer.sh stop'
};;;
esac
(2)启动集群和Zookeeper
使用脚本群起(./脚本.sh start)即可启动
因为只是讲解,我就用一台机器实例了。
二、安装HBase并配置
(1)安装HBase并解压
HBase安装
$ sudo wget http://labfile.oss.aliyuncs.com/hbase-0.98.11-hadoop2-bin.tar.gz
解压HBase,这里我解压到opt目录。
tar -zxf hbase-1.3.1-bin.tar.gz -C /opt/modules/
解压后的HBase文件名字可能很长,可以自行修改
(2)修改HBase配置文件
① 修改hbase-env.sh
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export JAVA_HOME=/opt/modules/jdk1.8.0_121
# 取消使用HBase内置Zookeeper
export HBASE_MANAGES_ZK=false
注:若使用的jdk为1.8或1.8以上的的,可以把以下这些代码删掉
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# 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"
② 修改hbase-site.xml
<configuration>
<!-- 每个regionServer的共享目录,用来持久化Hbase,默认情况下在/tmp/hbase下面 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:8020/HBase</value>
</property>
<!-- hbase集群模式,false表示hbase的单机,true表示是分布式模式 -->
<!-- 注:伪分布式也是分布模式,单机模式下HBase不使用HDFS -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- hbase master节点的端口 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!-- hbase依赖的zk地址,若是完全分布式,则将安装zk的所有地址均写上去 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop100</value>
</property>
<!-- zookeeperData目录地址 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/modules/zookeeper/zkData</value>
</property>
③ 修改regionservers
在regionservers中添加所有主机名,如:
hadoop102
hadoop103
hadoop104
配置结束
三、启动HBase
(1)两种启动和停止HBase方式
① 第一种方式启动HBase
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/hbase-daemon.sh start master
starting master, logging to /opt/modules/hbase-1.3.1/bin/../logs/hbase-yangyuxia-master-hadoop100.out
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/hbase-daemon.sh start regionserver
starting regionserver, logging to /opt/modules/hbase-1.3.1/bin/../logs/hbase-yangyuxia-regionserver-hadoop100.out
查看master和regionserver是否启动
② 第一种方式关闭HBase
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/hbase-daemon.sh stop regionserver
stopping regionserver.
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/hbase-daemon.sh stop master
stopping master.
查看master和regionserver是否关闭
③ 第二种方式开启HBase
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/start-hbase.sh
starting master, logging to /opt/modules/hbase-1.3.1/bin/../logs/hbase-yangyuxia-master-hadoop100.out
hadoop100: starting regionserver, logging to /opt/modules/hbase-1.3.1/bin/../logs/hbase-yangyuxia-regionserver-hadoop100.out
② 第二种方式关闭HBase
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/stop-hbase.sh
stopping hbase.................
(2)启动Hbase Shell
[yangyuxia@hadoop100 hbase-1.3.1]$ bin/hbase shell
2020-10-16 18:26:17,300 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/modules/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/modules/hadoop-2.5.0-cdh5.3.6/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr 6 19:36:54 PDT 2017
hbase(main):001:0>