Hbase安装前配置
配置hbase-env.sh
1.先配置环境变量
https://blog.csdn.net/qq_41489540/article/details/110004812
修改 hbase-env.sh
如果用jdk8的话给下面两行代码注释掉,因为jdk8没有永久代了.jdk8叫元空间,下面配置是对永久代的配置.,没有用处,所以就注释掉.
一般在/root/soft/hbase-1.3.1/conf/hbase-env.sh 的 46 47行,给下面的代码注释掉.
# 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默认用自带的zookeeper,但是一般都是用我们自己安装的Zookeeper ,这个在"/root/soft/hbase-1.3.1/conf/hbase-env.sh" 文件的128行
export HBASE_MANAGES_ZK=false # 改成false,不用HBase自己的zookeeper
配置一下JAVA_HOME , 这个配置一般在"/root/soft/hbase-1.3.1/conf/hbase-env.sh" 的 26 27行的样子
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
读取配置文件顺序
HBase在启动的时候会先读取一个hbase-default.xml文件,然后再读取hbase-site.xml配置文件,你在hbase-site.xml配置的属性会覆盖同名的hbase-default.xml文件里面的属性.
修改hbase-site.xml配置一些参数
路径: “/root/soft/hbase-1.3.1/conf/hbase-site.xml”
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 每个regionServer的共享目录,用来持久化Hbase,默认情况下在/tmp/hbase下面
HBase是基于HDFS来存储数据的,下面是设置存放到HDFS的目录的地址的
ip是NameNode的地址
-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://zjj101:9000/HBase</value>
</property>
<!-- hbase集群模式,false表示hbase的单机,true表示是分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- HBase注册到的Zookeeper地址,如果是集群的话,多个地址就用逗号隔开 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>zjj101:2181</value>
</property>
<!-- 因为没用HBase的Zookeeper,你用的是自己的Zookeeper,
所以这里需要指定Zookeeper存数据的目录的地方
这个地址是程序员自己自定义的.
-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/soft/data/ZKData</value>
</property>
</configuration>
配置完了就给配置好的HBase分发到别的集群节点上
可以用同步分发脚本.
单机启动HBase
启动HBase之前需要确保HDFS 和Zookeeper是正常的
尽量先启动master节点,再启动regionserver
- 一台机器启动master主节点
[root@zjj101 bin]# sh hbase-daemon.sh start master # 启动命令
starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj101.out
[root@zjj101 bin]# jps
21955 Application
120086 HMaster # 说明已经启动了master节点
-
多台机器用单机启动方式启动启动regionserver
xcall “/root/soft/hbase-1.3.1/bin/hbase-daemon.sh” start regionserver
xcall是我用集群执行命令脚本,也可以每台机器都执行一遍"/root/soft/hbase-1.3.1/bin/hbase-daemon.sh" start regionserver 命令达到启动regionserver的功能.
[root@zjj101 bin]# xcall "/root/soft/hbase-1.3.1/bin/hbase-daemon.sh" start regionserver
要执行的命令是/root/soft/hbase-1.3.1/bin/hbase-daemon.sh start regionserver
---------------------zjj101-----------------
starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj101.out
---------------------zjj102-----------------
starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj102.out
---------------------zjj103-----------------
starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj103.out
查看是否启动
jps方式
xcall 是集群执行命令脚本
[root@zjj101 bin]# xcall jps
要执行的命令是jps
---------------------zjj101-----------------
21955 Application
120086 HMaster # Master进程已经启动完了
120790 HRegionServer # RegionServer进程已经启动完了
121158 Jps
11272 Datanode
14824 RunJar
87785 Kafka
98232 jar
11134 NameNode
---------------------zjj102-----------------
12130 Kafka
13048 NodeManager
19978 Application
13358 ResourceManager # RegionServer进程已经启动完了
111935 HRegionServer
12751 Datanode
---------------------zjj103-----------------
112661 Jps
13045 Datanode
112358 HRegionServer # RegionServer进程已经启动完了
10669 SecondaryNameNode
12862 NodeManager
12127 Kafka
访问web界面
启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:http://zjj101:16010/
访问web界面: 访问master进程所在机器:16010
- 查看Master
http://zjj101:16010/
- 查看regionServer
http://zjj101:16030/rs-status
停止HBase
关闭进程就行了.
停止Master ,
在hbase-1.3.1/bin执行 sh hbase-daemon.sh stop master
[root@zjj101 bin]# sh hbase-daemon.sh stop master
stopping master.
[root@zjj101 bin]#
停止 regionserver
在集群机器的hbase-1.3.1/bin目录下面执行 “/root/soft/hbase-1.3.1/bin/hbase-daemon.sh” stop regionserver 命令
[root@zjj101 bin]# xcall "/root/soft/hbase-1.3.1/bin/hbase-daemon.sh" stop regionserver
要执行的命令是/root/soft/hbase-1.3.1/bin/hbase-daemon.sh stop regionserver
---------------------zjj101-----------------
stopping regionserver..
---------------------zjj102-----------------
stopping regionserver..........
---------------------zjj103-----------------
stopping regionserver.
[root@zjj101 bin]#
集群启动方式
修改配置文件
群启动原理
hbase-daemons.sh 先读取 hbase-1.3.1/conf/regionservers 文件下中所有的主机名.
注意:执行hbase-daemons.sh或start-hbase.sh或stop-hbase.sh的前提是先配置要执行这些命令所在的机器的conf/regionservers文件.
你在哪台机器使用群启动脚本你就在这台机器上配置
zjj101
zjj102
zjj103
集群启动停止方式1[更方便]
启动
执行bin目录下的 sh start-hbase.sh ,你会发现在当前机器上启动了一个Master,在所有的机器上启动了RegionServer
[root@zjj101 bin]# sh start-hbase.sh
starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj101.out
zjj102: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj102.out
zjj103: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj103.out
zjj101: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj101.out
对应的停止服务:
帮你把master 和regionserver都停止掉
[root@zjj101 bin]# sh stop-hbase.sh
stopping hbase.....................
集群启动停止方式2
- 启动单个master
注意,如果使用 hbase-daemons.sh 启动Master的话,你会发现集群中多台机器都启动了Master,如果你只需要启动一个Master的话,就不用要hbase-daemons.sh , 用 hbase-daemon.sh
# 启动多个Master
[root@zjj101 bin]# sh hbase-daemons.sh start master
zjj103: starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj103.out
zjj101: starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj101.out
zjj102: starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj102.out
# 停止多个Master
[root@zjj101 bin]# sh hbase-daemons.sh stop master
zjj101: stopping master.
zjj103: stopping master.
zjj102: stopping master.
# 启动一个Master
[root@zjj101 bin]# sh hbase-daemon.sh start master
starting master, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-master-zjj101.out
- 启动多个regionserver
[root@zjj101 bin]# sh hbase-daemons.sh start regionserver
zjj101: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj101.out
zjj102: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj102.out
zjj103: starting regionserver, logging to /root/soft/hbase-1.3.1/bin/../logs/hbase-root-regionserver-zjj103.out
- 群停止脚本
帮你把master 和regionserver都停止掉
[root@zjj101 bin]# sh stop-hbase.sh
stopping hbase.....................
[root@zjj101 bin]#
集群时间同步问题
如果你集群中的机器时间差太多的话是不行的.
执行下面命令同步时间
sudo ntpdate -u ntp4.aliyun.com
HBase端口号说明
端口说明: 16000是master进程的RPC端口!
16010是master进程的http端口!
16020是RegionServer进程的RPC端口!
16030是RegionServer进程的http端口!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。