自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄刚的技术博客

每天进步一点点,自我实现

  • 博客(214)
  • 资源 (2)
  • 收藏
  • 关注

原创 Hive表生命周期管理

Hive数据仓库中随着越来越多业务方的使用,会产生非常多的库表。如何对数据生命周期进行管理成了很重要的工作。经过验证发现,通过对Hive表执行以下语句会详细展现该表的很多统计信息,其中就有lastAccessTime。 (前提是该执行用户必须有对应表所在hdfs文件目录的读权限) > show table extended in order like wy_order;OK

2018-01-11 13:42:02 17428

原创 机器学习平台一期概要设计

背景介绍随着大数据技术的日趋成熟,很多互联网企业都积累了海量的数据资产。如何利用这些数据,充分发掘其价值逐渐成为各个公司亟待解决的新难题。其中机器学习已经被业界证明是十分有用的数据分析与挖掘手段。学术界对机器学习方向的研究已经持续数十年,很多算法已比较成熟。虽然不停有新的改进,但对企业而言不是最重要的。企业级应用最大的障碍在于如何将其平台化和围绕平台化所做的

2017-10-18 13:53:36 3294 3

原创 Apache Kudu TabletServer迁移

Kudu集群tablet server迁移1、在cloudera manager 界面上停止该节点的tablet server角色服务2、通过脚本工具removeNode.sh,从kudu集群中删除该节点的所有tablet数据,使kudu集群自动选取其他节点替换该节点的服务   脚本命令如下:sh removeNode.sh idc-10-248-5-17.ddw.

2017-09-15 09:33:49 3651

原创 Apache Kudu主节点(Master)迁移

提前修改机器上kudu账号可以登录,(/etc/passwd),之后都是以kudu执行命令    1、将每个master的记录下来    kudu fs dump uuid --fs_wal_dir=/home/data/kudu-master --fs_data_dirs=/home/data/kudu-master 2>/dev/null    2、存活的一个mas

2017-08-17 13:55:28 5530 1

原创 实时计算平台设计

设计目标       传统的离线计算会存在数据反馈不及时,很难保证很多急需实时数据做决策的场景。同时,如果各个业务方自己既负责开发实现各种实时计算程序,同时还需要维护一套实时计算软件环境,不仅效率低效,对公司的开发资源、硬件资源也是极大的浪费。所以为公司提供统一的实时计算平台,提升业务团队开发效率,满足公司各种精细化运营、监控等的要求,我们近期启动**实时计算平台的建设工作。

2017-03-18 09:03:37 7572

原创 配置社区版spark运行在cdh yarn

1、下载社区版本spark编译包,一般选择和cdh版本含的hadoop版本一致的社区编译版spark;2、在某台服务器上解压spark安装包3、将SPARK_HOME环境变量加入/etc/profile,然后执行 source /etc/profile使其生效;4、删除软连接 /etc/alternatives/spark-submit, /etc/alternatives

2017-03-15 16:16:52 4353

原创 解决hive元信息乱码的问题

1、修改hive元信息库为utf8编码,然后表和字段也是ALTER TABLE DBS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;ALTER TABLE TBLS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;ALTER TABLE COLUMNS_V2

2016-12-05 14:27:23 4684

原创 大数据平台权限设计

整体思路1、整合Cloudera的sentry,原因是其本身可以嵌入hive、impala、kafka等代码,提供统一的权限控制逻辑;2、由于权限包括用户认证和操作授权,需要改造sentry的一个模块代码编译后替换掉原有的包,用户认证sentry官方建议kerboers和ldap,我们本身是不需要那部分,按照ddw的用户逻辑;3、客户端即使提供业务方正常的连接信

2016-11-25 13:50:01 4695

翻译 Hive SQL Syntax for Use with Sentry

Sentry permissions can be configured through Grant and Revoke statements issued either interactively or programmatically through the HiveServer2 SQL command line interface, Beeline (documentation avai

2016-11-25 13:47:26 966

转载 Untangling Apache Hadoop YARN, Part 1: Cluster and YARN Basics

In this multipart series, fully explore the tangled ball of thread that is YARN.YARN (Yet Another Resource Negotiator) is the resource management layer for the Apache Hadoop ecosystem. YARN has be

2016-10-11 09:48:57 642

转载 【阿里在线技术峰会】李金波:企业大数据平台仓库架构建设思路

摘要: 在阿里巴巴在线在线技术峰会上的第三天,来自阿里云高级技术专家李金波为大家题为《企业大数据平台仓库架构建设思路》。本次分享中,李金波主要从总体思路、模型设计、数加架构、数据治理四个方面介绍了如何利用大数据平台的特性,构建更贴合大数据应用的数据仓库。本文根据阿里云高级技术专家李金波在首届阿里巴巴在线峰会的《企业大数据平台仓库架构建设思路》的分享整理而成。随着互联网规模不断的扩大,数据也

2016-08-10 09:04:07 1135

转载 大数据环境下互联网行业数据仓库/数据平台的架构之漫谈

导读:整体架构数据采集数据存储与分析数据共享数据应用实时计算任务调度与监控元数据管理总结一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。先大概列一下互联网行业数据仓库、数据平台的用途:整合公司所有业务数据,建立统一的数据中心;提供各种报表,有给高层的,有给各个业务的;为网站运营提供运营上的数据支持,就是通过数据,让运

2016-05-08 18:53:37 6919 1

转载 浅谈开源大数据平台的演变

一说到开源大数据处理平台,就不得不说此领域的开山鼻祖Hadoop,它是GFS和MapReduce的开源实现。虽然在此之前有很多类似的分布式存储和计算平台,但真正能实现工业级应用、降低使用门槛、带动业界大规模部署的就是Hadoop。得益于MapReduce框架的易用性和容错性, 以及同时包含存储系统和计算系统,使得Hadoop成为大数据处理平台的基石之一。Hadoop能够满足大部分的离线存储和离

2016-05-08 18:52:14 538

原创 编写dynamodb基于GSI的分页查询

主表结构(offline-archive.201604)msgid(主分区键,字符串), msg(字符串), topic(字符串), ts(long型时间戳)GSI二级索引(topic-ts-index)项目键(topic)排序键(ts)

2016-05-04 11:12:27 2989

原创 ClientId and groups recommendation

我们可以将每个应用的实例ID作为clientId赋值,这样出现问题可以很容易排查是来自哪台机器哪个进程导致的。 实例ID生成方法可以是IP:port(web应用)或者IP:hash(启动路径)So it just should be used in a way that works best for your own use case.Thanks Gerard !

2016-04-20 09:28:49 595

原创 利用kafka内建的特殊topic 做offsets 提交和检索

In Kafka releases through 0.8.1.1, consumers commit their offsets to ZooKeeper. ZooKeeper does not scale extremely well (especially for writes) when there are a large number of offsets (i.e., consumer

2016-04-19 19:20:07 3109 1

原创 修改zookeeper jvm参数

在zkServer.sh中,增加以下参数:start)    echo  -n "Starting zookeeper ... "    if [ -f $ZOOPIDFILE ]; then      if kill -0 `cat $ZOOPIDFILE` > /dev/null 2>&1; then         echo $command already runnin

2016-04-18 20:58:48 5671

转载 Apache Kafka Security 101

TLS, Kerberos, SASL, and Authorizer in Apache Kafka 0.9 - Enabling New Encryption, Authorization, and Authentication FeaturesApache Kafka is frequently used to store critical data making it one of

2016-04-16 16:56:31 4451

转载 How to choose the number of topics/partitions in a Kafka cluster?

This is a common question asked by many Kafka users. The goal of this post is to explain a few important determining factors and provide a few simple formulas.More Partitions Lead to Higher Throug

2015-12-14 10:01:59 836

原创 flume ng简单例子

本例子来源于flume官方文档,主要演示部署flume agent单节点,接收信息然后控制台输出。首先编辑配置文件,在conf目录中新建文件example.conf,然后添加以下内容:# example.conf: A single-node Flume configuration# Name the components on this agenta1.sources = r1a1

2015-11-18 10:39:20 736

转载 Kafka Reliability - When it absolutely, positively has to be there

http://www.slideshare.net/gwenshap/kafka-reliability-when-it-absolutely-positively-has-to-be-there?smtNoRedir=1

2015-11-13 16:41:38 745

原创 kafka常用运维命令

列出所有topic:bin/kafka-topics.sh --zookeeper localhost:2181 --list说明:其实就是去检查zk上节点的/brokers/topics子节点,打印出来创建topic:bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic order_ledg

2015-11-03 16:06:54 18384 1

原创 kafka replica分布算法

验证replica分布算法目的:      replicas尽可能分散在各broker;      如果某个replica在指定broker后,剩余replica需要到其他broker上面方法:      以一个随机位置点开始round-robin方式分配所有partition的第一个replica      剩余replica以一个递增量计算出所在的broker

2015-11-02 14:44:23 1232

原创 kafka topic增加replica报错解决

刚开始测试环境中给一个业务方建的topic没有增加replica,导致前天虚拟机down掉,业务方反馈无法写入的问题。于是决定将所有replica为1的topic改为2,于是照着官方文档上的说明试试,但由于编辑json文件出错了,却手贱地执行了 --execute,后面即使改对,也无法成功。总是报错:bin/kafka-reassign-partitions.sh --zookeeper

2015-10-27 11:12:21 7587

转载 apache kafka源代码分析工程搭建(IDEA)

1.gradle安装gradle安装 2.下载apache kafka源代码apache kafka下载 3.用gradle构建产生IDEA工程文件lizhitao@users-MacBook-Pro:~/Downloads/kafka_2.10-0.8.1$  gradle idea 生成IDEA工程文件如下:4.项

2015-10-16 17:06:33 2537

原创 kafka消费失败多次重试

Thread consumerThread = new Thread(new Runnable() { public void run() { MessageAndMetadata messageAndMetadata = null; try { while (consumer.hasNext() && !Thread.interrupted()) {

2015-10-12 20:41:40 16386 1

原创 kafka源码环境准备

1/安装gradle首先下载gradle安装包,解压到某个文件路径,然后配置~/.bash_profileexport GRADLE_HOME=/Users/huanggang/gradle-2.7export PATH=$GRADLE_HOME/bin:$PATH之后执行 source ~/.bash_profile验证安装 huanggang@huangga

2015-09-30 11:14:31 1447

原创 未释放kafka资源导致的问题

最近业务方在用我们封装的sdk时候,经常出现一个奇怪的问题,明明只启动了一个tomcat实例,相当于只有一个消费线程,但通过offsetmonitor观察始终出现多余的消费线程,通过jstack打印tomcat线程栈,也没有发现有多个,最后经过多方排查,发现其实另外还存在zk连接,一直占用着某个partition没释放。关键的原因是初始化消费者时,其实没有初始化成功,但是由于搞忘了抱异常的时候应该

2015-09-30 10:41:35 3896

原创 Kafka 几个重要的配置总结

注意:配置基于Kafka 0.8.2.1broker配置#非负整数,用于唯一标识brokerbroker.id 0#kafka持久化数据存储的路径,可以指定多个,以逗号分隔log.dirs /tmp/kafka-logs#broker接收连接请求的端口port 9092#指定zk连接字符串,[hostname:port]以逗号

2015-08-21 10:21:12 69169 2

原创 对于自定义封装的Kafka客户端限制输出日志信息

最近在对kafka客户端进行轻量级封装,使得其具有简单的权限控制功能,由于不能暴露任何关于brokerlist,zookeeperlist的信息给客户端,只是对于授权的key后进行正确构造即可。而由于kafka默认是输出了很多info日志,里面broker zookeeper主机/端口信息暴露无遗,于是简单设置下对应的Logger级别关闭即可:static {// 修改kafka日志输出级

2015-08-12 22:23:24 3961

原创 通过Kafka Admin API执行并获取结果到客户端

目前的需求是将kafka管理的相关操作,如创建/删除/修改topic等集成到web 管理端, 但有个问题是执行的时候是打印到服务端标准输出的(控制台),没法返回给前端页面,于是,简单做了下修改,这样便完成了从标准输出获取信息,返回给前端。思路比较简单:public Map topicOpt(@RequestParam Long clusterId, @RequestParam S

2015-08-09 16:56:59 1795

原创 Kafka集群安装

目  录 第一章 初始环境准备 11.1 部署规划 11.2 JDK安装 11.3 Zookeeper安装 31.4 其他配置 31.4.1 时间同步 31.4.2 关闭防火墙 41.4.3 更改主机名 51.4.4 修改/etc/hosts 5第二章 Kafka分布式环境 72.1 安装zookeeper 72.1.1 开始安装 7

2015-07-28 21:44:53 1110

原创 Kafka设置系统运行日志输出路径

默认Kafka运行的时候都会通过log4j打印很多日志文件,比如server.log, controller.log, state-change.log等,而都会将其输出到$KAFKA_HOME/logs目录下,这样很不利于线上运维,因为经常容易出现打爆文件系统,一般安装的盘都比较小,而数据和日志会指定打到另一个或多个更大空间的文件pan

2015-07-28 14:58:28 22996

转载 自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sofar.blog.51cto.com/353572/1579894==========================================================================================一、基础介绍

2015-07-06 15:42:29 1172

转载 结合Ansible技术监控Storm集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sofar.blog.51cto.com/353572/15798971、我的hosts配置# vim /etc/hosts1234567891011

2015-07-06 15:00:12 1055

原创 Storm安装记录

首先,在官网上下载安装包,本文采用的是apache-storm-0.9.5.zip。放到指定机器上/usr/local解压后编辑配置文件conf/storm.yaml:然后修改环境变量:export STORM_HOME=/usr/local/apache-storm-0.9.5export PATH=$STORM_HOME/bin:$PATH然后需要把zookeep

2015-07-01 15:47:18 572

原创 HBase大批量写入操作ipc queue size持续上升问题记录及修复

由于需要将关系数据库数据通过VDataHub工具导入到HBase表,虽然在VDataHub中进行了流控,但是由于集群还有其他任务在跑,导致整个集群磁盘IO几乎跑满,很多put操作没法写入,在hbase服务端可以看到很多类似以下的异常日志: 2015-06-23 13:45:18,844 WARN [RpcServer.handler=71,port=60020] ipc.RpcServe

2015-06-24 14:43:13 10008

原创 HBase0.98.1-cdh5.1.2源码编译

最近线上使用的hbase版本发现一个重大bug,需要修改源码才能解决问题,于是尝试着对这个源码进行修改后重新编译,记录下过程,花了2天时间,哎。首先将hadoop和hbase的源码包上传到编译用的centos测试机器上,并解压:我们第一个编译hadoop,因为hbase需要依赖hadoop的相关jar包,进入hadoop-2.3.0-cdh5.1/src后,执行命令“mvn p

2015-06-24 14:16:36 1547

转载 关于MemStore的刷新方式

关于MemStore的刷新方式:1、MemStore达到上限hbase.hregion.memstore.flush.size 默认是128M的时候,会触发MemStore的刷新。这个参数表示单个MemStore的大小的阈值。这个时候是不阻塞写操作的。 2、当一个RegionServer上的的MemStore总量达到hbase.hregion.memstore.block.

2015-05-29 15:53:12 880

原创 大数据技术-HBase:HBase并发版本控制MVCC

hbase为用户提供了一致的且易于理解的数据模型,同时保证高性能。这篇文章将向大家介绍下hbase数据模型保证和与传统关系数据库之间的区别,接着说下并发写控制的必要性,介绍了一个简单的并发控制方案。最后我们讨论读写并发控制讨论了MVCC。为了理解hbase并发控制,我们首先需要理解为什么hbase需要并发控制,换句话说,hbase的什么属性需要引入并发控制。hbase是基于row级别的ACID

2015-05-27 16:32:31 3606

sigar 本地库依赖

sigar 本地库依赖

2014-08-09

Ambari安装与使用

Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用Ambari安装与使用

2014-02-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除