- 博客(51)
- 资源 (13)
- 收藏
- 关注
原创 Spark RDD计算机制剖析
通用的分布式计算框架,为了降低学习和使用门槛,便于用户直观理解,一般会尽量简化上层抽象(姑且定义为逻辑层),RDD之于Spark就是最核心的逻辑层抽象。然而,当你深入框架内部实现(对应来说就是物理层),通常会发现它比逻辑层复杂得多,仿佛是打开了另一扇窗。对Spark RDD来说莫不如此,让我们来看看它在物理层的另一面。...
2019-03-17 15:58:48 472
原创 SVM Kernel学习笔记
SVM是机器学习里应用最广泛的模型之一,而说起SVM大家一般都会提kernel,有叫kernel function也有叫kernel trick的。这是因为实际的应用中,没有kernel的SVM也就是一个线性分类器,与LR(logistic regression)没有本质的差别,就连目标函数都很相似。线性分类器是指它的decision boundary是线性的,但训练数据并不一定能被线性区分开
2018-02-05 21:44:04 12702 2
原创 Apache Ranger剖析:Hadoop生态圈的安全管家
前言2016年,Hadoop迎来了自己十周岁生日。过去的十年,Hadoop雄霸武林盟主之位,号令天下,引领大数据技术生态不断发展壮大,一时间百家争鸣,百花齐放。然而,兄弟多了不好管,为了抢占企业级市场,各家都迭代出自己的一套访问控制体系,不管是老牌系统(比如HDFS、HBase),还是生态新贵(比如Kafka、Alluxio),ACL(Access Control List)支持都是Roadmap里
2016-08-16 22:53:40 9901 5
原创 【Ambari】Agent总体概览
Agent是Ambari一个核心模块,主要负责在集群节点上执行命令(install/start/stop)和上报状态(liveness/progress/alert)。要理解实现细节甚至修改源代码,首先要有总体宏观的认识。笔者粗略浏览了一下Agent代码,认为可以从三大基本抽象入手,来描绘总体的概览。抽象Agent定义了三个基本抽象,也是三个抽象类:Resource表示Agent可操作的对象,每个R
2015-04-01 22:52:03 2611
原创 Ansible Tryout
#下载镜像,容器运行docker pull ansible/centos7-ansibledocker run -it --rm ansible/centos7-ansible /bin/bash#由于要用到ssh密码登录,需要install sshpasssyum -y install sshpass.x86_64#将需要远程操控的机器IP加入本机的known_hostsssh-keyg
2015-03-10 16:31:33 1365
原创 Why Eureka is superior to Zookeeper in terms of service discovery
很多服务发现方案采纳zookeeper做为service registry,但是这篇文章提出的观点是,ZK并不适合!理由主要是以下两点:ZK主要的用途是做distributed coordination,所以在CAP的选择上必然是CP(这个有道理,coordination service主要是为了帮助其他别人实现系统一致性的,总不能自身的一致性都无法保证)。然而,对于服务发现来说,更重要的是AP—
2015-03-09 16:52:43 1285
原创 Kubernetes与YARN的结合
Hortonworks在去年启动的项目kubernetes-yarn,旨在将kubernetes框架运行在YARN集群上,做为YARN的一种Application。这样的做的好处是,kubernetes可以与其他已有的Hadoop生态链的框架共享集群,可以参考http://zh.hortonworks.com/blog/openshift-v3-kubernetes-docker-hadoop-ya
2015-03-05 13:18:59 11730
原创 【Docker】服务发现项目Registrator
通常,一个服务发现系统主要由三部分组成:注册器(registrator):根据服务运行状态,注册/注销服务。主要要解决的问题是,何时发起注册/注销动作。注册表(registry):存储服务信息。常见的解决方案有zookeeper、etcd、cousul等。发现机制(discovery):从注册表读取服务信息,给用户封装访问接口。在Docker集群系统中,常见的做法是由服务发现机制封装在集群管
2015-03-05 13:12:49 5998
原创 分布式系统迁移Docker云案例分享
前言“只要站在风口,猪也能飞起来”,这碗心灵鸡汤不知道激励了多少英雄豪杰踏上寻风口之路。而现如今,Docker这阵龙卷风呼啸来袭,更让众人生起迎风而上、直冲云霄的欲望。为了找到这风口,数据平台部开始全面拥抱Docker,基于多年的大数据集群管理经验,倾力打造DockerOnGaia云平台(简称Gaia云),并动员将数平自身的核心系统Lhotse、Hermes、Hive、TRE、TDBank等全面接入
2015-02-12 16:23:11 3449
原创 Docker时代来了,你准备好了吗
刚刚过去的2014年或许是史上最热的一年,在这火热的年份里,Docker 也好似一支被点燃的火箭,掀起一股股热浪。Docker之所以如此受人瞩目,并不是因为它创造了多么神奇的技术,而是因为它重新定义了软件的交付方式,进而将改变传统“开发-测试-部署”的软件流程。尤其是在云计算和开源软件大行其道的今天,Docker的出现正好顺应了时代的发展,占尽了天时地利人和。
2015-01-06 23:07:38 3549 1
原创 Flynn初探:基于Docker的PaaS平台
[Flynn](https://flynn.io/)是一个开源的PaaS平台,可自动构建部署任何应用到Docker容器集群上运行,其功能特性与组件设计大量参考了传统的PaaS平台[Heroku](https://www.heroku.com/)。本文旨在从使用动机、基本对象、架构层次、功能组件、基本工作流这几个方面对Flynn做总体的介绍。
2014-11-19 01:04:01 14086 4
原创 Kubernetes初探
Kubernetes是Google开源的容器集群管理系统。它构建于docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。本文旨在梳理Kubernetes的架构、概念及基本工作流,并且通过运行一个简单的示例应用来介绍如何使用Kubernetes。
2014-10-30 00:10:58 31595 7
原创 【Reading】2014-07, 08
http://radar.oreilly.com/2014/07/questioning-the-lambda-architecture.html
2014-07-19 21:33:27 1029
原创 【Java】Upload file to web services
最近需要写一个web service API提供给前台调用,用以上传文件内容。
2014-06-27 17:43:37 1085
原创 【Hadoop】Compression Options
http://comphadoop.weebly.com/experiment-and-results.htmlhttp://comphadoop.weebly.com/http://www.slideshare.net/ydn/hug-compression-talk以上几篇文章MR中常见的几种compression格式,并通过一些实验数据来比较。通常,compr
2014-02-07 14:49:44 1013
原创 【Reading】2014-01, 02
http://blog.cloudera.com/blog/2012/01/an-update-on-apache-hadoop-1-0/Cloudera Blog上的这篇文章描述了Apache Projects通常的branching策略。回顾了Hadoop因为没有严格遵照这种策略而造成版本混乱的历史。
2014-01-19 14:16:17 987
原创 A rule of thumb about Interface vs Abstract Class
最近在翻阅Hadoop早期的jira list,对于一些重要的jira,会有很多贡献者的详细讨论,包括Doug Cutting, Tom White, Arun Murthy, Owen O'Malley等一批Hadoop领军人物的思想、观点,具有极强的学习价值。今天在阅读Hadoop-3412和HADOOP-1230,当中Doug Cutting阐述了如何选择Interface和Abstra
2013-11-09 17:21:16 827
原创 【Hadoop】JobQueueTaskScheduler
JobQueueTaskScheduler是JT默认的任务调度器,其本质上维护一个priority-based FIFO作业队列,基本的机制是优先调度高优先级/提交时间早的作业。但是,具体的调度策略需要综合考虑一系列的问题,比如cluster资源利用率、系统吞吐率、任务locality等等。下面从这些方面来分析一下调度策略。单个TaskTracker利用率最初,JT调度器每次h
2013-11-08 17:48:47 1134
原创 【Hadoop】Important Jiras Thoughout History
回顾Hadoop发展历史中的一些重要jira,对于学习和理解Hadoop设计原理和工作机制很有帮助,让你看到Hadoop commiters是如何一步步改进系统的。这里记录下个人觉得可以深入学习的jira。https://issues.apache.org/jira/browse/HADOOP-3136 Assign multiple tasks per TaskTracker heartb
2013-11-07 00:03:01 1000
原创 【Hadoop】JobTracker Restart Recovery
如果当前有MapReduce Job正在运行,而JobTracker突然down掉了,怎么办?由于JobTracker只是负责Job调度,记账,监控等工作,真正的任务执行在TaskTracker上,完全有可能重启JT而不丢失之前的任务运行。JT需要做的是将Job执行状态备份到文件,重启时读取文件以便恢复(在《MapReduce Job Files》一文中已经总结了几种备份文件)。要打开Re
2013-10-20 16:25:52 1314
原创 【Hadoop】MapReduce Job Files
接收到一个MapReduce Job后,JobTracker需要维护Job相关的一些信息,其中一部分需要以文件形式存储在HDFS或Local FS上。下表总结了几个主要的存储地址:FSLocation PropertyChild DirectoryDirectory File ListFile TypeHDFSmapreduce.jobt
2013-10-19 21:16:28 1399
原创 【Note】Java Collections Study
HashMap vs TreeMap vs LinkedHashMap1) HashMap is a map based on hashing of the keys. It supports O(1) get/put operations. Keys must haveconsistent implementations of hashCode() and equals()
2013-10-18 19:24:24 829
原创 【Reading】2013-10,11,12
http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html http://www.forbes.com/sites/ciocentral/2013/10/09/dont-use-hadoop-your-stovepipe-still-works/第一篇文章声称MapReduce的表达能力有限,很多问题用MapReduce进行抽象就
2013-10-17 11:25:33 713
原创 VMware VM上网设置
Host-only方式1、打开vmnetcfg.exe1.1 在“DHCP”选项卡下选中 VMnet1 ,点击右下方的“开始”,再点“应用”1.2 记住VMnet1的子网1.3 切换至“NAT”选项卡,在“VMnet 主机”中选择 VMnet1 ,依次点“开始”和“应用”按钮2、网络连接设置2.1 在主机中开启 VMnet1 虚拟网卡,并设置好 IP,IP必须在之前
2013-09-21 18:10:14 899
原创 搭建Hadoop VM集群
配置ssh无密码登录On master, 2013-09-21 12:19:05,240 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Call to 192.168.15.131/192.168.15.131:8
2013-09-21 18:05:19 1592
原创 【Hadoop】Simple Authentication
最近在写一个MapReduce程序,需要从DB里面读取某些数据,但是公司内所有的DB都是Kerberos方式认证,因而有必要对MapReduce Security机制做一些初步的研究。JAAS首先,Hadoop Security是基于JAAS(Java Authentication and Authorization Service)实现的,这是JDK标准的一个框架,可plug各种类型的L
2013-08-07 00:53:18 6264
原创 【Hadoop】Build and Execute
Hadoop官方wiki上介绍了如何用Maven编译和生成Eclipse项目,但是它需要hadoop-common的trunk代码,因为只有trunk上有pom.xml文件。而对于其他release版本的源代码,都包含build.xml,因此可以通过ant来编译。本文根据自己的经验,总结一下如何将下载的tar.gz源码包导入Eclipse,进而通过Eclipse编译和执行Hadoop。Comp
2013-07-16 21:59:36 1246
原创 【Hadoop】MapReduce Job Submission Files - 代码描述
Copy Job jar File org.apache.hadoop.mapred.JobClient.submitJobInternal() --> copyAndConfigureFiles() String originalJarPath = job.getJar(); //junz-20130713: Copy job jar file to JT's file
2013-07-15 22:34:30 1215
原创 【Hadoop】MapReduce Job Submission Files
整个MapReduce Job运行流程的最初几步是Client向JobTracker(JT)提交Job,如下图所示,图中第三步是将Job运行相关资源copy到JT可见的文件系统上。本文将讨论Client需要copy的主要文件。下图列出了copy到staging dir上的几个文件:首先,显而易见的是,job.jar包含Job要执行的程序;job.xml包含所有配置信息(所有可配置的pr
2013-07-15 22:10:08 2045
原创 【Hadoop】Why Writable Interface
在前面学习RPC系统的时候,可以看到client和server相互通讯都是用Writable类型来序列化。实际上,Writable Interface是一种Hadoop内置的序列化机制,MapReduce中的key, value都需要是Writable。最初一直不太理解,为何Hadoop需要自定义一种序列化机制,而不重用Java内置的序列化机制。《Hadoop The Definiti
2013-06-08 16:51:03 1371 2
原创 【Notes】Effective Java 2nd -- Concurrency
Item 66: Synchronize access to shared mutable data1. Not only does synchronization prevent a thread from observing an object in an inconsistent state, but it ensures thateach thread entering a synch
2013-06-03 11:59:20 1129
原创 A Hadoop data pipeline to analyze applicaction performance
1. IntroductionIn recent years, Hadoop has been under the spotlight for its flexible and scalable architecture to store and process big data on commodity machines. One of its common use cases is to
2013-06-01 21:50:51 3082
原创 【Hadoop】RPC Client Workflow
Client端比Server端简单,只有两种线程:Client线程:发起RPC的主线程Connection线程:每一个ConnectionId (由组成)唯一对应一个Connection线程,用以接受server端的response如上图所示,基本的工作流程如下:Client线程将输入参数值封装成Call,Call在原来的基础上增加了RPC完成标志和RPC返
2013-06-01 15:40:18 1935
原创 Browser Caching for GWT RPC Response
最近在学习Web System中的Caching技术,其中一种常见的是browser cache,对HTTP GET response应用cache,并通过某些HTTP Header字段控制cache policy。然而,我们web server是基于GWT开发,GWT有自己的一套RPC系统,利用HTTP POST实现client和server之间的异步通讯。这时候问题就来了,用户每一次点击将会触
2013-05-29 20:48:49 1228
原创 【Hadoop】RPC Serialization Format - 代码描述
在前面一篇文章http://blog.csdn.net/tragicjun/article/details/8958154中大致总结了RPC消息序列化的格式,这里从代码层来描述。Client-sideRPC Headerorg.apache.hadoop.ipc.Client.call() --> getConnection() --> Connection.setupIOstre
2013-05-23 00:54:29 1443
原创 【Reading】2013-05, 06, 07, 08
http://hortonworks.com/blog/moving-hadoop-beyond-batch-with-apache-yarn/ 分析Hadoop YARN出现的原因,主要的角度是SQL in Hadoop;http://blog.cloudera.com/blog/2013/05/cloudera-development-kit-cdk/ 此前Cloudera推出Clouder
2013-05-19 14:42:18 1087
原创 【Hadoop】RPC Server Workflow
RPC Server的实现用到了Thread,Cocurrency,NIO等技术,对于学习者来说是很好的实践参考。这里先把workflow理清楚,再去研究具体的实现细节。如下图所示,其主要涉及到以下几种线程:Listener线程:以selectServerSocketChannel的方式监听Client的connect请求;对于每一个Client请求,由ServerSocketCh
2013-05-18 21:51:23 2092 2
Understanding the Linux Kernel
2008-02-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人