位置: IT常识 - 正文

YunTable开发日记(16)教程(0.9版RC)(开发日志模板)

编辑:rootadmin
YunTable开发日记 | 人云亦云YunTable开发日记(16)-教程(0.9版RC)Posted on January 29, 2011 by 吴朱华8为了帮助广大初学者能尽快上手YunTab

推荐整理分享YunTable开发日记(16)教程(0.9版RC)(开发日志模板),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:lon开发日志,开发日志是什么意思,开发日记介绍,开发日志怎么写,开发日记游戏,开发日志怎么写,开发日志 英文,开发日志是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

YunTable开发日记(16)-教程(0.9版RC)Posted on January 29, 2011 by 吴朱华8

为了帮助广大初学者能尽快上手YunTable,我代表整个YunTable核心团队写一篇使用教程,原因很简单,那就是我写文章比较熟练,呵呵:)

本教程将首先给大家介绍YunTable的架构和命令接口,以便能让大家对YunTable的概念和使用有一个大致的概念和影响,之后将给大家详细介绍YunTable是如何使用的,还有,如果想知道如何获取YunTable0.9版RC的源代码,请参看前一篇开发日记。

架构

图1. YunTable的架构图

图1对于很多关注YunTable的人而言已经是非常熟悉,通过这张图可以看出YunTable主要有三个模块组成:

Master节点:Master节点在功能上面属于比较“轻”的,主要负责维护Table和Region节点之间的对应关系,实际数据的查询和输入则都通过Region节点和Client端之间的交互完成,和Master节点无关。还有Master节点的默认端口是8301。 Region节点:其作用是负责处理来自Client端的请求,并存储和管理大量的数据,Region节点非常类似BigTable论文中所提到的Tablet服务器。每个Region服务器管理多个Tablet,每个Tablet对应一个Table,并负责存储属于这个Table的数据。还有Region节点的默认端口是8302。 Client端:主要以名为“YunCli”的命令行为主,主要用于让用户输入与数据处理相关的命令,并与后端的Master节点和Region节点进行交互。 命令接口

现在YunCli主要提供五类命令接口:

add:这个系列命令主要用于重要数据结构的创建,主要有三大功能:其一是设置YunCli所对应的Master节点的IP地址,由于对YunCli而言,其需要一个对应的Master节点,通过“add master:#IP-ADDRESS:PORT#”(##里面的东西代表的是需要在输入时确定的东西)能够完成整个设置,例子有“add master:127.0.0.1:8301”;其二是为Master节点添加新的Region节点,这样能确保数据有地方可存,具体命令格式和设置Master节点的相仿,为“add region:#IP-ADDRESS:PORT#”,例子有“add region:127.0.0.1:8302”;其三是创建新的Table,格式是“add table:#TABLE-NAME#”,示例:“add table:people” ,当用户输入完这个命令之后,YunCli会将这个请求发给Master节点,之后Master节点不仅会在其本身建立一个新的Table数据结构,而且还会根据Region节点的剩余空间和备份数目(Duplication Number)来确定那几个节点创建属于People这个Table的Tablet。 put:这个命令的功能比较简单,主要是用于添加一行新的数据,其格式是“put table row:#ROW-KEY# #COLUMN-NAME#:"#COLUMN-VALUE#" …”,在这个命令中,ROW-KEY是这行的主键(Primary Key),在ROW-KEY之后是多个COLUMN NAME和VALUE对。注意,用户需要使用英文的双引号来包裹带有空格等特殊字符的COLUMN VALUE。例子:“put table:people row:me name:"ike" sex:"male" address.homeaddress:"sh"”。 get:顾名思义,这个命令主要用于获取数据,主要有两种形式:其一是能获取整个Table数据的命令,格式为“get table:#TABLE_NAME#”,例子有:“get table:people”,现在这个命令对于小的Table是非常有效的,可惜对大型的Table会出现一定的问题,因为这样一次性取出的数据过大,但是这个问题会在接下来的几个Patch被解决,因为会加入Limit这个参数,来确保每次发送出来数据的大小不超过系统设定的最大值;其二是获取某一行的数据,也就是符合某一个Row Key的数据,格式为“get table:#TABLE-NAME# row:#ROW-KEY#”,例子:“get table:people row:me”。还有,但这两个命令在执行的时候,会自动舍去那些已经被标记为删除的数据。 del:这个命令主要用于删除数据,以两种形式为主:其一是删除整行数据,也就是符合某一个Row Key,并在删除之前已经存在的数据,比如有一个Row Key,在执行删除操作之后,它有新的数据插入,那么这些新的数据将被保留,格式为“del table:#TABLE-NAME# row:#ROW-KEY#”,例子:“del table:people row:me”;其二是删除某一行某几个列数据,也就是在前一个命令的基础上把范围缩小到某几个列,格式为“del table:#TABLE-NAME# row:#ROW-KEY# #COLUMN-NAME#…”,在ROW-KEY之后可以跟多个COLUMN-NAME,来代表那几个列需要被删除。例子有“del table:people row:me1 sex”。 show:这个命令主要用于得到一些核心数据,这样能方便今后的测试和管理,也主要有两种形式:其一是获取Master节点的主要信息,比如,有哪些下属的Region节点和Table,命令为“show master”;其二是获取某个Table的主要信息,比如,这个Table存储在那些Region节点、在Memstore中存储了多少Item和在YFile中存储了多少ITEM等,格式为”show table:#TABLE-NAME#”,例子是:“show table:people”。 使用流程

由于0.9版主要关注单机的实现,所以本使用教程将主要关注如何在单机的情况下使用YunEngine。

第一步:编译YunTable的源代码,需要进入YunTable的目录,接着如图2所示,在Linux窗口中执行命令“sh build.sh”。

图2. 编译YunTable的源代码

第二步:启动Master节点,如图3所示在Linux窗口中执行命令“./startMaster”,在启动的时候,程序会打印出Master节点重要信息,比如,conf文件的地址、更新间隔(Flushing Checking Interval,单位秒)、端口号和备份数目(Duplication Number)等关键信息。

图3. 启动Master节点

第三步:启动Region节点,为了不影响之前启动的Master节点的运行,需要先打开一个新的Linux窗口,接着像图4那样在Linux窗口中执行命令“./startRegion”,在启动的时候,程序也会打印出一些Region节点的关键信息,比如,conf文件的地址、更新间隔和端口号等。

图4. 启动Region节点

第四步:启动yuncli,和启动Region节点一样,需要打开一个新的Linux窗口,键入“./yuncli”,这样能进入yuncli模式,在进入的时候,程序会打印这个yuncli对应Master节点的信息,比如,像图5那样,由于之前没有给这个yuncli设置对应的Master节点,所以“No Master Connection has been setup”这句话被打印出来。

图5. 启动yuncli

第五步:Help命令,为了帮助初学者能够在yuncli中能够获得如何使用命令行的消息,程序提供“help”这个命令,通过这个命令,用户能如图6那样获知全部命令的大致作用和范例。

图6. Help命令

第六步:设置对应的Master节点,每个yuncli都需要对应一个集群,而这种对应的实现方式就是为这个yuncli设置一个Master地址,比如像图7那样,输入“add master:127.0.0.1:8301”这个命令来完成Master节点的设置。

YunTable开发日记(16)教程(0.9版RC)(开发日志模板)

图7. 设置Master节点

第七步:给Master节点添加Region节点,这样确保数据有地方可存。如图8所示,通过输入“add region:127.0.0.1:8302”命令,能够将运行在“127.0.0.1:8302”的Region加入到Master节点所管理的机器中。

图8. 添加Region节点

第八步:创建新的Table,主要用于人的信息,比如,人名和性别等,名字叫“people”。如图9所示,在yuncli中键入“add table:people”,通过这个命令能创建一个名为“people”的Table。

图9. 创建新的Table

第九步:显示Master的主要信息,如图10所示,通过在yuncli中键入“show master”这个命令来获取Master节点的主要信息,包括有哪些下属的Region节点和Table等。

图10. 显示Master的主要信息。

第十步:给People这个Table添加数据,如图11所示,通过输入“put table:people row:me name:"ike" sex:"male"”和“put table:people row:me1 name:"ikea" sex:"female"”这两行命令来插入Row Key分别为“me”和“me1”的两行数据。

图11. 添加数据

第十一步:基于Row Key的查询,如图12所示,通过输入“get table:people row:me”这个命令来从“people”这个Table获取Row Key为“me”的数据。

图12. 基于Row Key的查询

第十二步:显示Table的主要信息,像图13那样,通过输入“show table:people”这个命令来获取名为”people”这个Table的主要信息,包括这个Table存储在那些Region节点和在Memstore中存储了多少Item等。

图13. 显示Table的主要信息

第十三步:删除某一行的数据,如图14那样,通过输入“del table:people row:me”这个命令删除“people”这个Table里面Row Key为“me”的数据。

图14. 删除某一行数据

第十四步:删除某一行某一列的数据,如图15那样,通过输入“del table:people row:me1 sex”这个命令删除“people”这个Table中Row Key为“me”和Column名字为“sex”的数据。

图15. 删除某一行某一列的数据

第十五步:获取整个表的数据,将如图16那样,输入“get table:people”来获取名为“people”这个table所有还存在的数据,但由于有些数据之前已经被删除了,所以还剩的数据现在非常有限。

图16. 获取整个表的数据

第十六不:输入“quit”来退出yuncli。

最后,希望大家如果在实际使用YunTable的时候,发现什么问题,请写信到Yuntable@googlegroups.com,我们整个社区会帮你及时处理的:),还有,如果想加入这个社区,请写信给我们社区管理员Brooks(brooks.xi@gmail.com)。

本文链接地址:https://www.jiuchutong.com/zhishi/313014.html 转载请保留说明!

上一篇:python中ndarray创建的两种方法(python创建ndarray)

下一篇:JavaScript笔记(javascript基础笔记)

  • pencil一代怎么看电量(pencil一代怎么看充满电了没有)

    pencil一代怎么看电量(pencil一代怎么看充满电了没有)

  • 美团可以用云闪付支付吗(美团可以用云闪付优惠券吗)

    美团可以用云闪付支付吗(美团可以用云闪付优惠券吗)

  • 小蚁摄像机怎么连接(小蚁摄像机怎么删除一段回放)

    小蚁摄像机怎么连接(小蚁摄像机怎么删除一段回放)

  • 抖音粉丝团灯牌可以隐藏吗(抖音粉丝团灯牌名称怎么改)

    抖音粉丝团灯牌可以隐藏吗(抖音粉丝团灯牌名称怎么改)

  • 微信与苹果4s不兼容怎么办(iphone4微信用不了)

    微信与苹果4s不兼容怎么办(iphone4微信用不了)

  • 微信收藏没了怎么恢复(微信收藏没了怎么办)

    微信收藏没了怎么恢复(微信收藏没了怎么办)

  • 华为4pro手环功能(华为手环4pro功能怎么用)

    华为4pro手环功能(华为手环4pro功能怎么用)

  • 阻止来电对方会听到什么(阻止来电后对方打电话是什么状态)

    阻止来电对方会听到什么(阻止来电后对方打电话是什么状态)

  • 华为夜间安装关闭还自动更新(关闭华为夜间软件更新)

    华为夜间安装关闭还自动更新(关闭华为夜间软件更新)

  • 此评论暂时无法回复(此评论暂时无法发送)

    此评论暂时无法回复(此评论暂时无法发送)

  • 什么叫做编译(什么叫做编译预处理指令)

    什么叫做编译(什么叫做编译预处理指令)

  • 为什么soul有名字搜索不到了(soul为什么值钱)

    为什么soul有名字搜索不到了(soul为什么值钱)

  • 荣耀x10有陀螺仪吗(荣耀x10有陀螺仪没有)

    荣耀x10有陀螺仪吗(荣耀x10有陀螺仪没有)

  • 散热器对手机有害吗(手机散热器哪个牌子好)

    散热器对手机有害吗(手机散热器哪个牌子好)

  • 手机恢复出厂设置后图片不见了(手机恢复出厂设置是不是彻底干净)

    手机恢复出厂设置后图片不见了(手机恢复出厂设置是不是彻底干净)

  • 苹果电池一年内可以免费换(苹果电池一年内低于多少可以免费换)

    苹果电池一年内可以免费换(苹果电池一年内低于多少可以免费换)

  • 苹果7屏幕排线断了能修吗(苹果7屏幕排线图解)

    苹果7屏幕排线断了能修吗(苹果7屏幕排线图解)

  • 怎样在恋爱记里解除关系(怎样在恋爱记里找到对象)

    怎样在恋爱记里解除关系(怎样在恋爱记里找到对象)

  • 11pro可以双卡吗(11pro可以双卡双待?)

    11pro可以双卡吗(11pro可以双卡双待?)

  • oppo手机右上角显示无障碍是什么意思(oppo手机右上角有个耳机怎么去掉)

    oppo手机右上角显示无障碍是什么意思(oppo手机右上角有个耳机怎么去掉)

  • 蓝牙双耳机怎么同时连(蓝牙双耳机怎么充电)

    蓝牙双耳机怎么同时连(蓝牙双耳机怎么充电)

  • 相机入门选哪款(相机入门选哪款学生)

    相机入门选哪款(相机入门选哪款学生)

  • vivox9p有没有nfc(vivox9plus有没有nfc)

    vivox9p有没有nfc(vivox9plus有没有nfc)

  • 小度在家1s有什么功能(小度在家1s什么时候上市的)

    小度在家1s有什么功能(小度在家1s什么时候上市的)

  • 华为p20没有红外线还可以用智能遥控吗(华为p20没有红外线功能吗)

    华为p20没有红外线还可以用智能遥控吗(华为p20没有红外线功能吗)

  • 虎牙开直播要钱吗(虎牙开直播要钱吗现在)

    虎牙开直播要钱吗(虎牙开直播要钱吗现在)

  • 苹果cpu在哪里看(iphone cpu查看)

    苹果cpu在哪里看(iphone cpu查看)

  • CSS实现背景图片模糊——毛玻璃效果 | 浅谈CSS属性 filter、backdrop-filter(css实现背景图片变透明)

    CSS实现背景图片模糊——毛玻璃效果 | 浅谈CSS属性 filter、backdrop-filter(css实现背景图片变透明)

  • 全网最新的vue.js下载和安装的3种方法(2023年)(全网最新的暗号)

    全网最新的vue.js下载和安装的3种方法(2023年)(全网最新的暗号)

  • el-upload上传文件(el-upload上传文件必传校验)

    el-upload上传文件(el-upload上传文件必传校验)

  • 如何调整python窗口(Tkinter)大小(python如何设置窗口背景色)

    如何调整python窗口(Tkinter)大小(python如何设置窗口背景色)

  • 所得税税前扣除项目及扣除标准
  • 防伪税控风险纳税人财务负责人和法人同一人
  • 应交税费转出未交增值税借贷方表示什么
  • 工程款和借款能一起诉讼吗
  • 季度申报所得税可以研发费加计扣除
  • 未达起征点销售额,11栏怎么填写
  • 财产保险合同的被保险人自其知道
  • 利息保障倍数计算公式资本化利息
  • 小规模纳税人开票税率
  • 法院案件受理费计算器
  • 开采石头要交什么税
  • 滴滴顺风车发票图片大全
  • 公司按照实际利润额预缴企业所得税,这个实际利润额就是会计利润吗?
  • 外商投资企业税务优惠
  • 员工生育期间社保
  • 海运费怎么做会计分录
  • 事业单位是否属于中小企业
  • 可以在企业所得税税前扣除的税金有
  • 当收到转账支票时,应该如何处理?
  • 销售额的意思
  • 开发企业土地使用税计算方法
  • 小规模纳税人开票额度
  • 鸿蒙怎么开启个性化桌面
  • 在Win7系统中,文件的属性包括
  • 非盈利组织捐赠现金支需要什么资料
  • 冲销多计提个税怎么做账
  • 已经提完折旧的设备改造
  • web课程设计网页
  • 中秋福利发放现金文案怎么写
  • 复制粘贴如何提取文字
  • win11更新补丁如何删除
  • 补充协议是否缴纳印花税
  • 现金解款单的使用范围
  • 企业公益性捐赠扣除比例
  • 请问怎么清除
  • 增值税缓息是什么意思
  • 营业执照贴印花税票吗
  • 装修费用一次性计入成本
  • 高速费发票可以抵税吗
  • 4s店除了卖车还有什么
  • CMS不要让MySQL为你流泪
  • 汇总记账凭证账务处理
  • 伤残鉴定中心流程
  • 水电费分割单能报销吗
  • 收取物业费不开发票
  • 委托加工以受托方核定的数量为计税依据
  • 现金抵用券使用说明怎么写
  • 研发费用按50%的预算
  • 支付货款退回如何处理
  • 一般纳税人公司注册资金最低多少
  • 公司购轿车会计分录怎么做
  • 开户一定要去银行吗
  • 其他应收款款项性质如何填写
  • 在岗职工平均工资在哪里查询
  • 管理会计主要内容包括
  • 收到??
  • mac查找序列号
  • win10账户要求必须设置pin什么意思
  • windows server 2003如何安装
  • linux中的rpm
  • repair.exe是什么软件
  • win8怎么设置自动开机
  • mac自带系统检测软件怎么用
  • xp系统纯净版gho
  • 新款apple macbook air
  • rtos用什么语言
  • fsav32.exe是什么进程 有什么作用 fsav32进程查询
  • centos 添加服务
  • windows7看视频卡顿如何解决
  • Win10 Mobile 10586.29重要更新 可以玩wp7中的游戏
  • win10怎么关闭讲述人模式
  • mmap实现原理
  • python基础开发
  • [置顶]津鱼.我爱你
  • android DefaultHttpClient设置setCookieStore
  • javascript面向对象编程指南
  • 国家税务局服务宗旨是什么
  • 税务登记成功后在哪里查询
  • 收回闲置土地使用权案例
  • 车辆报废补贴怎么拿
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设