全网最详细的大数据HBase文章系列,强烈建议收藏加关注!

新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。

目录

系列历史文章

前言

HBase集群安装操作

一、上传解压HBase安装包

二、修改HBase配置文件

1、hbase-env.sh

2、hbase-site.xml

3、配置环境变量

4、复制jar包到lib

5、修改regionservers文件

6、分发安装包与配置文件

7、启动HBase

8、验证HBase是否启动成功

三、WebUI

​​​​​四、安装目录说明

五、参考硬件配置


系列历史文章

2021年大数据HBase(十七):HBase的360度全面调优

2021年大数据HBase(十六):HBase的协处理器(Coprocessor)

2021年大数据HBase(十五):HBase的Bulk Load批量加载操作

2021年大数据HBase(十四):HBase的原理及其相关的工作机制

2021年大数据HBase(十三):HBase读取和存储数据的流程

2021年大数据HBase(十二):Apache Phoenix 二级索引

2021年大数据HBase(十一):Apache Phoenix的视图操作

2021年大数据HBase(十):Apache Phoenix的基本入门操作

2021年大数据HBase(九):Apache Phoenix的安装

2021年大数据HBase(八):Apache Phoenix的基本介绍

2021年大数据HBase(七):Hbase的架构!【建议收藏】

2021年大数据HBase(六):HBase的高可用!【建议收藏】

2021年大数据HBase(五):HBase的相关操作-JavaAPI方式!【建议收藏】

2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】

2021年大数据HBase(三):HBase数据模型

2021年大数据HBase(二):HBase集群安装操作

2021年大数据HBase(一):HBase基本简介

前言

2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习。

有对大数据感兴趣的可以关注微信公众号:三帮大数据

HBase集群安装操作

一、上传解压HBase安装包

tar -xvzf hbase-2.1.0.tar.gz -C ../server/

二、修改HBase配置文件

1、hbase-env.sh

cd /export/server/hbase-2.1.0/confvim hbase-env.sh# 第28行export JAVA_HOME=/export/server/jdk1.8.0_241/export HBASE_MANAGES_ZK=false

2、hbase-site.xml

vim hbase-site.xml------------------------------hbase.rootdirhdfs://node1.itcast.cn:8020/hbasehbase.cluster.distributedtruehbase.zookeeper.quorumnode1.itcast.cn,node2.itcast.cn,node3.itcast.cnhbase.zookeeper.property.dataDir/export/server/apache-zookeeper-3.6.0-bin/datahbase.unsafe.stream.capability.enforcefalse

3、配置环境变量

# 配置Hbase环境变量vim /etc/profileexport HBASE_HOME=/export/server/hbase-2.1.0export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin#加载环境变量source /etc/profile

4、复制jar包到lib

cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar $HBASE_HOME/lib/

5、修改regionservers文件

cd /export/server/hbase-2.1.0/confvim regionserversnode1node2node3

6、分发安装包与配置文件

cd /export/serverscp -r hbase-2.1.0/ node2:$PWDscp -r hbase-2.1.0/ node3:$PWD在node2和node3配置加载环境变量source /etc/profile

7、启动HBase

cd /export/server# 启动ZK./start-zk.sh# 启动hadoopstart-dfs.sh# 启动hbasestart-hbase.sh

8、验证HBase是否启动成功

# 启动hbase shell客户端hbase shell# 输入status[root@node1 ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/phoenix-5.0.0-HBase-2.0-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/phoenix-5.0.0-HBase-2.0-hive.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/phoenix-5.0.0-HBase-2.0-pig.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/phoenix-5.0.0-HBase-2.0-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 2.1.0, re1673bb0bbfea21d6e5dba73e013b09b8b49b89b, Tue Jul 10 17:26:48 CST 2018
Took 0.0042 seconds
hbase(main):001:0> status
1 active master, 0 backup masters, 3 servers, 0 dead, 21.3333 average load
Took 0.7734 seconds
hbase(main):002:0>

三、WebUI

http://node1:16010/master-status

​​​​​​​​​​​​四、安装目录说明

目录名

说明

bin

所有hbase相关的命令都在该目录存放

conf

所有的hbase配置文件

hbase-webapps

hbase的web ui程序位置

lib

hbase依赖的java库

logs

hbase的日志文件

​​​​​​​五、参考硬件配置

针对大概800TB存储空间的集群中每个Java进程的典型内存配置:

进程

描述

NameNode

8 GB

每100TB数据或每100W个文件大约占用NameNode堆1GB的内存

SecondaryNameNode

8GB

在内存中重做主NameNode的EditLog,因此配置需要与NameNode一样

DataNode

1GB

适度即可

ResourceManager

4GB

适度即可(注意此处是MapReduce的推荐配置)

NodeManager

2GB

适当即可(注意此处是MapReduce的推荐配置)

HBase HMaster

4GB

轻量级负载,适当即可

HBase RegionServer

12GB

大部分可用内存、同时为操作系统缓存、任务进程留下足够的空间

ZooKeeper

1GB

适度

推荐:

  • Master机器要运行NameNode、ResourceManager、以及HBase HMaster,推荐24GB左右
  • Slave机器需要运行DataNode、NodeManager和HBase RegionServer,推荐24GB(及以上)
  • 根据CPU的核数来选择在某个节点上运行的进程数,例如:两个4核CPU=8核,每个Java进程都可以独立占有一个核(推荐:8核CPU)
  • 内存不是越多越好,在使用过程中会产生较多碎片,Java堆内存越大, 会导致整理内存需要耗费的时间越大。例如:给RegionServer的堆内存设置为64GB就不是很好的选择,一旦FullGC就会造成较长时间的等待,而等待较长,Master可能就认为该节点已经挂了,然后移除掉该节点