- 博客(65)
- 资源 (18)
- 收藏
- 关注
原创 Impala metadata 刷新
Impala 在传统的MYSQL 或 PostgreSQL 数据库称为 Metastore 上保持其表定义,Hive 也在相同的数据库上保存此类型的数据。因此,Impala 可以访问由 Hive 定义或加载的表。 对于具有大量数据或多个分区的表,检索表内所有元数据可能会花费很长时间,在某些情况下需要几分钟。因此,每个 Impala 节点缓存所有这些数据,以便在未来对同一表进行查询时重复使用。 如
2017-05-12 10:49:48 2266
原创 Kafka实时流数据经Storm至Hdfs
目前HDFS上日志一部分由MR清洗生成&二次计算,一部分直接从服务器离线上传,但在私有云环境下,离线日志的压缩上传可能会对服务造成性能影响,而且在很多日志已经实时传输到Kafka集群的情况下,考虑Kafka->Hdfs也不失为一条合理的路径。1. Kafka-Flume-Hdfs这种方法直接通过Flume-ng的Hdfs-Sink往Hdfs导数据,Hdfs-Sink用来将数据写入Hadoop分布式文
2017-03-14 18:34:16 6902 1
原创 ES索引延时监控
本文通过ES提供的Restful Api来获取索引的最新一条数据,来简单监控其延时情况。#!/bin/shexport LANG=en_US.UTF-8index="app_logs"timeField="@timestamp"jsonRes=`curl -XGET http://localhost:9200/$index/_search?pretty -d ' { "query": { "m
2017-03-10 18:42:15 1922
原创 ES节点简单监控
本文通过ES提供的Restful Api来简单监控各节点的内存及负载。#!/usr/bin/python#coding:utf8import sys, re, time, datetime, socket, smtplibimport os, urllib, urllib2, json, stringDOMAIN_NAME = "es.op.xxx.com"NODES_URL = "http:
2017-03-10 18:01:29 2143
原创 Storm任务启动过慢
最近Storm集群提交任务后,任务的worker需要很长时间才能运行成功,从UI界面可以看到,个别worker一直在尝试不同机器的solt来启动,日志报错如下:2017-03-01T18:47:51.785+0800 o.a.s.z.ClientCnxn [INFO] Session establishment complete on server 10.1.3.41/10.1.3.41:2181,
2017-03-01 19:35:17 2372 2
原创 Kibana查询耗时
kibana 查询,会对查询时间段,做聚合操作,最近15min,则会聚合每30秒的文档数: 当查询时间范围内的文档数特别大时,将非常耗时,有时会报错: 查询Request Payload:{"index":"www_log-*","ignore_unavailable":true}{"size":500,"sort":[{"@timestamp":{"order":"desc","unmapp
2017-03-01 19:10:50 8732
原创 No known master node问题
ES集群重启一个节点后,该节点无法加入集群,报错信息:[2017-02-14 14:35:31,868][ERROR][marvel.agent.exporter ] [es-06] error adding the marvel template to [[0:0:0:0:0:0:0:0]:9200] response code [503 Service Unavailable]. cont
2017-03-01 18:31:11 4634 1
原创 Elasticsearch 权限控制
随着ES的广泛使用,其安全问题也备受关注,虽然ES集群一般部署于公司内网,但多个业务部门使用同一套ES集群的情况非常多,如何做好数据共享、访问隔离,防止用户误操作、数据泄露等,这需要一套良好的权限控制机制。1.方案调研目前官方的安全模块Shield需要收费,所以普及率并不高,下面调研了以下几种方案:1)elasticsearch-http-basichttps://github.com/Asquer
2017-03-01 18:07:55 19171 1
原创 初次使用AWS S3服务
创建第一个 IAM 管理员用户和组http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/getting-started_create-admin-group.html安装AWS Command Line Interfacehttp://docs.aws.amazon.com/zh_cn/cli/latest/userguide/installin
2017-03-01 17:29:14 6736
原创 ES多实例配置
配置变更http.port这个配置是elasticsearch对外提供服务的http端口配置,默认情况下ES会取用9200~9299之间的端口,如果9200被占用就会自动使用9201,在单机多实例的配置中这个配置实际是不需要修改的。 但是为了更好地进行配置管理,以及和老的配置兼容,我们还是手动将第一个实例的http端口配置为9200,第二个实例配置为9201。transport.tcp.port这
2017-03-01 14:41:08 3231
原创 storm集群任务迁移问题平滑迁移
最近想把老storm集群上的部分任务,迁移到新搭建的storm集群上。BrokerHosts hosts = new ZkHosts(Constants.ZOOKEEPER_HOSTS);虽然都是从一个kafka集群取数,但新老storm集群对应的ZK地址不一样,迁移过去后消息消费没有续上。老storm集群上运行的任务,在zk集群上的topic消费偏移量一直
2017-01-11 11:21:42 1586
原创 Hive通用型自定义聚合函数(UDAF)
在使用hive进行数据处理时,经常会用到group by语法,但对分组的操作,hive没有mysql支持得好:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])hive只有一个collect_set内置函数,返回去重后的元素数组,但我们可以通过编写UDAF,来实现这些功能。
2015-05-05 17:26:31 19335 4
原创 python 算法实现 - 最小堆
最近浅学python,甚感方便,准备用python实现一遍常用的算法。class MinHeap: def __init__(self): self.list = [0] self.size = 0 def __str__(self) : return " ".join(str(v) for v in self.list[1:]) def up(self, i) :
2015-04-09 18:07:59 3476
原创 基于zookeeper简单实现分布式锁
这里利用zookeeper的EPHEMERAL_SEQUENTIAL类型节点及watch机制,来简单实现分布式锁。主要思想:1、开启10个线程,在disLocks节点下各自创建名为sub的EPHEMERAL_SEQUENTIAL节点;2、获取disLocks节点下所有子节点,排序,如果自己的节点编号最小,则获取锁;3、否则watch排在自己前面的节点,监听到其删除后,进入第2步(重
2014-11-19 14:00:19 39787 17
原创 Zookeeper写文件原子类
文件实际是被写入一个后缀为.tmp的临时文件中,只有当数据完全写入磁盘后,才会覆盖目标文件。在window平台下,需要先delete目标文件,再执行renameTo操作。
2014-11-12 15:07:00 1595
原创 Zookeeper节点类型
public enum CreateMode { /** * 持久节点:节点创建后,会一直存在,不会因客户端会话失效而删除; */ PERSISTENT (0, false, false), /** * 持久顺序节点:基本特性与持久节点一致,创建节点的过程中,zookeeper会在其名字后自动追加一个单调增长的数字后缀,作为新的节点名;
2014-11-12 15:01:22 7078
原创 HBase GC日志
HBase依靠ZooKeeper来感知集群成员及其存活性。如果一个服务器暂停了很长时间,它将无法给ZooKeeper quorum发送心跳信息,其它服务器会认为这台服务器已死亡。这将导致master为其启动恢复进程。当该服务器脱离停顿时,它会发现它的所有租约都已失效,在HBase中使用默认GC,可以看到所有线程中的长时间停顿,包括Juliet Pause。CMS垃圾回收的执行过程:
2014-09-17 11:32:08 6262
原创 Arima预测模型(R语言)
ARIMA(p,d,q)模型全称为差分自回归移动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA),AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR
2014-09-02 22:48:42 122079 34
原创 SVM模型预测
library(e1071)source <- c(10930,10318,10595,10972,7706,6756,9092,10551,9722,10913,11151,8186,6422,6337,11649,11652,10310,12043,7937,6476,9662,9570,9981,9331,9449,6773,6304,9355,10477,10148,10395,11
2014-09-02 22:48:16 9458 2
原创 HIVE 查询 SemanticException [Error 10004]
错误查询:select a.create_date ,count(*) from ( select TB1.create_date from TB1 join TB2on ( TB1.wrapperid = TB2.wrapperid and TB1.id=TB2.id ) where TB2.status!='1'
2014-08-20 16:13:16 44019 2
原创 mysql 多个字段拼接
Mysql的查询结果行字段拼接,可以用下面两个函数实现:1. concat函数mysql> select concat('1','2','3') from test ;+---------------------+| concat('1','2','3') |+---------------------+| 123 |+---------------------+如果连接串中存在
2014-08-14 20:11:02 97904 5
原创 使用Rserve从java中调用R
Rserve安装和加载:> install.packages('Rserve')> library(Rserve)在R中启动:> Rserve()Starting Rserve: "D:\PROGRA~2\R\R-31~1.0\library\Rserve\libs\i386\Rserve.exe" 或者在命令行下启动:R CMD RserveRserve:
2014-07-01 23:36:45 5431 1
原创 Flume-ng 数据发送速度限制
按理说,应该在sink端限制数据的发送速度,但flume-ng提供了非常便利的interceptor模式,因此本文,就只是在source端简单的实现了对数据发送速度的限制。
2014-06-10 15:10:43 7018 3
原创 flume+kafka+storm
配置flume:http://blog.csdn.net/desilting/article/details/22811593配置kafka:http://blog.csdn.net/desilting/article/details/22872839启动zookeeper、kafka及storm创建topic: bin/kafka-topics.s
2014-04-08 17:34:06 6484 1
原创 kafka测试
安装完kafka后,做了下简单测试消息生产端:import java.util.Properties;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.producer.ProducerConfig;/** * Created with Intel
2014-04-03 15:26:14 8868
原创 Kafka 安装配置
kafka下载:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1/kafka_2.10-0.8.1.tgz分别在三台服务器上安装kafka:tar zxvf kafka_2.10-0.8.1.tgz修改每台服务器的config/server.properties brokerid: 唯一,填数字,本
2014-04-03 15:13:53 41912
原创 Storm Metric
storm从0.9.0开始,增加了指标统计框架,用来收集应用程序的特定指标,并将其输出到外部系统。本文中采用的监听类是LoggingMetricsConsumer,统计指标值将输出到metric.log日志文件中。当然也可以自定义监听类,只需要实现IMetricsConsumer接口即可,这些类可以在代码里注册(registerMetricsConsumer),也可以在 storm.yam
2014-04-02 14:44:50 7830 3
原创 集群间 Hive 数据 迁移 问题
1、 从hive中导出数据至本地目录 insert overwrite local directory '/export/tmp' select * from test1 where create_time = '2013-11-25'; 列数据之间默认以^A隔开。 2、将本地数据上传另一个集群的hdfs
2013-11-28 14:27:37 5649
原创 CentOS 安装中文输入法
1.用root登录 ,或su root2.yum install "@Chinese Support"3.exit4.system->preferences->input method5.添加输入法。6.Log out。
2013-10-21 16:23:02 816
原创 Guava源码分析——Strategy模式(Splitter)
策略模式(Strategy):定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。在Guava的Splitter类中便用到了这种模式——字符串的分割方式:1、根据单个字符分割public static Splitter on(char separator) { return on(CharMatc
2013-09-29 11:22:37 3334
原创 Guava源码分析——Proxy模式(TimeLimiter)
代理模式:给某一对象提供代理对象,并由代理对象控制具体对象的引用。主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。in
2013-09-29 11:20:42 3617
原创 Guava源码分析——ServiceManager
ServiceManager类: 用于监控服务集的管理器,该类提供了诸如startAsync、stopAsync、servicesByState方法来运行、结束和检查服务集,而且,通过监听器机制还能监控状态的改变。 建议通过此类来管理服务的生命周期,状态转变则通过其它机制来执行。例如,如果服务集通过除startAsync之外的某些机制启动,那么监听器将在合适的时候被唤醒,同
2013-09-26 10:50:28 4472 1
原创 Guava缓存器源码分析——删除消息
Guava缓存器的删除消息机制测试代码—— LoadingCache cache = CacheBuilder.newBuilder() .maximumSize(3) .expireAfterWrite(10, TimeUnit.SECONDS) .record
2013-09-20 20:45:43 4027
原创 Guava缓存器源码分析——缓存统计器
Guava缓存器统计器实现:全局统计器—— 1、CacheBuilder的静态成员变量Supplier CACHE_STATS_COUNTER初始化时,重载的get方法,返回了一个SimpleStatsCounter实例。 2、当缓存器开启缓存统计时(recordStats),statsCounterSupplier被赋值为CAC
2013-09-18 12:09:01 3308
原创 Guava缓存器源码分析——数据加载
Guava缓存器加载数据的方式有两种:同步(loadSync)与异步(loadAsync)。 同步方式—— 只在取数据 V get(K, int, CacheLoader)执行过程中会被调用到。 同步加载数据代码如下: ListenableFuture loadingFuture = loadingValueReference.
2013-09-17 13:38:00 3635
clink-window下强大的命令行工具
2014-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人