HBase第二天

一、版本的选择

cdh5.3.0:archive.cloudera.com/cdh5/chd/5/

下载对应的hadoop hive zookeeper hbase版本

二、角色规划

                              hadoop02       hadoop03         hadooop04      hadoop05

Master                       √                        √

Regionserver           √                         √                        √                      √

zookeeper                √                         √                        √

三、问题

1、为什么要搭建zookeeper?

2、secondaryNameNode的作用

3、建立软链接

4、不配置slaves可以吗?每台手动启动

5、集群搭建完成之后要做什么?Hadoop基准测试

测试hdfs每秒能读写多少数据?等等

6、怎样区分bin和sbin内容,各脚本之间的关系


启动Hadoop集群各脚本之间的关系

bin:

hdfs dfs -ls /          查看/创建目录

yarn jar xxx.jar       提交MR任务

sbin:

start-all.sh 由start-dfs.sh和start-yarn.sh脚本组成

start-dfs.sh:使用hadoop-daemons.sh启动zookeeper、journalnode、NameNode、secondaryNameNode、DataNode

hadoop-daemons.sh脚本中执行了bin/slaves.sh脚本

cat slaves:然后获取到我们在slaves中配置的datanode节点(参数)

如果我们使用start-dfs.sh启动集群,必须配置slaves,因为这个脚本依赖于slaves.sh脚本,如果使用hadoop-daemon.sh start namenode,不需要配置slaves,因为该脚本与slaves.sh脚本独立。

7、默认情况下载DataNode节点启动NodeManager?

           数据本地化。

四、写脚本执行自动发送

for i in hadoop03 hadoop04 hadoop05

do

nohup scp -r hadoop-2.6.5 $i:$PWD &

done

查看任务有没有执行完成

jobs

1)hdfs namenode -format 该命令是为了生成fsimage(元数据)

格式化错误问题

解决方案:删除/tmp目录下的元数据,然后再执行格式化操作

2)启动NameNode start-dfs.sh(hadoo-daemon.sh start namenode)

集群访问地址:

Hadoop--50070       

yarn---8088

zookeeper--2181

hbase--16010

3)出错查看日志

tail -100 /日志文件目录

手启master             hbase-daemon.sh start master

rm -rf *hadoop* /*cmd

五、HBase的使用场合

数据量大

功能简单

虚拟化:docker

spark

人工智能:机器学习 深度学习

hbase-site.xml 配置访问地址

     hdfs端口号:8020/9000

     zookeeper集群访问地址

hbase-env.sh 两种方式都可以,无所谓好坏

      HBASE_MANAGES_ZK=true表示用HBase自带zookeeper

      HBASE_MANAGES_ZK=false表示用外面自己搭建的zookeeper

配置regionservers:zookeeper节点

实现HA:bachup_masters

问题:hdfs的地址:配成myha01,只是一个逻辑名,它是怎么识别的?

我们怎么让它知道?答:把配置myha01的文件复制到conf目录下。还有一种高级的方式:调用脚本让该文件自己找到我们的core-site.xml和hdfs-site.xml。脚本该怎么写?

日志的位置 hbase/logs

hbase后台启动之后怎么停止?怎么转到前台?

jobs查看当前进程是前台还是后台

ctrl+z挂起程序

bg 1切换到后台

fg 1唤醒到前台运行

进入客户端名之后不能退格的解决方案?

六、HBase写数据的流程 put命令

HStore MemStore StoreFile 合并256M 10G

WAL机制

HStore的个数=列族的个数

HMaster决定分割出来的region分发到哪台regionserver

内存易丢失------WAL机制(Write Ahead Log)预写日志

合并文件的时候会把过期的数据清理掉

MySQL使用B+树架构的,HBase:LSM树:由B+树演化过来的。

在MemStore中按照rowkey字典排序

读数据:zookeeper/-Root-/.META/RegionServer

内存、磁盘

布隆过滤器的思想:IP地址通过hash算法转换为位数组(散列表/哈希表),通过0和1判断一个IP地址是否同时在两台服务器出现,允许误判的情况下可以提高效率。

解决散列冲突的几种方法:

1、开地址法:二次探测再散列          

            求桶号的公式:Hi=(H0+i^2)%m,i=1,2...m-1(m是一个4k+3的质数)

写javaAPI:第一个API:HBaseDao和HBaseDaoImpl

获取连接:hTablePool.getTable(tableName);

插入数据的方法save insert

对象 put tableName qualifer value .getbytes

查询方法:getOneRow(tableName,rowKey)查询一行--返回Result对象

                    getRows(tableName,rowKey)模糊查询--返回List<Result>

                    getRows(tableName,startrow,endrow)根据起始键和结束键查询几行

构建get对象(rowkey)(new的方式)

table.get(get)-->Result对象

table.getScanner(scan);

扫描对象要添加过滤器      scan.setFilter(filter);

前缀过滤器PrefixFilter(rowkey.getbytes());

hbase只支持左匹配

功能,根据起始键和结束键扫描获取数据

首先获取表的连接

然后初始化一个scan对象并设置startRow 和 endRow 属性值

最后返回一个List<Result result>的集合list

测试方法:

1、getRow()返回一个result对象,获取单元格集合

for(Cell cell:result.rawCells()){

 String rowKey=new String(CellUtil.cloneRow(cell));

}

2、getRows(tableName,row_like)

一个result对应一个rowkey,一个rowkey对应多个cell

3、测试getRows(tableName,startRow,endRow)

查询多条rowkey对应信息,前闭后开。

左匹配 +起始结束键(前闭后开) +字典顺序

4、删除表

delete对象

HBase的读数据:当HMaster挂掉之后,不影响读数据。

HMaster参与的操作:写数据,具体:HMaster会管理region发送到哪台服务器。

region中存放数据。

实现HA也必须有HMaster,管理regionserver

Master管理regionserver:master与znode保持心跳,znode保存regionserver上线和下线信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,784评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,745评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,702评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,229评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,245评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,376评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,798评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,471评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,655评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,485评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,535评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,235评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,793评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,863评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,096评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,654评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,233评论 2 341

推荐阅读更多精彩内容