Impala实践之四:记一次Impala报错的处理和分析过程

作者:JerryXia | 发表于 , 阅读 (24)
前言impala集群出错的一次记录和解决方法以及解决思路。
错误记录错误信息Memory limit exceeded Cannot perform hash aggregation. Partitioned input data too many times. This could mean there is too much skew in the data or the memory limit is set too low.Query信息就是个这么长的Query语句,Query需要join十多张的表,各种的字段。这只是很多sql中的其中一个。
create TABLE test.cp_ag_info ASSELECT a1.id cid, hr_num, position_num, available_po_num, rs_num, auto_filter_num, read_num, see_num, manual_refuse_num, it_num, auto_refuse_num, forward_num, get_rs_po_num, get_read_rs_po...阅读全文

Haproxy负载均衡算法

作者:JerryXia | 发表于 , 阅读 (21)
前言前段时间在impala集群中用到Haproxy,秉着折腾的原则,略微整理一下Haproxy的负载均衡算法,大致看了一下,基本上包括了主流的负载均衡算法。都是英文就不翻译了。自己大致明白的算法就凑一句自己的理解,不理解和没听过的,就算了。
目前,我一直使用的是leastconn。
算法roundrobin轮询。
这就个就是轮询了,挨个分配机器。适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
Each server is used in turns, according to their weights.This is the smoothest and fairest algorithm when the server’sprocessing time remains equally distributed. This algorithm is dynamic, which means that server weights may be adjusted on the fly for slow starts for instance. It...阅读全文

Hadoop集群性能测试

作者:JerryXia | 发表于 , 阅读 (24)
磁盘读:
# hdparm -tT --direct /dev/vdb1/dev/vdb1:Timing O_DIRECT cached reads:   3286 MB in  2.00 seconds = 1613.15 MB/secTiming O_DIRECT disk reads: 3000MB in  3.01 seconds = 1022.49 MB/sec网络IO网络传输,点对点copy,传输速度平均101.6MB/s
iperf测的平均网络IO为110左右MB/s
Hadoop BenchmarkBenchmark工具网上的benchmark工具挺多的,总结一下大致有下面几个:
hadoop自带的Testintel的 HiBench中科院的BigDataBenchberkeley的benchmarkebay的benchmark(名字记不清了)这是目前我找到的几个比较出名一些的hadoopbenchmark。缩小一下范围后,准备在前三个中选一个。其实这个各有特点,但是考虑到这次只测试io,而且集群的root权限也不在我这,就用个比较省事的,hadoop自带的了。...阅读全文

Java:HttpEntity转为List

作者:JerryXia | 发表于 , 阅读 (19)
前言继续之前的工作,获取Impala的接口信息后,将其转换为List<JavaBean>的形式,方便后续程序处理。
Code删除大部分,留点主要的处理过程。
JavaBean首先要对应一些java类,可以直接借鉴cm java api的model。
有三个类,其中TaskBase最重要。
import java.util.concurrent.TimeUnit;/*** Task信息实体类(和接口中获取的信息对应)* Created by Dante on 2016/3/25.*/public class TaskBase {private String queryId;private String statement;private String queryType;private String queryState;private String startTime;private String endTime;private String rowsProduced;private String user;private String detailsAvailable;pri...阅读全文

Python实现csdn博客爬虫之1:整体设计思路

作者:JerryXia | 发表于 , 阅读 (25)
前言很早之前就像自己写一些爬虫,把csdn、博客园这些博客平台的文章全部爬下来,把智联招聘、大街网、拉勾这些招聘网站的招聘信息爬下来,然后把github上面的各个项目信息爬下来。(当然,这些都只是想想)
后来发现自己执行力不够,这些都没开工。自从来了公司,相应公司“自我驱动”的号召,执行力稳步增长。赶着上周五的晚上的兴致,动手开始写了一个爬虫。下面记录一下整个纠结的过程。
补充github项目地址: csdn_blog_spider
整体思路整体设计思路很简单:
先获取所有的用户ID(能获取多少是多少)获取每个用户的所有的博客id根据用户id和博客id拼接出博客url,然后爬下来。设计过程半年前想写的时候,其实我是直接在阶段四的,然后半年没写,再次捡起来的时候就想偷懒用框架了。
阶段一:使用scrapy?最初是想用是个框架,比如scrapy,轻轻松松全部怕下来就OK了。后来想想,反正都是折腾,而且用框架的话也没啥意思,异常处理和算法什么的也都不需要自己考虑,还是自己折腾吧。再加上安装scrapy的时候报了好多次错误,彻底没积极性了。下面列举几个我遇到的错误,就会有人明白我为什...阅读全文