Hbase安装前配置
配置hbase-env.sh
1.先配置环境变量
https://www.yuque.com/docs/share/5b3b469a-1f0e-4c41-8283-e30001102c5b?# 《HBase配置环境变量》
修改 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]# jps21955 Application120086 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 Application120086 HMaster # Master进程已经启动完了120790 HRegionServer # RegionServer进程已经启动完了121158 Jps11272 DataNode14824 RunJar87785 Kafka98232 jar11134 NameNode---------------------zjj102-----------------12130 Kafka13048 NodeManager19978 Application13358 ResourceManager # RegionServer进程已经启动完了111935 HRegionServer12751 DataNode---------------------zjj103-----------------112661 Jps13045 DataNode112358 HRegionServer # RegionServer进程已经启动完了10669 SecondaryNameNode12862 NodeManager12127 Kafka
访问web界面
启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:http://zjj101:16010/
访问web界面: 访问master进程所在机器:16010
- 查看Master
- 查看regionServer
停止HBase
关闭进程就行了.
停止Master ,
在hbase-1.3.1/bin执行 sh hbase-daemon.sh stop master
[root@zjj101 bin]# sh hbase-daemon.sh stop masterstopping 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文件.
你在哪台机器使用群启动脚本你就在这台机器上配置
regionservers文件内容
zjj101zjj102zjj103
HBase集群的启动和停止操作
https://www.yuque.com/docs/share/96c64eef-17a7-4506-8f55-7444b01d58db?# 《HBase集群的启动和停止操作》
集群时间同步问题
如果你集群中的机器时间差太多的话是不行的.
执行下面命令同步时间
sudo ntpdate -u ntp4.aliyun.com
HBase端口号说明
端口说明: 16000是master进程的RPC端口!16010是master进程的http端口!16020是RegionServer进程的RPC端口!16030是RegionServer进程的http端口!
