ThousandHu`s blog

千里之行 始于足下


  • 首页

  • 归档

  • 标签

Hadoop: The Definitive Guide 4th 读书笔记—chapter5: Hadoop IO

发表于 2016-01-07
Data Integrityhadoop使用checksum来验证数据的正确性。 Data integrity in hdfsdatanodes和client都是在读取数据的时候检查checksum 一般是client读取时发现其有错,则client会将这个bad block报告出去。namenode会将这个数据块标记成corrupt,然后从其他地方拷贝一个正确的block。当正确的block成功时,corrupt block replica被删除 Compression使用compression是一个时间和空间的trade off。压缩的时间越长,一般压缩效果越好,传输时间越短。同时要注意压 ...
阅读全文 »

azkaban定制

发表于 2016-01-07
azkaban多用户定制 azkaban调度系统分为webServer和executorServer两部分。执行一个工作流,需要指定该工作流执行的executorServer。在webServer中,可以通过指定Flow Parameters的useExecutor参数来选择executorServer。 对于没有指定该参数的工作流,azkaban提供一个自动选择executor的算法。在自动选择算法中,azkaban并没有给executor分组这一功能。这在平常使用中没有问题,但是我们有这样一套需求,不同team有自己的服务器,服务器上部署有不同的executor-server,我们希望不同 ...
阅读全文 »

hive 优化

发表于 2015-12-18
Join 连接优化普通的Join操作的Reduce 阶段,位于 Join左边的表的内容会被加载进内存,所以最好将小表放在左边。不过如果使用关键字/*+streamtable(大表名称)*/就无所谓位置了。 对于HiveQL,会先执行on条件筛选,再链接,在进行where筛选。On的筛选条件主要是针对从表,主表的数据都会输出。因此对于主表无关数据很多时,可以先使用子查询,过滤主表的无效数据。同时注意能用on filter的就不要用where map side join当小表关联一个超大表时,容易发生数据倾斜,可以用mapside join,把小表全部加载到内存在map端进行join,避免redu ...
阅读全文 »

Hadoop: The Definitive Guide 4th读书笔记: chapter 17 hive

发表于 2015-12-13
Running HiveHiveQLData Types:复杂数据结构支持array,map,struct,union。比如 12CREATE TABLE complex ( c1 ARRAY<INT>, c2 MAP<STRING, INT>, c3 STRUCT<a:STRING, b:INT, c:DOUBLE>, c4 UNIONTYPE<STRING, INT> ); hive> SELECT c1[0], c2['b'], c3.c, c4 FROM complex; 1 2 1 ...
阅读全文 »

Hadoop: The Definitive Guide 4th读书笔记 chapter4: YARN

发表于 2015-12-03
Anatomy of a YARN Application RunYARN的架构分两层。1 每个cluster有一个resourceManger。2 每个node有一个node manger管理和监视containers。 运行一个yarn app有这样几步:1 client 连接resource manager来启动一个application master process2 resource manager寻找一个node manager来加载这个process。3 如果需要分布式,则从resource manager那里需求更多的node 并且4 启动其他的container。 Resou ...
阅读全文 »

利用MapReduce从hbase导出数据到hive

发表于 2015-11-30
最近在做一个从hbase导数据到hive的工作。主要涉及这么几个知识点 MR如何从hbase里拿数据 如何将数据写成hive的指定格式,我主要用了rcfile Hbase端MR中读取hbase主要使用了这个类。 1234567891011121314151617181920212223import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;import org.apache.hadoop.hbase.mapreduce.TableMapper ...
阅读全文 »

junit4 使用LocalTestServer测试网络端口

发表于 2015-11-14
单元测试只测试程序逻辑,不应该链接数据库等,但是有时候就是要测网络api怎么办?这里有一个比较简单粗暴的办法,就是使用LocalTestServer来在本地模拟一个server,然进行测试。 首先要设置一下pom.xml,加入 1234567<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.0.1</version> &l ...
阅读全文 »

java操作json的两个库

发表于 2015-11-14
主要是net.minidev.json和jayway.JsonPath包的运用 net.minidev.jsonJSONValue parse: public static java.lang.Object parse(String/Reader/byte[]/inputsteam s) Returns: Instance of the following: JSONObject, JSONArray, String, java.lang.Number, java.lang.Boolean, null 参数还可以跟一个map to,作用貌似是将java映射到一个class里面去 如 ...
阅读全文 »

flume写入hdfs间歇性出现无法关闭的bug处理总结

发表于 2015-11-11
先说结论,没有解决这个bug,只是记录一下处理步骤,因为是第一次处理分布式系统的bug,mentor一步步指导如何看log。时间隔得太久了,写的就只能很简略了。。。 首先是要定位bug出现的地方hadoop fs -ls以后一个个找,一直到找到出现问题的文件。然后看他在那个datanode上。之后切到那个datanode上去看。 从有问题datanode上找到exception。发现是一个和hdfs有关的问题。于是去看hdfs的log。hdfs那边主要看block之间的问题。block的命名第一串数字是全局id,第二串数字是version。通过看那个log发现是block在向下传输时重试5次都 ...
阅读全文 »

java代码中调用zookeeper

发表于 2015-11-11
项目中使用了zookeeper管理hbase,昨天写了个小任务统计hbase里的数据,需要用zookeeper读取hbase的配置。 zookeeper的机制这一篇先不讲了,hadoop权威指南看到zookeeper再详细的讲。这里主要说一下如何用几行代码迅速的拿到zookeeper中的配置,进一步的是如何注册watcher。 首先是直接拿zookeeper数据 12ZooKeeper zk = new ZooKeeper("host1:2181,host2:2181", 60 * 1000, null);String = zk.getData(input, false, null)); ne ...
阅读全文 »
1…78910
ThousandHu

ThousandHu

千里之行 始于足下

91 日志
49 标签
github zhihu 微信公众号:thousandhu学架构
© 2015 - 2017 ThousandHu
由 Hexo 强力驱动
主题 - NexT.Mist