当前位置: 首页 > news >正文

HBase 复习 ---- chapter07

HBase 复习 ---- chapter07

  1. 部署 HBase(运维)
    1:部署 HBase 实际是部署了三个技术(hadoop + zookeeper + hbase)
    hadoop = hdfs + mapreduce + common
    hdfs = namenode + datanode + secondaryNamenode
    yarn = ResourceManager(JobTracker)+ NodeManager(TaskTracker)
    zookeeper = zookeeper集合 + zookeeper客户端
    zookeeper集合 = zookeeper Leader + zookeeper Flowers = QuorumPeerMain
    HBase = HMaster + HRegionServer
    namenode + datanode + secondaryNamenode
    ResourceManager + NodeManager
    QuorumPeerMain
    HMaster+HRegionServer

  2. 这个八个技术如何进行部署呢?
    niit01-master: namenode+datanode+nodemanager
    niit02-master: SecondaryNamenode+datanode+nodemanager
    niit03-master: ResourceManager+datanode+nodemanager

  3. 上面那些组件要求内存+CPU?
    namenode secondaryNamenode QuorumPeerMain HMaster HRegionServer nodemanager

  4. 上面那些组件要求磁盘?
    datanode HRegionServer nodemanager

  5. SLA:服务级别协议是指提供服务的企业与客户之间就服务的品质、水准、性能等方面所达成的双方共同认可的协议或契约。

  6. 集群类型:从小到大(我们书上讲的集群类型是比较原始的,真实的和这个会有差距)

  7. 原型集群:(cpu拥有 4–6 核,24–32 GB RAM 和 4 T SATA 磁盘)
    原型集群是没有严格的 SLA 的集群,可以将其关闭。
    它通常少于 10 个节点。
    可以在原型集群中的单个节点上并置多个服务。

  8. 小型生产集群(10-20 台服务器)(cpu拥有 6–8 核,32–64 GB RAM 和 8 T SATA 磁盘 双电源 RAID:提高磁盘利用率+容错能力 ) 少于 10 个从节点很难进行操作。
    如果要部署生产集群,请考虑使用相对更好的主节点硬件。 双电源和 RAID 可能已成为日常工作。
    流量/工作量不多的小型生产集群可以并置服务。
    对于小型集群,单个 HBase Master 可以。
    单个 ZooKeeper 可以用于小型集群,并且可以与 HBase Master 并置。如果运行 NameNode和 JobTracker 的主机 足够强大,则也可以在其上放置 ZooKeeper 和 HBase Master。 这样可以省去您购买额外机器的麻烦。
    单个 HBase Master 和 ZooKeeper 限制了可维护性

  9. 中型生产集群(最多约 50 台服务器 20-50)(cpu拥有 8–10 核,32–64 GB RAM 和 8 T SATA 磁盘 双电源 RAID:提高磁盘利用率+容错能力 )
    最多可能有 50 个节点属于此类别。
    出于性能原因,我们建议您不要并置 HBase 和 MapReduce。如果并置,请在单独的硬件上部署NameNode 和 JobTracker。
    应当部署三个 ZooKeeper 和三个 HBase 主节点,尤其是在生产系统中。
    不要为 NameNode 和 Secondary NameNode 的硬件而便宜。

  10. 大型生产集群(>=50 台服务器)(cpu拥有 10–12 核,64–128 GB RAM 和 16 T SATA 磁盘 双电源 RAID:提高磁盘利用率+容错能力 )
    中型集群的所有情况都适用,只是您可能需要五个可以与 HBase Master 搭配使用的ZooKeeper 实例。
    确保 NameNode 和 Secondary NameNode +HregionServer有足够的内存,具体取决于群集的存储容量。

  11. hbase 的配置
    环境变量:JAVA_HOME HBASE_CLASSPATH
    内存: HBASE_HEAPSIZE HBASE_OPTS
    其他设置:HBASE_MANAGES_ZK=false

  12. 设置 SSH 免密登录
    A 主机免密登录 B 主机
    A 主机操作:
    ssh-keygen -t rsa :生成公钥和密钥
    ssh-copy-id B主机:A 主机将公钥发送给 B 主机
    A 主机连接 B 主机,第一次需要密码验证,验证通过,后期 A 主机连接 B 主机就不要密码验证了。

  13. 修改主机名

vi /etc/hosts
  1. 创建用户(root 用户)
useradd hadoop
passwd Hadoop
  1. 复制 Hadoop + HBase
  2. 修改 HBASE_HOME/conf/regionserves
  3. 启动
  4. 删除节点:
    方式一:
kill -9 regionserver process number(不推荐)

方式二:

hbase-daemon.sh stop regionserver(也不推荐,好一点)

方式三:

graceful_stop.sh (推荐)

步骤介绍:
1、首先停止负载均衡
2、将节点名称上的数据移动到其他节点
3、关闭服务

  1. 在不停止服务器在线业务的情况下,调整配置参数.
cd $HBASE_HOME/bin
./graceful_stop.sh --restart --reload debug Node name

参数介绍:
restart:删除数据后重新启动
reload:移动数据后停止服务
debug:输出有关执行过程的信息
Node Name:指定要停止的节点

  1. 故障排除:
Hbase fsck 

HBase 提供了 HBCK 工具来检查数据一致性。
数据一致性是指:
1、将每个区域正确分配给一个区域服务器,并且该区域的位置信息和状态正确。
2、每个表都是完整的,每个可能的行键都可以对应一个唯一的区域。
3、与查询相关的命令收集的用法。

相关文章:

HBase 复习 ---- chapter07

HBase 复习 ---- chapter07部署 HBase(运维) 1:部署 HBase 实际是部署了三个技术(hadoop zookeeper hbase) hadoop hdfs mapreduce common hdfs namenode datanode secondaryNamenode yarn ResourceManager&a…...

跟我一起写Makefile--个人总结

此篇笔记是根据陈皓大佬《跟我一起写Makefile》学习所得 文章目录换行符clean变量make的自动推导另类风格的Makefile清空目标文件的规则cleanMakefile总述显示规则隐晦规则变量的定义注释引用其它的Makefile环境变量MAKEFILESmake的工作方式书写规则规则举例规则的语法在规则中…...

设计模式之为什么要学好设计模式

目录1 回顾软件设计原则2 设计模式总览3 经典框架都在用设计模式解决问题1 回顾软件设计原则 不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。我们把设…...

大数据时代的小数据神器 - asqlcell

自从Google发布了经典的MapReduce论文,以及Yahoo开源了Hadoop的实现,大数据这个词就成为了一个行业的热门。在不断提高的机器性能和各种层出不穷的工具框架加持下,数据分析开始从过去的采样抽查变成全量整体,原先被抽样丢弃的隐藏…...

【呕心沥血】整理全栈自动化测试技术(三):如何编写技术方案

前面两篇笔记我介绍了自动化测试前期调研注意事项和前置准备阶段切入点,有同学在后台提问: “做完前期的调研和准备工作,领导要求写一个落地方案并评审,自动化测试的落地方案该怎么写”? 首先这个要求我觉得挺正常&a…...

67. 二进制求和

文章目录题目描述竖式模拟转换为十进制计算题目描述 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入:a “11”, b “1” 输出:“100” 示例 2: 输入:a “1010”, b “1011” …...

1555数列极差(队列 优先队列 )

目录 题目描述 解题思路 代码部分 题目描述 在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a*b1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得…...

代码随想录算法训练营第二十七天 | 93.复原IP地址,78.子集,90.子集II

一、参考资料复原IP地址题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8E%9FIP%E5%9C%B0%E5%9D%80.html 视频讲解:https://www.bilibili.com/video/BV1XP4y1U73i/子集题目链接/文章讲解:https://programmercarl.com/0078.…...

jvm类加载器

概念 Bootstarp ClassLoader (引导类加载器) 加载String等核心的类Ext ClassLoader (拓展类加载器)System ClassLoader (系统类加载器) 加载用户自定义的类 关系 BootstrapClassLoader 包含 ExtClassLoaderExtClassLoader 包含 SystemClassLoader彼此是包含关系,不…...

Rust学习入门--【7】Rust 数据类型

类型系统 对于任何一门语言都是重中之重,因为它体现了语言所支持的不同类型的值。 类型系统 也是 IT 初学者最难啃的三座大山之一,而类型系统之所以难以理解,主要是没有合适的现成的参考体系。 我们说类型系统 存在的目的,就是 …...

阅读MySQL必知必会,查缺补漏

MySQL自带数据库 information_schema:是MySQL自带的数据库,主要保持MySQL数据库服务器的系统信息,比如数据库的名称,数据库表的名称,字段名称,存储权限等。 performance_schema:是MySQL系统自…...

MySQL数据库10——多表连接查询

数据如果在多个表里面,需要进行连接查询。 一般在pandas里面merge合并会用到一个索引,按这个索引的规则进行合并叫做有规则的等值连接。若不按规则连接,遍历两两组合的所有可能性,叫做笛卡尔积。 笛卡尔积连接 通常人们都会设置…...

华为OD机试 - 括号检查(Python)| 真题含思路

括号检查 题目 现有一字符串 仅由 (,),{,},[,] 六种括号组成,若字符串满足以下条件之一,则为无效字符串 任意类型的左右括号数量不相等 存在未按正确顺序(先左后右)闭合的括号, 输出括号的最大嵌套深度 若字符串无效则输出 0 0 <= 字符串长度 <= 100000 输入 一个只…...

安全渗透测试中的一款免费开源的超级关键词URL采集工具

安全渗透测试中的一款免费开源的超级关键词URL采集工具。 #################### 免责声明&#xff1a;工具本身并无好坏&#xff0c;希望大家以遵守《网络安全法》相关法律为前提来使用该工具&#xff0c;支持研究学习&#xff0c;切勿用于非法犯罪活动&#xff0c;对于恶意使…...

数据资产管理实践白皮书(6.0版)解读

目录 第一章数据资产管理概述 ( 一 ) 数据资产管理和数据要素的关系...

c/c++开发,无可避免的函数指针使用案例

一、函数指针简介 函数指针是指指向函数而非指向对象的指针。像其他指针一样&#xff0c;函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定&#xff0c;而与函数名无关。例如&#xff1a; char* (*pf1)(char * p1,char *p2); 这是一个函数指针&#xff0c;其…...

QT(12)-QThreadPool

1 简介 QThreadPool是Qt框架中的一个类&#xff0c;提供了一组工作线程池。该线程池自动管理一组工作线程&#xff0c;在线程可用时分配任务。使用线程池的主要优点是&#xff0c;它可以减少创建和销毁线程的开销&#xff0c;因为可以重复使用线程。 线程池设计用于场景中&am…...

【Java|golang】1138. 字母板上的路径

我们从一块字母板上的位置 (0, 0) 出发&#xff0c;该坐标对应的字符为 board[0][0]。 在本题里&#xff0c;字母板为board [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”]&#xff0c;如下所示。 我们可以按下面的指令规则行动&#xff1a; 如果方格存…...

Flink 1.14从简单到源码第三讲

文章目录 1.flink多流操作Api1.1split 分流操作1.2.侧输出流1.3.connect 连接操作1.4.union 操作1.5 coGroup 协同分组1.6 join1.7 broadcast 广播2.process3.并行度和Api3.1 任务提交简单流程3.2 task与算子链4. Flink 时间相关(窗口计算)4.1时间语义(窗口计算)4.2 新版api指定…...

淘宝API接口系列,获取购买到的商品订单列表,卖出的商品订单列表,订单详情,订单物流,买家信息,收货地址列表,买家token

custom自定义API操作buyer_order_list获取购买到的商品订单列表buyer_order_detail获取购买到的商品订单详情buyer_order_express获取购买到的商品订单物流buyer_address_list收货地址列表buyer_address_add添加收货地址buyer_info买家信息buyer_token买家tokenseller_order_li…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...

Mac flutter环境搭建

一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...