首页 文章 精选 留言 我的

精选列表

搜索[学习],共10000篇文章
优秀的个人博客,低调大师

HBase学习总结(4):HBase的工作原理

一、切分和分配大表 HBase中的表是由行和列组成的。HBase中的表可能达到数十亿行和数百万列。每个表的大小可能达到TB级,有时甚至PB级。这些表会切分成小一点儿的数据单位,然后分配到多台服务器上。这些小一点儿的数据单位叫region。托管region的服务器叫RegionServer。一张表由多个小一点的region组成,如图1所示。 图1 多个小一点的region组成一张表 RegionServer和HDFS DataNode典型情况下并列配置在同一物理硬件上,如图2所示。RegionServer本质上是HDFS客户端,在上面存储/访问数据。主(master)进程分配region给RegionServer,每个RegionServer一般托管多个region。 图2 RegionServer和DataNode典型情况下并列配置在同一台主机上 考虑到基础数据存储在HDFS上,所有客户端都可以在一个命名空间下访问。所有RegionServer都可以访问文件系统里同一个文件,因此RegionServer可以托管任何region,如图3所示。通过DataNode和RegionServer并列配置,理论上RegionServer可以把本地DataNode作为主要DataNode进行读写操作。 图3 RegionServer托管region的示意图 单个region大小由hbase-site.xml文件里的配置参数HBase.hregion.max.filesize决定,当一个region大小变得大于该值时,它会切分成两个region。 二、如何找到region 当一个region分配给RegionServer时,客户端应用如何知道它的位置? HBase中有两个特殊的表,-ROOT-和.META.,用来查找各种表的region位置在哪里。-ROOT-和.META.也会切分成region,其中,-ROOT-永远不会切分超过一个region,.META.和其他表一样可以按需切分成许多region。 当客户端应用要访问某行时,它先找-ROOT-表,查找什么地方可以找到负责某行的region。-ROOT-指向.META.表的region去寻找答案。.META.表由入口地址组成,客户端应用使用这个入口地址判断哪一个RegionServer托管待查找的region。这个查找过程就像是一个3层分布式B+树(如图4所示),-ROOT-表是B+树的-ROOT-节点,.META. region是-ROOT-节点的叶子,用户表的region是.META. region的叶子。 图4 -ROOT-、.META.和用户表的B+树视图 在图4中,-ROOT-表只包含了一个region,托管在RegionServer RS1上;.META.表包含了3个region,托管在RS1、RS2和RS3上面;用户表T1和T2分别包含3个和4个region,分别在RS1、RS2和RS3上面。 图5 HBase中的表分布在各个RegionServer上 如图5所示,RegionServer 1(RS1)托管用户表T1的region R1和.META.表的region M2;RegionServer 2(RS2)托管用户表的region R2、R3和.META.表的region M1;RegionServer 3(RS3)只托管了-ROOT-。 三、如何找到-ROOT-表 一个叫做ZooKeeper的系统提供了HBase系统的入口点。ZooKeeper是一种集中服务,用来维护配置信息、命名服务、提供分布式同步和提供分组服务等。这是一种高可用的、可靠的分布式配置服务。 客户端与HBase系统的交互分几个步骤,ZooKeeper是入口点。整个交互过程如图6所示。 图6 客户端与HBase系统的交互过程 从图6可以看出,交互步骤为: 第一步:客户端询问ZooKeeper,-ROOT-在哪里? 第二步:ZooKeeper回复客户端,-ROOT-在RegionServer RS1上面。 第三步:客户端询问在RS1上的-ROOT-表,哪一个.META. region可以找到表T1里的行00007? 第四步:RS1上的-ROOT-表回复客户端,在RegionServer RS3上的.META. region M2可以找到。 第五步:客户端询问RS3上的.META. region M2,在哪一个region上可以找到表T1里的行00007以及哪一个RegionServer为它提供服务? 第六步:RS3上的.META. region M2回复客户端,数据在RegionServer RS3上面的region T1R3上。 第七步:客户端发消息给RS3上面的region T1R3,要求读取行00007。 第八步:RS3上面的region T1R3将数据返回给客户端。 本人微信公众号:zhouzxi,请扫描以下二维码:

优秀的个人博客,低调大师

Hadoop学习之HBase的集群环境搭建

HBase的集群环境搭建 该集成环境是在伪分布搭建的基础上搭建 1.修改原来的伪分布hadoop1上的hbase的配置文件 #cd /usr/local/hbase/conf/ 待修改的文件:hbase-env.sh、hbase-site.xml、regionservers #vim hbase-env.sh 使用搭建的zookeeper集群环境,因此hbase自带的zookeeper设置为false,不启动。 #vim hbase-site.xml 将zookeeper集群所在的主机名,全部写进去,用逗号分开。 #vim regionservers 添加搭建hbase集群的从节点主机名,每个主机名一行 2.复制hadoop1中的hbase文件夹到hadoop2和hadoop3等其他从节点。 # scp -r hbase hadoop2:/usr/local/ # scp -r hbase hadoop3:/usr/local/ 3.复制环境变量配置文件(profile)到其他从节点 # scp -r /etc/profile hadoop2:/usr/local/ # scp -r /etc/profile hadoop3:/usr/local/ 4. 启动hbase集群 要首先启动hadoop和zookeeper,然后启动hbase #start-all.sh 在hadoop1上 # zkServer.sh start 每台机器上都要启动 #start-hbase.sh 在hadoop1上

优秀的个人博客,低调大师

【英语学习】五月份

2014-05-01(补) capsize [kæp'saɪz] 倾覆 diaper ['daɪəpə] 尿布 hashtag 标签 nite [nait] 夜间 pay homage to 表示敬意 2014-05-02 authenticity 真实性 spree [spriː] 狂欢 unflappable 镇定的 counterfeit 赝品 The problems of your past are your business. The problems of your future are my privilege. 你的过去我不愿过问,那是你的事情;你的未来我希望参与,这是我的荣幸。—《神探夏洛克》 2014-05-03(补) ravenous ['ræv(ə)nəs] 贪婪的 repository [rɪ'pɒzɪt(ə)rɪ] 贮藏室 terabyte ['terəbait] 太字节 make the cut 达到标准 rule out 排除 2014-05-04 standby ['stæn(d)baɪ] 备用品 allotment [ə'lɒtm(ə)nt] 分配 attest [ə'test] 证明 outage ['aʊtɪdʒ] 中断 The heart's memory eliminates the bad and magnifies the good. 人往往在心中清除坏的记忆,放大好的记忆。—马尔克斯 2014-05-05 discretion [dɪ'skrɛʃən] 谨慎 entreat [ɪn'trit] 恳求 do credit to 争光 have no objection to doing 不反对 have no opinion of sb 对…印象不好 2014-05-06 bolster ['bəʊlstə] 支持 deposition 证词 pertain [pə'teɪn] 属于 deep-fry ['di:p'frai] 油炸 domestic violence 家庭暴力 Respect yourself and others will respect you. 人必自重,而后人重之 2014-05-07 obliging 有礼貌的 regiment ['redʒɪm(ə)nt] 团 regime [reɪ'ʒiːm] 政体 dine [daɪn] 用餐 feverish ['fivərɪʃ] 发热的 2014-05-08 hangover ['hæŋəʊvə] 宿醉 scour ['skaʊə] 擦 itinerary [aɪ'tɪnərɪ] 旅程 peckish ['pekɪʃ] 饥饿的 lug [lʌg] 支托 savvy ['sævɪ] 理解 2014-05-09(补) household ['haʊshəʊld] 家喻户晓 scant [skænt] 不足的 crave [kreɪv] 渴望 prime time 黄金时间 We never know the love of the parent until webecome parents ourselves. 直到为人父母我们才能真正体会到父母之爱。 2014-05-10(补) middleman 中间人 steward ['stjuːəd] 管家 insole ['ɪnsəʊl] 鞋垫 ruthless ['ruːθlɪs] 无情的 ovo 由…开始 2014-05-11 stringent ['strɪndʒənt] 严厉的 paradigm ['pærə'daɪm] 范例 detrimental [,dɛtrɪ'mɛntl] 有害的 regulatory ['rɛɡjələtɔri] 管理的 remainder 剩余的 2014-05-12 vicinity [vɪ'sɪnɪtɪ] 邻近 topology [tə'pɒlədʒɪ] 拓扑学 ergodic [ɜː'gɒdɪk] 遍历性 preamble ['priæmbl] 序文 constellation 星座 2014-05-13(补) proliferate [prə'lɪfəreɪt] 增殖;扩散 reasoning ['rizənɪŋ] 推理 vacate [və'ket] 腾出 susceptible 易受影响的 as aforementioned 正如上面提到 2014-05-14 gross [grəʊs] 总共的 grossly ['ɡrosli] 非常 scavenge ['skævɪndʒ] 清除 summation 总和 commensurate 相同大小的 2014-05-15(补) low-pitched ['ləu'pitʃt] 低调的 sunscreen ['sʌnskriːn] 防晒霜 stunt [stʌnt] 特技动作 shoot [ʃuːt] 拍电影 quo 说 2014-05-16 craftsmanship 技术 Internet of Things 物联网 status quo 现状 gut [gʌt] 直觉 Bread is the staff of life. 民以食为天。 2014-05-17(补) sinister ['sɪnɪstə] 阴险的 reality show 真人秀 photogenic 上相的 get over sb 忘掉某人 undercover 秘密的 2014-05-18(补) diaper ['daɪəpə] 尿布 at the scene 当场 third wheel 电灯泡 night shift 夜班 intellectual property 知识产权 2014-05-19(补) notch [nɔtʃ] 刻痕 liken ['laɪk(ə)n] 比拟 thermostat ['θɜːməstæt] 恒温器 stagnant ['stægnənt] 停滞的 incumbent [ɪn'kʌmb(ə)nt] 在职者 2014-05-20(补) whatsoever 无论什么 passe ['pa:sei] 过时的 ominous ['ɒmɪnəs] 不吉利的 calamity [kə'læmɪtɪ] 灾难 semantic [sɪ'mæntɪk] 语义的 2014-05-21(补) sack [sæk] 解雇 drool [druːl] 流口水 macro ['mækrəʊ] 宏观的 stutter ['stʌtə] 口吃 A clean hand wants no washing. 身正不怕影子斜。

优秀的个人博客,低调大师

【Spark Summit East 2017】使用机器学习注释器和大规模深度学习本体进行语义自然语言理解

更多精彩内容参见云栖社区大数据频道https://yq.aliyun.com/big-data;此外,通过Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问https://www.aliyun.com/product/odps。 本讲义出自David Talby在Spark Summit East 2017上的演讲,主要介绍了一个通过自由文本格式的病人记录给出临床诊断推理和实时的参考意见的端到端系统,该系统的架构是构建在Kafka与Spark Streaming之上的,该系统可以实时地对于数据进行获取和加工,并使用Spark & MLLib进行建模,并通过Elasticsearch使得用户可以低延迟地对于结果进行访问。

优秀的个人博客,低调大师

Solon AI 开发学习 - 2chat - Hello World

1、部署本地大语言模型(llm) 借用 ollama 部署 llama3.2 模式(这个比较小,1G大小左右) ollama run llama3.2 # 或 deepseek-r1:7b 具体可参考:ollama 部署本地环境 2、开始新建项目(通过 solon-ai 使用 llm) 可以用Solon Initializr生成一个模板项目。新建项目之后,添加依赖: <dependency> <groupId>org.noear</groupId> <artifactId>solon-ai</artifactId> </dependency> 3、添加应用配置 在app.yml应用配置文件里,添加如下内容: solon.ai.chat: demo: apiUrl: "http://127.0.0.1:11434/api/chat" # 使用完整地址(而不是 api_base) provider: "ollama" # 使用 ollama 服务时,需要配置 provider model: "llama3.2" # 或 deepseek-r1:7b 4、添加配置类和测试代码 在项目里,添加一个 DemoConfig。概构建 ChatModel,也做测试。 import org.noear.solon.ai.chat.ChatConfig; import org.noear.solon.ai.chat.ChatModel; import org.noear.solon.ai.chat.ChatResponse; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; import java.io.IOException; @Configuration public class DemoConfig { @Bean public ChatModel build(@Inject("${solon.ai.chat.demo}") ChatConfig config) { return ChatModel.of(config).build(); } @Bean public void test(ChatModel chatModel) throws IOException { //一次性返回 ChatResponse resp = chatModel.prompt("hello").call(); //打印消息 System.out.println(resp.getMessage()); } } 5、程序启动后

优秀的个人博客,低调大师

谷歌深度学习专家 Dustin Tran 跳槽至 xAI

Dustin Tran 宣布从 Google DeepMind 跳槽至马斯克的 xAI,成为公司研发新一代 Grok 模型的重要成员。此消息在他于社交媒体上正式官宣后不久,马斯克便迅速转发,确认了这一人事变动的真实性。 Dustin Tran 是 Gemini 项目的核心开发者,自项目诞生以来,他在多个关键阶段发挥了重要作用。 从 2014 年在加州大学伯克利毕业,取得数学与统计本科学位后,Tran 继续攻读哈佛大学的统计学博士,并最终在哥伦比亚大学获得计算机科学博士学位。他在学术界的贡献也颇为显著,其论文总引用量超过 2.4 万次,曾荣获包括 Google 博士奖学金在内的多个奖项。 在离开 Google DeepMind 的长文中,Tran 深情回顾了自己在该公司的 8 年旅程,他参与了多个重要项目的开发,尤其是 Gemini 的成长过程。 他提到,最初人们对 Google 在 AI 领域的未来持悲观态度,但随着 Gemini 在用户偏好上占据领先地位以及在科研突破上的不断进展,这种看法逐渐改变。 加入 xAI 的原因,他提到的是这里的巨大算力和数据优势。Tran 对 xAI 的信心满满,认为这是研发前沿级语言模型的必备条件。尤其是 Colossus 2 的强大算力,使他意识到 xAI 在行业中的竞争力。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册