HBase最佳实践-集群规划----非常详细

HBase 管理,性能调优 HBase 管理,性能调优 标签(空格分隔): HBase 性能优化 PERFORMANCE TUNING Hadoop 注:该文的原文是 HBASE ADMINISTRATION, PERFORMANCE TUNING 设置 Hadoop 来扩展磁盘 I/O 现代服务器通常有多个磁盘硬件来提供大存储能力。这些磁盘通常配置成 RAID 阵列,作为它们的出厂设置。这在很多情况 阅读详情

HBase自身具有极好的扩展性,也因此,构建扩展集群是它的天生强项之一。在实际线上应用中很多业务都运行在一个集群上,业务之间共享集群硬件、软件资源。那问题来了,一个集群上面到底应该运行哪些业务可以最大程度上利用系统的软硬件资源?另外,对于一个给定业务来说,应该如何规划集群的硬件容量才能使得资源不浪费?最后,一个给定的RegionServer上到底部署多少Region比较合适?想必这些问题都曾经困惑过很多HBaser,那本文将结合前人的分享以及笔者的经验简单的对这三个问题分别进行解析,抛砖引玉,希望大家能够针对这几个话题进行深入的交流!

集群业务规划

一般而言,一个HBase集群上很少只跑一个业务,大多数情况都是多个业务共享集群,实际上就是共享系统软硬件资源。这里通常涉及两大问题,其一是业务之间资源隔离问题,就是将各个业务在逻辑上隔离开来,互相不受影响,这个问题产生于业务共享场景下一旦某一业务一段时间内流量猛增必然会因为过度消耗系统资源而影响其他业务;其二就是共享情况下如何使得系统资源利用率最高,理想情况下当然希望集群中所有软硬件资源都得到最大程度利用。前者本次并不讨论,后期会开’专场’讨论,本节主要就后者进行探讨。

使得集群系统资源最大化利用,那首先要看业务对系统资源的需求情况。经过对线上业务的梳理,通常可将这些业务分为如下几类:

1. 硬盘容量敏感型业务:这类业务对读写延迟以及吞吐量都没有很大的要求,唯一的需要就是硬盘容量。比如大多数离线读写分析业务,上层应用一般每隔一段时间批量写入大量数据,然后读取也是定期批量读取大量数据。特点:离线写、离线读,需求硬盘容量

2. 带宽敏感型业务:这类业务大多数写入吞吐量很大,但对读取吞吐量没有什么要求。比如日志实时存储业务,上层应用通过kafka将海量日志实时传输过来,要求能够实时写入,而读取场景一般是离线分析或者在上次业务遇到异常的时候对日志进行检索。特点:在线写、离线读,需求带宽

3. IO敏感型业务:相比前面两类业务来说,IO敏感型业务一般都是较为核心的业务。这类业务对读写延迟要求较高,尤其对于读取延迟通常在100ms以内,部分业务可能要求更高。比如在线消息存储系统、历史订单系统、实时推荐系统等。特点:在(离)线写、在线读,需求内存、高IOPS介质

(而对于CPU资源,HBase本身就是CPU敏感型系统,主要用于数据块的压缩/解压缩,所有业务都对CPU有共同的需求)

一个集群想要资源利用率最大化,一个思路就是各个业务之间‘扬长避短’,合理搭配,各取所需。实际上就是上述几种类型的业务能够混合分布,建议不要将同一种类型的业务太多分布在同一个集群。因此一个集群理论上资源利用率比较高效的配置为:硬盘敏感型业务 + 带宽敏感型业务 + IO敏感型业务。

另外,集群业务规划的时候除了考虑资源使用率最大化这个问题之外,还需要考虑实际运维的需求。建议将核心业务和非核心业务分布在同一个集群,强烈建议不要将太多核心业务同时分布在同一个集群。这主要有两方面的考虑:

1. 一方面是因为‘一山不容二虎’,核心业务共享资源必然会产生竞争,一旦出现竞争无论哪个业务’落败’都不是我们愿意看到的;

2. 另一方面在特殊场景下方便运维童鞋进行降级处理,比如类似于淘宝双十一这类大促活动,某个核心业务预期会有很大的流量涌入,为了保证核心业务的平稳,在资源共享的情况下只能牺牲其他非核心业务,在和非核心业务方充分交流沟通的基础上限制这些业务的资源使用,在流量极限的时候甚至可以直接停掉这些非核心业务。试想,如果是很多核心业务共享集群的话,哪个核心业务愿意轻易让路?

那有些同学就说了:如果按照你这样设计,那岂不是会产生很多小集群。的确,这种设计会产生很多小集群,相信如果没有资源隔离的话,小集群是没法避免的。有些使用’rsgroup’进行业务资源隔离的集群会做的很大,大集群通过隔离会将业务独立分布到很多独立的RS上,这样实际上就产生了很多逻辑上的小集群,那么,这些小集群同样适用上面提出的规划思路。

集群容量规划

每个季度公司都会要求采购新机器,一般情况下机器的规格(硬盘总容量、内存大小、CPU规格)都是固定的。假如现在一台RegionServer的硬盘规格是3.6T * 12,总内存大小为128G,从理论上来说这样的配置是否会有资源浪费?如果有的话是硬盘浪费还是内存浪费?那合理的硬盘/内存搭配应该是什么样?和哪些影响因素有关?

这里需要提出一个’Disk / Java Heap Ratio’的概念,意思是说一台RegionServer上1bytes的Java内存大小需要搭配多大的硬盘大小最合理。在给出合理的解释在前,先把结果给出来:

Disk Size / Java Heap = RegionSize / MemstoreSize * ReplicationFactor * HeapFractionForMemstore * 2

按照默认配置,RegionSize = 10G,对应参数为hbase.hregion.max.filesize;MemstoreSize = 128M,对应参数为hbase.hregion.memstore.flush.size;ReplicationFactor = 3,对应参数为dfs.replication;HeapFractionForMemstore = 0.4,对应参数为hbase.regionserver.global.memstore.lowerLimit;

计算为:10G / 128M * 3 * 0.4 * 2 = 192,意思是说RegionServer上1bytes的Java内存大小需要搭配192bytes的硬盘大小最合理,再回到之前给出的问题,128G的内存总大小,拿出96G作为Java内存用于RegionServer,那对应需要搭配96G * 192 = 18T硬盘容量,而实际采购机器配置的是36T,说明在默认配置条件下会有几乎一半硬盘被浪费。

计算公式是如何’冒’出来的?

再回过头来看看那个计算公式是怎么’冒’出来的,其实很简单,只需要从硬盘容量纬度和Java Heap纬度两方面计算Region个数,再令两者相等就可以推导出来,如下:

硬盘容量纬度下Region个数:Disk Size / (RegionSize *ReplicationFactor) 

Java Heap纬度下Region个数:Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 ) 

Disk Size / (RegionSize *ReplicationFactor)  = Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 ) 

=> Disk Size / Java Heap = RegionSize / MemstoreSize * ReplicationFactor * HeapFractionForMemstore * 2

这样的公式有什么具体意义?

1. 最直观的意义就是判断在当前给定配置下是否会有资源浪费,内存资源和硬盘资源是否匹配。

2. 那反过来,如果已经给定了硬件资源,比如硬件采购部已经采购了当前机器内存128G,分配给Java Heap为96G,而硬盘是40T,很显然两者是不匹配的,那能不能通过修改HBase配置来使得两者匹配?当然可以,可以通过增大RegionSize或者减少MemstoreSize来实现,比如将默认的RegionSize由10G增大到20G,此时Disk Size / Java Heap = 384,96G * 384 = 36T,基本就可以使得硬盘和内存达到匹配。

3. 另外,如果给定配置下内存硬盘不匹配,那实际场景下内存’浪费’好呢还是硬盘’浪费’好?答案是内存’浪费’好,比如采购的机器Java Heap可以分配到126G,而总硬盘容量只有18T,默认配置下必然是Java Heap有浪费,但是可以通过修改HBase配置将多余的内存资源分配给HBase读缓存BlockCache,这样就可以保证Java Heap并没有实际浪费。

另外,还有这些资源需要注意…

带宽资源:因为HBase在大量scan以及高吞吐量写入的时候特别耗费网络带宽资源,强烈建议HBase集群部署在万兆交换机机房,单台机器最好也是万兆网卡+bond。如果特殊情况交换机是千兆网卡,一定要保证所有的RegionServer机器部署在同一个交换机下,跨交换机会导致写入延迟很大,严重影响业务写入性能。

 CPU资源:HBase是一个CPU敏感型业务,无论数据写入读取,都会因为大量的压缩解压操作,特别耗费计算资源。因此对于HBase来说,CPU越多越好。

参考:

http://hadoop-hbase.blogspot.com/2013/01/hbase-region-server-memory-sizing.html

Region规划

Region规划主要涉及到两个方面:Region个数规划以及单Region大小规划,这两个方面并不独立,而是相互关联的,大Region对应的Region个数少,小Region对应的Region个数多。Region规划相信是很多HBase运维同学比较关心的问题,一个给定规格的RegionServer上运行多少Region比较合适,在刚开始接触HBase的时候,这个问题也一直困扰着笔者。在实际应用中,Region太多或者太少都有一定的利弊:

 

 优点    缺点

大量小Region

1. 更加有利于集群之间负载分布

 

2. 有利于高效平稳的Compaction,这是因为小Region中HFile相对较小,Compaction代价小,详情可见:Stripe Compaction

 

1. 最直接的影响:在某台RegionServer异常宕机或者重启的情况下大量小Region重分配以及迁移是一个很耗时的操作,一般一个Region迁移需要1.5s~2.5s左右,Region个数越多,迁移时间越长。直接导致failover时间很长。

 

2. 大量小Region有可能会产生更加频繁的flush,产生很多小文件,进而引起不必要的Compaction。特殊场景下,一旦Region数超过一个阈值,将会导致整个RegionServer级别的flush,严重阻塞用户读写。

 

3. RegionServer管理维护开销很大

 

少量大Region

1. 有利于RegionServer的快速重启以及宕机恢复

 

2. 可以减少总的RCP数量

 

3. 有利于产生更少的、更大的flush

 

1. Compaction效果很差,会引起较大的数据写入抖动,稳定性较差

 

2. 不利于集群之间负载均衡

 

可以看出来,在HBase当前工作模式下,Region太多或者太少都不是一件太好的事情,在实际线上环境需要选择一个折中点。官方文档给出的一个推荐范围在20~200之间,而单个Region大小控制在10G~30G,比较符合实际情况。

然而,HBase并不能直接配置一台RegionServer上的Region数,Region数最直接取决于RegionSize的大小配置hbase.hregion.max.filesize,HBase认为,一旦某个Region的大小大于配置值,就会进行分裂。

hbase.hregion.max.filesize默认为10G,如果一台RegionServer预期运行100个Region,那单台RegionServer上数据量预估值就为:10G * 100 * 3 = 3T。反过来想,如果一台RegionServer上想存储12T数据量,那按照单Region为10G计算,就会分裂出400个Region,很显然不合理。此时就需要调整参数hbase.hregion.max.filesize,将此值适度调大,调整为20G或者30G。而实际上当下单台物理机所能配置的硬盘越来越大,比如36T已经很普遍,如果想把所有容量都用来存储数据,依然假设一台RegionServer上分布100个Region,那么每个Region的大小将会达到可怕的120G,一旦执行Compaction将会是一个灾难。

可见,对于当下的HBase,如果想让HBase工作的更加平稳(Region个数控制在20~200之间,单Region大小控制在10G~30G之间),最多可以存储的数据量差不多为200 * 30G * 3= 18T。如果存储的数据量超过18T,必然会引起或多或少的性能问题。所以说,从Region规模这个角度讲,当前单台RegionServer能够合理利用起来的硬盘容量上限基本为18T。

然而随着硬件成本的不断下降,单台RegionServer可以轻松配置40T+的硬盘容量,如果按照上述说法,越来越多的硬盘其实只是’镜中月,水中花’。社区也意识到了这样的问题,在当前Region的概念下提出了Sub-Region的概念,可以简单理解为将当前的Region切分为很多逻辑上小的Sub-Region。Region还是以前的Region,只是所有之前以Region为单位进行的Compaction将会以更小的Sub-Region粒度执行。这样,单Region就可以配置的很大,比如50G、100G,此时单台RegionServer上也就可以存储更多的数据。个人认为Sub-Region功能将会是HBase开发的一个重点。

总结

本文结合HBase相关理论知识以及笔者的实际经验,对HBase集群规划中最常见的三个问题 - 业务规划、容量规划以及Region规划做了简单的解析,希望给大家一些启发和思考。线上集群规划是一个经验积累的过程,相信每个HBase运维同学或多或少都会碰到一些坑,也肯定会有自己的思考和见解,本文是一篇转载的文章,原作者讲解的非常详细,感兴趣的同学可以直接访问上述原文连接。

============================================================================

以下记录原作者与评论之间的问答,对我很有帮助,这里我一并记录下来,再次感谢原作者,膜拜大神:

问题一:

作者你好,这个公式Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 ) ,为什么MemstoreSize / 2?

回答:

一般认为Memstore只有一半空间充满~

问题二:

感谢回复,还想请教下,“一半”这个值是怎么得到的,对应hbase的某个配置参数还是根据平时使用经验估计的。
另外,我们现在设备大概9T硬盘,Hbase Java Heap = 64G,写多读少场景
hbase.regionserver.global.memstore.size = 0.5
hbase.regionserver.global.memstore.size.lower.limit = 0.45
hfile.block.cache.size = 0.25
hbase.hregion.memstore.flush.size = 256M
hbase.hregion.memstore.block.multiplier = 8
hbase.hregion.max.filesize = 15G //replicate=3,最多200region
这些参数这么配置合适吗?

回答:硬盘相对来说有点小 在这样的硬盘大小下RegionSize为15G,3副本,200个Region就9T数据 建议预留一定的硬盘 所以hbase.hregion.max.filesize = 10G可能会比较合适

问题三:

感谢您的分享,关于集群中磁盘阵列使用什么模式比较合适呢?JBOD 还是RAID 0 或者是其他的,怎么评估?

回答:

HBase磁盘阵列模式选择理论上取决于Hadoop磁盘阵列模式 通常Hadoop可能会倾向于选择JBOD 可以参考:http://zh.hortonworks.com/blog/why-not-raid-0-its-about-time-and-snowflakes/

有两点原因:
1. 坏盘影响:如果是RAID 0,一旦某个盘坏掉,需要卸载这个盘,而且必须要重新挂载一个新盘上去才能恢复读写,不然整个DN就需要从集群踢掉;而如果是JBOD,一旦某个盘坏掉,只需要卸载这个盘,集群就能自动检测到并恢复正常
2. 长尾效应:RAID 0场景下读写性能基本取决于最差的一块盘的读写性能,这个可能会有一些影响

当然实际操作中具体选择JBOD还是RAID 0需要结合公司提供的方案来定 个人觉得RAID 0短期来看更有性能优势 长远来看JBOD可能会更好

问题四:

我们每台RegionServer 挂载的硬盘是10T ,目前采用的是RAI 0磁盘阵列,数据冷热程度随着时间越来越冷并且为写多读少的场景。由于种种原因公司使用的是千兆网卡,现在极其担心某个RegionServer 挂掉,造成整个集群资源带宽不够。这个场景是不是更适合JBOD 而不是RAID 0 ?JBOD 会不会成为写入的性能瓶颈呢。

回答:

1. 一个RegionServer挂掉可能会导致集群资源不够 而且在千兆网卡条件下写性能以及scan性能都有可能带宽瓶颈 不过这个场景和JBOD以及RAID 0没关系 。
2. 所有磁盘组成RAID 0会有一个问题,就是如果一块盘性能不好或者性能下降可能会导致scan性能下降,还有就是坏盘影响。
3. 写入通常会将单台RS上的所有硬盘带宽都充分利用,通俗讲就是所有盘都在写,所以RAID 0条带化对性能提升带来的优化并不明显,所以JBOD不会成为写入性能瓶颈

问题五:JBOD能否发挥多盘并发写入性能呢?每块盘单独做RAID 0不知道是不是更好,”坏盘影响”是不是也会存在?

回答:

每块盘单独做RAID 0也可以的

问题六:

楼主,你好,如果hbase.hregion.max.filesize设置太小,那么region的分裂几率就增大了,而分裂是比较消耗资源的,进而会影响到hbase实时写入的性能;所以在我的集群上我把hbase.hregion.max.filesize设置的非常大,有100-300g大小,这样大小是我评估了我总存储量,然后在表格里设置预分区,这样regionsize* regionnum=allsize(总存储量);而且我设置了hbase.hregion.majorcompaction=0,这样虽然避免了频繁的split与major,但是你的博客中“那么每个Region的大小将会达到可怕的120G,一旦执行Compaction将会是一个灾难”,这句话是指major的合并么?我现在还没有手动major,准备挑在周末去major table 试一下,不知道会不会出现啥问题?再询问一下,像这种要存储的数据量比较大,而且要实时入库的,除了设置hbase.hregion.max.filesize避免分裂与合并,还有什么好方法么?

回答:

这么大的region执行compaction会消耗大量的io资源和带宽资源,对系统读写有很大的影响。分裂对写入为什么会有影响?

问题七:

我现在要做的是实时入库,我采用了flume+kafka+sparkstreaming入库hbase,每10秒一个bach,如果hbase表格正在做split或者major compaction,在region出现两种情况的同时,我的bach就会变慢,一般我的bach是5-6秒,但是在上面两种情况下,我的bach要跑1到2分钟才能跑完,而且没两分钟就出现一次,这样我streaming就永远也追不上来了,数据入库延迟越来越大。。我解决上面慢的问题就是这篇csdn的博客上解决的,https://blog.youkuaiyun.com/imgxr/article/details/80130456,好像也是您的博客?如果我开启自动split,与major compaction也能实时入库么?

回答:

自动split可以开的,不过需要做好预分区和rowkey散列;major compaction建议手动执行;

问题八:

Java Heap纬度下Region个数:Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 )

对这个2感觉比较疑惑,请问下这个2代表的含义?

回答:除以2表示memstore平均只使用到一半,没有用满

问题九:一个hbase集群,对于表的个数不限定吧,反正只要所有表总的region的个数推荐范围在20~200之间,而单个Region大小控制在10G~30G,就可以是吧?

回答:对表没有限定

问题十:

我发现HBase有一个Replication机制 ,这个机制我查了下,是用于HBase集群备份用的,说有这么几个用途:
1、数据备份和容灾恢复
2、数据归集
3、数据地理分布
4、在线数据服务和线下数据分析

我有几个疑问:
1、数据备份有必要嘛?hdfs本身不就有副本功能,HBase数据肯定不会丢呀,除非hdfs服务器全部都被炸了,才可能丢数据,所以我觉得Replication机制用来数据备份应该是没啥意义吧

2、容灾恢复,我猜是不是比如我有2个机房,每个机房都是一个HBase集群,一个提供服务一个作为备份,然后第一个机房全瘫了,比如网线被挖断了,马上把第二个机房启用作为主服务,这样恢复得快

3、什么是数据地理分布?这个也没查到,可否简单说下

回答:

1. 如果使用HDFS三副本做数据备份,而且做的足够好(跨机架、跨机房),再使用replication做数据备份意义确实不大。
2. replication可能更大的作用是服务高可用
3. 数据地理分布我理解应该是异地跨机房部署吧

问题十一:“特殊场景下,一旦Region数超过一个阈值,将会导致整个RegionServer级别的flush,严重阻塞用户读写。”这里的region数超过一个阈值,是指region数多,那么memstore就会多,总量加起来超过rs总量设定的百分比,就会导致rs级别flush?亦或是rs的hlog文件数超过限制?

回答:恩 第一种理解 总实际占用的memstore大小超过rs设定的百分比 导致rs级别flush

 

大数据平台搭建及集群规划 例如,假设总共需要存储 800TB 的数据,HDFS 的块副本数为 3,如果每个 DataNode 配置 10 块 8T 的硬盘,那么,采购 30 台 DataNode 服务器即可。在每个机柜中都可部署相应的 Hadoop 服务,可以看出,机柜 1 和 2 分别部署了 NameNode 的主、被节点,这两个主、备节点分开部署到不同的机柜,可以最大限度保证 NameNode 的可靠性,不建议将主、备节点部署到同一个机柜中,因为如果某个机柜发生故障(电源故障、网络故障),那么主、备将失去存在的意义。 阅读详情

相关推荐

Hbase集群管理与实践

通过本指南的实践,您将能够构建出高性能、高可用的HBase集群。:RegionServer的MemStore使用率持续高于90%附:HBase 2.x版本新特性速览。

Debugtheworld的博客 988

hbase+hive+impala 报gc overhead limit exceeded

简单说一下情况,由于impala查询hbase效率低,准备把hbase里的数据拷贝到impala里,数据量应该在几十亿到上百亿,机器配置是13个节点,每个节点128G内存,总是在三十多亿数据的时候报gc overhead limit exceeded,尝试修改了一些参数还是报错,现在应该怎么办。 是impala查询的时候报错吗? 总的来说,还是内存方面配置的问题。 比如取消内存限制 set mem_limit=-1 或则修改配置文件 Impala Daemon 内存限制 mem_limit=-1b 单

萌兔兔MMQ!! 453

HBase 集群集成之部署 HBase 集群(依赖 ZooKeeper),与 HDFS 集成,测试大规模数据读写

数据节点,负责处理数据的读写请求,管理多个 Region。:管理节点,负责表的管理操作(创建、删除、修改)、RegionServer 的负载均衡和故障转移。通过以上部署和测试流程,你可以成功地搭建一个高可用的 HBase 生产集群,并全面了解其性能表现。这是最重要的界面,可以看到集群概览、所有 RegionServer 的状态、表列表等。这是最重要的文件,配置集群模式、ZooKeeper 和 HDFS 集成。创建此文件(如果不存在),列出备用 HMaster 的主机名,每行一个。

u012024132的专栏 1446

HBase内存配置及JVM优化

本文从HBase的内存布局说起,先充分了解HBase的内存区的使用与分配,随后给出了不同业务场景下的读写内存分配规划,并指导如何分析业务的内存使用情况,以及在使用当中写内存Memstore及读内存扩展bucketcache的一些注意事项,最后为了保障群集的稳定性减少和降低GC对于集群稳定性的影响,研究及分享了一些关于HBase JVM配置的一些关键参数机器作用和范例,希望这些不断充实的经验能确保HBase集群的稳定性能更上一个台阶,大家有任何的想法和建议也欢迎一起讨论。

mnasd的博客 2751

FreeRTOS系统CPU使用率统计

操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。

灵哎惹,凌沃敏的博客 1381

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

hbase中region的规划与硬盘配置分析

Hbase在逻辑上的存储最小单位是Region,物理上来说事HFile。每个Region由多个HFile组成。那么,是否有一个推荐值,确定每台regionserver上运行多少个region,,每个region的size多大是最合适的呢?       看到《Hbase权威指南》中有一段话写道:       It is noted in the Bigtablepaper that the ai

bluekeyv的专栏 5332

宝塔面板全栈部署指南:Node后端+React前端与数据库配置实战

本文提供了一份详尽的宝塔面板全栈部署实战指南,涵盖Node.js后端、React前端与数据库的完整配置流程。文章深入解析了环境准备、数据库创建与导入、Node服务部署、PM2进程守护、React应用构建与托管,以及线上环境变量管理与安全配置等核心步骤,帮助开发者高效、稳定地将项目部署至生产环境。

weixin_29232121的博客 90

HBase最佳实践 - 集群规划

本文由 网易云 发布作者:范欣欣本篇文章仅限本站分享,如需转载,请联系网易获取授权。HBase自身具有极好的扩展性,也因此,构建扩展集群是它的天生强项之一。在实际线上应用中很多业务都运行在一个集群上,业务之间共享集群硬件、软件资源。那问题来了,一个集群上面到底应该运行哪些业务可以最大程度上利用系统的软硬件资源?另外,对于一个给定业务来说,应该如何规划集群的硬件容量才能使得资源不浪费?最后,一个给定...

网易数帆社区博客 1242

UE5热更新(通过Pak包加载关卡资源,并添加到流关卡)

请先阅读我上一篇文章)**

xialuhui的博客 6456

ADAS工作原理解析:如何通过智能技术提升驾驶安全

ADAS通过集成传感器、摄像头、雷达、SoC计算单元以及高效的数据融合技术,提供了一系列主动和被动安全功能,如自动刹车、车道保持、自适应巡航控制等。这些功能共同作用,不仅减少了交通事故的发生,还大幅提升了驾驶员的驾驶体验和安全性。随着技术的进步,ADAS的功能将越来越智能,最终迈向全自动驾驶的未来🚗💨。

weixin_43199439的博客 1149

读书笔记-HBase in Action-第四部分-(1)部署

最后一部分了。。。分两章吧。HBase和Hadoop紧密相关,更为具体的部署和运维内容推荐HadoopOperations和HBaseAdministration Cookbook。本文粗粒度列出一些HBase部署运维的最佳实践和基本原则。 集群规划 一个完整的HBase集群包含HBase Master,ZooKeeper,RegionServers和Hadoop相关组件。生产集群按照规模

Idontwantobe 1869

GEE:连续变化检测 CCDC 提取断点信息(干扰时间、干扰幅度、干扰次数)

本文将介绍在 Google Earth Engine (GEE) 平台上连续变化检测与分类(Continuous Change Detection and Classification, CCDC)提取扰动时间、干扰幅度、干扰次数信息,并下载到本地的代码。

养乐多的博客 1945

大数据领域 HBase 的架构设计最佳实践

列族(Column Family):HBase的“列分组”,是表的 schema 中唯一需要预定义的部分(比如user_info列族包含nameagephone等列);RowKey:HBase的“主键”,是行的唯一标识,按字典序排序;Cell:HBase的“最小数据单元”,由RowKey + 列族 + 列 + 时间戳唯一确定;LSM树(Log-Structured Merge Tree):HBase的“存储引擎”,用“写优先”的策略解决高并发写入问题。写多读少(如日志、物联网时序数据);

Java大师兄的博客 452

地统计插值学习心得(一)

(创建地统计图层工具用于根据现有的地统计图层或者地统计模型来创建包含新要素数据集的地统计图层,也就是使用构建好的地统计模型用到新的数据集中)这表明,远离极值的区域预测不受极值的影响,并且还表明,包括极值会导致钼元素浓度高的区域周围的预测明显变高。通常,我们使用同一个数据集进行建模和预测,但是在实际插值过程中,这两步的数据可以是不同的,这就是处理极值的诀窍。如果你的数据集有无法忽略的极值时(比如这些钼元素浓度),一种常见的方法是首先显式移除极值进行建模,然后在预测中使用整个数据集(包括极值)。

JData_Engineer的博客 287

【FISCO-BCOS】十一、一键部署

一键部署包括以下服务:节点(FISCO-BCOS 2.0+)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、节点前置子系统(WeBASE-Front)、签名服务(WeBASE-Sign)。部署成功后,登录此网站:http://localhost:5000 访问WeBASE管理平台。快速搭建WeBASE管理台环境,方便用户快速体验WeBASE管理平台。修改节点管理子系统和签名服务组系统的mysql数据库配置。如使用root账户:改为。配置方法:参考如下指令。

naihe_fish的博客 2596

基于Hadoop HA集群部署HBase HA集群(详细版)

本文介绍Hadoop高可用(HA)集群的部署方法,重点阐述ZooKeeper在Hadoop及HBase高可用架构中的核心作用。文章首先说明ZooKeeper通过临时节点机制实现主从选举,为Hadoop NameNode和HBase Master提供故障转移支持。随后详细讲解ZooKeeper集群的配置步骤,包括myid文件设置和环境变量配置。在Hadoop HA配置部分,文章展示了core-site.xml和hdfs-site.xml的关键参数,特别是ZooKeeper服务地址和nameservice的配置

pysense的博客 5385

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HBase集群环境搭建

搭建Hbase集群

m0_70405779的博客 2413

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HBase集群部署

利用ZooKeeper作为分布式应用程序协调服务,同时存储HBase集群的元数据信息可以为HBase集群提供故障自动转移功能,以保证HBase集群的高可用。进入Hadoop安装目录的conf目录,将配置文件core-site.xml和hdfs-site.xml复制到HBase安装目录下的conf目录,用于HBase启动时读取Hadoop的核心配置信息和HDFS配置信息。在虚拟机Spark01中,通过解压缩的方式安装HBase,将HBase安装到存放应用的目录/export/servers/。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 6万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

hbase 集群规划(集群业务规划,集群容量规划,Region规划)

//hbase集群业务规划,集群容量规划,Region规划,引出问题:1、一个集群上面到底应该运行哪些业务可以最大程度上利用系统的软硬件资源?2、另外,对于一个给定业务来说,应该如何规划集群的硬件容量才能使得资源不浪费?3、最后,一个给定的RegionServer上到底部署多少Region比较合适?想必这些问题都曾经困惑过很多HBaser, 集群业务规划1、一个HBase集群上很少只跑一个业务,大...

weixin_34403693的博客 1102

HBase集群搭建

首先HBase是基于Hadoop集群和Zookeeper集群的,所以先将这两个搭建完毕 1.HBase简介及规划 简介 HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Goo...

leanaoo的博客 4272

Hadoop集群+Hbase集群搭建

想部署hadoop集群和hbase的集群,我的方式是建议先在一台虚拟机上面部署hadoop伪分布+hbase伪分布,再以这台虚拟机生成克隆,防止出现难以解决的问题,备份一台,给自己必须留一手!!!! 进行hadoop的集群时每各节点已经部署hadoop的伪分布,所以jdk和hadoop都已经安装。 软件:VMware Workstation 操作系统:linux+ubuntu服务器 Hadoop集群部署 集群规划 主节点:Master 从节点:slave1 、slave2 Ip:

qq_45976312的博客 2217

HBase最佳实践-内存规划

线上HBase集群应该如何进行参数配置?这其实是很多HBase初学者在实践环节都可能会遇到的问题,有些人会选择默认配置,有些人会选择其他公司的推荐配置;诚然,这样的参数配置在大多数情况下都能正常工作,但性能却未必最佳、资源未必都能被合理利用。本文结合笔者的实践经验,针对不同应用场景,对多种工作模式下的参数进行详细说明,并结合相关示例对集群规划中最核心模块-内存规划进行介绍。一方面希望读者能够了解H...

Data & Analysis 346

快速搭建HBase分布式集群

详尽的视频讲解,请查看该地址:https://edu.youkuaiyun.com/course/detail/9572 1.集群规划 1.1主机规划 前面的文章中,我们已经搭建了一个3节点的Hadoop分布式集群,为了保证数据的本地性,HBase集群与Hadoop集群共用节点。   1.2软件规划 前面hadoop集群使用的安装包为hadoop-2.6.0-cdh5.10.0.tar.gz,...

leifeng100200的博客 9417

HBase详解(对hbase集群搭建、读写流程、hbase的javaApi等细致入微的讲解与保姆级的图解)

细致入微的图文讲解,看了这篇文章你很难学不懂hbase

wudidahuanggua的博客 4053
上一篇: /etc/security/limits.conf 文件数值更改过大导致的任何用户都无法登陆的问题(centos 7.3)
下一篇: HBase运维实践-聊聊RIT的那点事
lcm_linux
博客等级 码龄7年 7258粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值