【HBase入门】2. 集群搭建

news/2025/1/21 18:08:02/

安装

上传解压HBase安装包

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

修改HBase配置文件

  1. hbase-env.sh
cd /export/server/hbase-2.1.0/conf
vim hbase-env.sh
# 第28行
export JAVA_HOME=/export/server/jdk1.8.0_241/
export HBASE_MANAGES_ZK=false
  1. hbase-site.xml
    vim hbase-site.xml
<configuration><!-- HBase数据在HDFS中的存放的路径 --><property><name>hbase.rootdir</name><value>hdfs://node1.itcast.cn:8020/hbase</value></property><!-- Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- ZooKeeper的地址 --><property><name>hbase.zookeeper.quorum</name><value>node1.itcast.cn,node2.itcast.cn,node3.itcast.cn</value></property><!-- ZooKeeper快照的存储位置 --><property><name>hbase.zookeeper.property.dataDir</name><value>/export/server/apache-zookeeper-3.6.0-bin/data</value></property><!--  V2.1版本,在分布式情况下, 设置为false --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

配置环境变量

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

复制jar包到lib

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

修改regionservers文件

vim regionservers
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn

分发安装包与配置文件

cd /export/server
scp -r hbase-2.1.0/ node2.itcast.cn:$PWD
scp -r hbase-2.1.0/ node3.itcast.cn:$PWD
scp -r /etc/profile node2.itcast.cn:/etc
scp -r /etc/profile node3.itcast.cn:/etc

在node2.itcast.cn和node3.itcast.cn加载环境变量
source /etc/profile

启动HBase

cd /export/onekey

  1. 启动ZK
    ./start-zk.sh
  2. 启动hadoop
    start-dfs.sh
  3. 启动hbase
    start-hbase.sh

验证Hbase是否启动成功

  1. 启动hbase shell客户端
    hbase shell
  2. 输入status
[root@node1 onekey]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
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.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
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.0034 seconds                                                                                                                                           
Ignoring executable-hooks-1.6.0 because its extensions are not built. Try: gem pristine executable-hooks --version 1.6.0
Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0
2.4.1 :001 > status
1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load
Took 0.4562 seconds                                                                                                                                           
2.4.1 :002 >

Web UI

在这里插入图片描述

安装目录说明

目录名说明
bin所有hbase相关的命令都在该目录存放
conf所有的hbase配置文件
hbase-webappshbase的web ui程序位置
libhbase依赖的java库
logshbase的日志文件

参考硬件配置

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

进程描述
NameNode8 GB每100TB数据或每100W个文件大约占用NameNode堆1GB的内存
SecondaryNameNode8GB在内存中重做主NameNode的EditLog,因此配置需要与NameNode一样
DataNode1GB适度即可
ResourceManager4GB适度即可(注意此处是MapReduce的推荐配置)
NodeManager2GB适当即可(注意此处是MapReduce的推荐配置)
HBase HMaster4GB轻量级负载,适当即可
HBase RegionServer12GB大部分可用内存、同时为操作系统缓存、任务进程留下足够的空间
ZooKeeper1GB适度

推荐:

  1. Master机器要运行NameNode、ResourceManager、以及HBase HMaster,推荐24GB左右
  2. Slave机器需要运行DataNode、NodeManager和HBase RegionServer,推荐24GB(及以上)
  3. 根据CPU的核数来选择在某个节点上运行的进程数,例如:两个4核CPU=8核,每个Java进程都可以独立占有一个核(推荐:8核CPU)
  4. 内存不是越多越好,在使用过程中会产生较多碎片,Java堆内存越大, 会导致整理内存需要耗费的时间越大。例如:给RegionServer的堆内存设置为64GB就不是很好的选择,一旦FullGC就会造成较长时间的等待,而等待较长,Master可能就认为该节点已经挂了,然后移除掉该节点
文章来源:https://blog.csdn.net/CSDNGuoYuying/article/details/128753548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/18943.html

相关文章

CSS 特效之心形-彩虹-加载动画

CSS 特效之心形-彩虹-加载动画&#xff08;居中抖动问题&#xff09;参考描述效果HTMLCSS重置元素的部分默认样式bodyli动画定义指定animationul居中抖动问题代码总汇参考 项目描述搜索引擎BingMDNMDN Web Docs 描述 项目描述Edge109.0.1518.61 (正式版本) (64 位) 效果 HTML…

海湾化学冲刺上交所上市:计划募资30亿元,华融曾是其股东

近日&#xff0c;青岛海湾化学股份有限公司&#xff08;下称“海湾化学”&#xff09;预披露招股书&#xff0c;准备在上海证券交易所主板上市。本次冲刺上市&#xff0c;海湾化学计划募资30亿元&#xff0c;将于37.5万吨/年环氧氯丙烷绿色循环经济项目&#xff08;一期&#x…

eBPF 入门开发实践指南二:在 eBPF 中使用 kprobe 监测捕获 unlink 系统调用

eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具。它允许开发者在内核运行时动态加载、更新和运行用户定义的代码。 本文是 eBPF 入门开发实践指南的第二篇&#xff0c;在 eBPF 中使用 kprobe 捕获 unlink 系统调用。 kprobes技术背景…

mysql面试

MySQL 一、MySQL存储引擎 1.MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用!例如:汽车。虽然由成千上万的零件构成,但是最重要的肯定是发动机。普通家用车:发动机排量在0.5 ~ 2.0升之间,买菜用。豪华跑车:发动机排量在2.0升以上,撩妹用。…

学习记录668@项目管理之项目沟通管理和干系人管理

书上这部分的内容很无趣、很花里花哨、很杂乱&#xff0c;所以本文只摘取我认为比较有用和有意义的片段。 沟通方式 在发送方自认为已经掌握了足够的信息&#xff0c;有了自己的想法且不需要进一步听取多方意见时&#xff0c;往往选择控制力极强、参与程度最弱的“叙述方式”&a…

CSS3基础内容

目录 CSS基本样式 选择器分类 标签选择器 类选择器 利用类选择器画三个盒子 多类名 id选择器 id选择器和类选择器的区别 通配符选择器 CSS字体属性 字体粗细font-weight 字体样式 CSS文本属性 CSS的引入方式 行内样式表&#xff08;行内式&#xff09; 内部样式表…

十大经典排序算法【算法思想+图解+代码】【数据结构与算法笔记】

前言&#xff1a;文中大部分为本人收集整理&#xff0c;综合学习资料&#xff0c;个人理解……。希望能帮助你少掉写头发&#xff0c;早日走出理解的深渊。因为写作较为仓促文中内容难免会有纰漏&#xff0c;发现可评论区回复&#xff08;无奖&#xff09;。排序(Sort)分析排序…

windows ssdt

前言 我们 ring 3 跳转 ring0 另一种方式使用sysenter命令。 sysenter 相比起jmp,int xx方式相比速度更快&#xff0c;因为sysenter指令大量的使用了MSR寄存器 存储跳转地址等。 MSR寄存器相关读/写命令 //读取msr寄存器 rdmsr xxxx //写入msr寄存器 wrmsr xxxx其中xxx是ms…