首页 文章 精选 留言 我的

精选列表

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

docker学习(3) 容器的启动过程

这一节我们来稍微了解下docker原理性的东西 docker run -i -t ubuntu /bin/bash 输入上面这行命令,启动一个ubuntu容器时,到底发生了什么? 大致过程可以用下图描述: 首先系统要有一个docker daemon的后台进程在运行,当刚才这行命令敲下时, 1. docker client(即:docker终端命令行)会调用docker daemon请求启动一个容器, 2. docker daemon会向host os(即:linux)请求创建容器 3. linux会创建一个空的容器(可以简单理解为:一个未安装操作系统的裸机,只有虚拟出来的CPU、内存等硬件资源) 4. docker daemon请检查本机是否存在docker镜像文件(可以简单理解为操作系统安装光盘),如果有,则加载到容器中(即:光盘插入裸机,准备安装操作系统) 5. 将镜像文件加载到容器中(即:裸机上安装好了操作系统,不再是裸机状态) 最后,我们就得到了一个ubuntu的虚拟机,然后就可以进行各种操作了。 如果在第4步检查本机镜像文件时,发现文件不存在,则会到默认的docker镜像注册机构(即:docker hub网站)去联网下载,下载回来后,再进行装载到容器的动作,即下图所示 另外官网有一张图也很形象的描述了这个过程: 参考文章: https://www.gitbook.com/book/joshhu/docker_theory_install/details https://docs.docker.com/engine/introduction/understanding-docker/

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

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使得用户可以低延迟地对于结果进行访问。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册