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

贵州黔东南双控体系建设网站苏州网网站建设

贵州黔东南双控体系建设网站,苏州网网站建设,网站开发 运维 招投标,wordpress优化思路HBase 数据库 一、HBase 概述1.1 HBase 是什么HBase 的特点 二、HBase 模型及架构2.1 HBase 逻辑模型2.2 HBase 数据模型2.3 HBase 物理模型2.3.1 列簇物理模型2.3.2 Rowkey 字段排序2.3.3 Region 存储到不同节点2.3.4 Region 结构 2.4 HBase 基本架构 三、搭建 HBase 分布式集… HBase 数据库 一、HBase 概述1.1 HBase 是什么HBase 的特点 二、HBase 模型及架构2.1 HBase 逻辑模型2.2 HBase 数据模型2.3 HBase 物理模型2.3.1 列簇物理模型2.3.2 Rowkey 字段排序2.3.3 Region 存储到不同节点2.3.4 Region 结构 2.4 HBase 基本架构 三、搭建 HBase 分布式集群3.1 HBase 集群规划3.1.1 主机规划3.1.2 软件规划3.1.3 用户规划3.1.4 数据目录规划 3.2 HBase 集群安装配置3.2.1 下载上传解压3.2.2 修改配置文件3.2.2.1 修改hbase-site.xml配置文件3.2.2.2 修改regionservers配置文件3.2.2.3 修改backup-masters配置文件3.2.2.4 修改hbase-env.sh配置文件 3.2.3 配置 HBase 环境变量3.2.4 配置文件同步到集群其他节点 3.3 启动 HBase 集群服务3.3.1 启动 Zookeeper 集群3.3.2 启动 HDFS 集群3.3.3 启动 HBase 集群3.3.5 HBase Web 界面 四、HBase shell 操作 一、HBase 概述 1.1 HBase 是什么 HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库利用HBase技术可在廉价的PC Server上搭建大规模结构化存储集群。 HBase是Google BigTable的开源实现与Google的BigIable利用GFS作为其文件存储系统类似HBase则利用Hadoop的HDFS作为其文件存储系统。Google运行 MapReduce 来处理Bigtable中的海量数据而HBase则利用 Hadoop的MapReduce来处理HBase中的海量数据Google Bigtable利用Chubby作为协同服务而HBase则利用Zookeeper作为协同服务。 HBase 的特点 容量巨大:单表可以有百亿行、数百万列。无模式:同一个表的不同行可以有截然不同的列。面向列:HBase是面向列的存储和权限控制并支持列独立索引。稀疏性:表可以设计得非常稀疏值为空的列并不占用存储空间。扩展性:HBase底层文件存储依赖HDFS它天生具备可扩展性。高可靠性:HBase提供了预写日志(WAL)和副本(Replication)机制防止数据丢失。高性能:底层的LSM(Log-Structured Merge Tree)数据结构和RowKey有序排列等架构上的独特设计使得HBase具备非常高的写入性能。 二、HBase 模型及架构 2.1 HBase 逻辑模型 2.2 HBase 数据模型 表 HBase是一种列式存储的分布式数据库其核心概念是表(Table)。与传统关系型数据库一样HBase 的表也是由行和列组成但 Hase同一列可以存储不同时刻的值同时多个列可以组成一个列簇(Column Family)这种组织形式主要是出于HBase存取性能的考虑。 行键 Rowkey 既是 HBase 表的行键也是 HBase 表的主键。HBase 表中的记录是按照RowKey的字典顺序进行存储的。 在HBase中为了高效地检索数据需要设计良好的Rowkey来提高查询性能。因为Rowkey 会被几余存储所以长度不宜过长Rowkey 过长将会占用大量的存储空间同时会降低检索效率。其次 Rowkey 应该尽量均匀分布避免产生热点问题(大量用户访问集中在一个或极少数节点从而造成单台节点超出自身承受能力)。另外需要保证Rowkey的唯一性。 列簇 HBase表中的每个列都归属于某个列簇一个列簇中的所有列成员有着相同的前缀。比如,列anchor:cnnsi.com和anchor:my.look.ca都是列簇anchor的成员。列簇是表的schema的-部分必须在使用表之前定义列簇但列却不是必需的写数据的时候可以动态加入。一般将经常一起查询的列放在一个列簇中合理划分列簇将减少查询时加载到缓存的数据提高查询效率但也不能有太多的列簇因为跨列簇访问是非常低效的。 单元格 HBase中通过RowKey和Column确定的一个存储单元称为单元格(Ce11)。每个单元格都保存着同一份数据的多个版本不同时间版本的数据按照时间顺序倒序排序最新时间的数据排在最前面时间截是 64 位的整数可以由客户端在写入数据时赋值也可以由RegionServer自动赋值。 2.3 HBase 物理模型 2.3.1 列簇物理模型 2.3.2 Rowkey 字段排序 2.3.3 Region 存储到不同节点 一个表包含不同的Region一个 Region 包含不同列簇一个列簇包含不同的列 2.3.4 Region 结构 在 Region 中数据先写在内存 memStore然后再保存在磁盘文件(HDFS)中一个 Store 表示一个列簇 2.4 HBase 基本架构 HMaster管理表的增删改查、负责负载均衡Zookeeper监听HRegionServer的上下线HMaster主备切换HRegionServer负载客户端的读写请求、预写日志、管理 HRegionHRegion管理 Store写入内存写入磁盘文件HFile内容写入 HDFS 三、搭建 HBase 分布式集群 3.1 HBase 集群规划 HBase底层数据存储在HDFS之上所以构建HBase集群之前需要确保HDFS集群正常运行。为了确保数据的本地性HBase集群安装选择跟HDFS集群共享节点。 3.1.1 主机规划 仍然选择hadoop1、hadoop2和hadoop3节点安装部署HBase集群那么相关角色规划如下 hadoop1hadoop2hadoop3NameNode是是DataNode是是是Zookeeper是是是Hmaster是是HRegionServer是是是 3.1.2 软件规划 HBase集群的安装需要考虑与Hadoop版本的兼容性问题否则HBase可能无法正常运行其相关软件版本如下 软件版本位数说明JDK1.864稳定Zookeeper3.8.4稳定hadoop2.10.2稳定HBase2.1.0与Hadoop兼容 3.1.3 用户规划 HBase集群安装用户保持与Hadoop集群安装用户一致即可其用户规划如下 节点用户组用户hadoop1rootroothadoop2rootroothadoop3rootroot 3.1.4 数据目录规划 在正式安装HBase之前需要规划好所有的软件目录和数据存放目录便于后期的管理与维护。HBase目录规划如下 目录名称目录路径HBase 软件安装目录/usr/localRegionServer 共享目录hdfs://mycluster/hbaseZookeeper 数据目录/usr/local/data/zookeeper 3.2 HBase 集群安装配置 3.2.1 下载上传解压 下载地址https://archive.apache.org/dist/hbase/ 上传 解压 [roothadoop1 local]# tar -zxvf hbase-2.1.0-bin.tar.gz 创建软连接 [roothadoop1 local]# ln -s hbase-2.1.0 hbase 3.2.2 修改配置文件 进入hadoop1节点的conf目录修改HBase集群相关配置文件 3.2.2.1 修改hbase-site.xml配置文件 通过修改hbase-site.xml配置文件进行个性化配置修改内容如下所示 [roothadoop1 hbase]# vim /usr/local/hbase/conf/hbase-site.xml 添加如下内容(记得把注释去掉以免不能正常启动) configurationpropertynamehbase.zookeeper.quorum/namevaluehadoop1,hadoop2,hadoop3/valuedescription指定Zookeeper集群节点/description/propertypropertynamehbase.zookeeper.property.dataDir/namevalue/usr/local/zookeeper/data/zkdata/valuedescription指定Zookeeper数据存储目录/description/propertypropertynamehbase.zookeeper.property.clientPort/namevalue2181/valuedescription指定Zookeeper端口号/description/propertypropertynamehbase.rootdir/namevaluehdfs://mycluster/hbase/valuedescription指定HBase在HDFS上的根目录/description/propertypropertynamehbase.cluster.distributed/namevaluetrue/valuedescription指定true为分布式集群部署/description/propertypropertynamehbase.unsafe.stream.capability.enforce/namevaluefalse/valuedescription使用本地文件系统设置为false使用hdfs设置为true/description/property /configuration3.2.2.2 修改regionservers配置文件 修改regionservers配置文件添加RegionServer节点角色修改内容如下: [roothadoop1 hbase]# vim /usr/local/hbase/conf/regionservers 添加如下内容不要添加空格或最后加换行 hadoop1 hadoop2 hadoop33.2.2.3 修改backup-masters配置文件 修改backup-masters配置文件可能不存在此文件添加备用节点修改内容如下 [roothadoop1 hbase]# vim /usr/local/hbase/conf/backup-masters 添加内容如下 hadoop2因为HBase的HMaster角色需要配置高可用所以这里选择hadoop2为备用节点。 3.2.2.4 修改hbase-env.sh配置文件 修改hbase-env.sh配置文件添加相关环境变量修改内容如下 [roothadoop1 hbase]# vim /usr/local/hbase/conf/hbase-env.sh 修改如下内容注释部分记得去掉 # 配置jdk安装路径 export JAVA_HOME/usr/local/jdk # 使用独立的Zookeeper集群 export HBASE_MANAGES_ZKfalse 3.2.3 配置 HBase 环境变量 添加HBase环境变量添加内容如下 [roothadoop1 hbase]# vim /etc/profile 添加如下内容 # 添加 HBase 环境变量 HBASE_HOME/usr/local/hbase PATH$HBASE_HOME/bin:$PATH export HIVE_HOME PATH更新环境变量 [roothadoop1 hbase]# source /etc/profile# 添加 HBase 环境变量 HBASE_HOME/usr/local/hbase PATH$HBASE_HOME/bin:$PATH export HIVE_HOME PATH 3.2.4 配置文件同步到集群其他节点 将hadoop1节点中配置好的HBase安装目录分发给hadoop2和hadoop3节点因为HBase集群配置都是一样的。这里使用工具 deploy.sh 和 runRemoteCmd.sh 命令进行分发ZooKeeper 集群的详细部署的4.1章节具体操作如下 [roothadoop1 tools]# deploy.sh /usr/local/hbase-2.1.0 /usr/local/ slave [roothadoop1 tools]# deploy.sh /etc/profile /etc slave [roothadoop1 tools]# runRemoteCmd.sh ln -s /usr/local/hbase-2.1.0 /usr/local/hbase slave 3.3 启动 HBase 集群服务 3.3.1 启动 Zookeeper 集群 [roothadoop1 tools]# runRemoteCmd.sh /usr/local/zookeeper/bin/zkServer.sh start all 3.3.2 启动 HDFS 集群 [roothadoop1 tools]# /usr/local/hadoop/sbin/start-dfs.sh 3.3.3 启动 HBase 集群 [roothadoop1 tools]# /usr/local/hbase/bin/start-hbase.sh 日志提示报错 上面提示是缺少 htrace.SamplerBuilder类如下操作再重新启动 [roothadoop1 client-facing-thirdparty]# cp /usr/local/hbase/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar /usr/local/hbase/lib/ 3.3.5 HBase Web 界面 四、HBase shell 操作 进入 HBbase shell [roothadoop1 hbase]# /usr/local/hbase/bin/hbase shell 创建 course 表 hbase(main):005:0 create course,cf 查看 HBase 所有表 hbase(main):006:0 list 查看 course 表结构 hbase(main):008:0 describe course 向 course 表插入数据 put course,001,cf:cname,hbase put course,001,cf:score,95 put course,002,cf:cname,sqoop put course,002,cf:score,85 put course,003,cf:cname,flume put course,003,cf:score,98查询 course 表中的所有数据 hbase(main):015:0 scan course 根据行键查询 course 表 查询整条记录 hbase(main):023:0 get course,001- 查询一个列簇数据hbase(main):025:0 get course,001,cf- 查询列簇中其中的一个列 hbase(main):026:0 get course,001,cf:cname更新 course 表数据 hbase(main):027:0 put course,001,cf:score,99 hbase(main):028:0 get course,001,cf:score查询 course 表总记录 hbase(main):029:0 count course删除 course 表数据 删除列簇中的一列 hbase(main):031:0 delete course,003,cf:score hbase(main):034:0 scan course- 删除整行记录 hbase(main):033:0 deleteall course,002 hbase(main):034:0 scan course清空 course 表 hbase(main):035:0 truncate course hbase(main):036:0 scan course删除 course 表 hbase(main):037:0 disable course hbase(main):038:0 drop course查看表是否存在 hbase(main):040:0 exists course
http://www.hkea.cn/news/14573597/

相关文章:

  • 大同做网站网站注销主体注销
  • 怎么模仿一个网站兔展制作h5页面模板
  • 免费建企业网站哪个好校园超市网站开发
  • 简单的电商网站开发seo及网络推广招聘
  • 网站关键词价格百度seo优化及推广
  • 广州旅游网站建设设计艺术设计类网站
  • 做暧暧网站免费手机优化游戏性能的软件
  • 关于网站建设的参考文献网页设计建网站流程
  • cnzz网站排名是怎么做的网站投注建设
  • 网站维护需要做什么可以做网站的电脑软件
  • 宿州做网站的公司互联网外包公司名单
  • 怎么做网站底部文件wordpress 主题新建页面
  • 网站的竞争对手摄影师招聘网站
  • 网站入口你会回来感谢我的办公系统
  • 视觉设计工作室惠州seo关键词排名
  • 没域名 打开网站做商城网站要请程序员吗
  • 专业做家具的网站有哪些wordpress in depth
  • 网站建设程序都有哪些wordpress主题授权机制
  • 阿里云网站建设里云官网模版郑州福千欣隆网站建设有限公司
  • 学校网站建设领导小组织梦网站模板响应式
  • 网站开发设计资讯谷歌外链工具
  • 电子商务网站设计岗位主要是太原网站建设方案
  • 如何制作网站新手教程seo快速排名软件案例
  • 关于企业网站建设的提案移动网站建设是什么意思
  • 网站优化怎么做 有什么技巧张家港网站制作网络推广
  • html静态网站开发技术开发包括软件开发吗
  • 如何提升网站百度权重萧山做网站公司
  • 网站怎么推广怎么做的做网站导航栏素材图
  • 成都私人网站制作公司滨海企业做网站多少钱
  • 公司电商网站开发合同商贸有限公司章程范本