- 博客(40)
- 收藏
- 关注
原创 Kerberos 安装
请转至作业部落的博客 安装Kerberoshttps://www.zybuluo.com/xtccc/note/175999
2015-09-18 14:08:42 775
原创 YUM配置及自定义
配置YUMYum needs to know what software should be installed on your system. For instance, if you are using Fedora Core 2, then it needs to know what packages make up a standard install of Fedora Core 2. T
2015-07-23 11:23:40 902
原创 使用Kryo
Kryo Serializer使用Kryo简单例子下面我们使用Kryo来将一个class(ImmutableBytesWritable)的 instance 转换成字节流写入外部文件,然后再从文件中读取里面的字节内容,并将其反序列化为该class的另一个instance。 def main(args: Array[String]):
2015-07-16 15:52:34 1792
原创 Spark中的序列化机制
Spark中的序列化机制在写Spark的应用时,尝尝会碰到序列化的问题。例如,在Driver端的程序中创建了一个对象,而在各个Executor中会用到这个对象 —— 由于Driver端代码与Executor端的代码运行在不同的JVM中,甚至在不同的节点上,因此必然要有相应的序列化机制来支撑数据实例在不同的JVM或者节点之间的传输。什么样的数据
2015-07-16 13:54:24 12752
原创 HBase使用常见异常
无法连接ZooKeeper典型异常: INFO ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 15/07/12 10:06:33 WARN ClientCnxn: Ses
2015-07-12 10:37:25 3303
原创 HBase中由Reverse DNS引起的问题
参考: HowTo Test or Check Reverse DNS on a Linux / Unix 使用HBase时的Reverse DNS相关问题当我们把HBase的Table作为MapReduce或者Spark的输入数据源时,容易碰到如下的问题: 15/07/06 17:03:31 WARN TableInputFormatBase: Cannot resolve the hos
2015-07-06 21:20:45 2364
原创 Kafka Producer
本文采用Kafka 0.8.2版本 OverviewProducer的作用生成数据(消息),并将其发送到Kafka集群(brokers)中。将消息发送给谁Producer在向Kafka集群发送消息时,需要指定发送到哪一个topic中。除此之外,还可以指定发送到该topic的哪一个partition中。消息的构成一条消息的成分,从逻辑上来说,由真正的消息数据(message)和元数据(metadat
2015-06-30 13:40:44 5203
原创 Kafka High Level Consumer API in Scala
本文目的研究了一下Kafka Produce/Consumer 的API,发现Consumer API的使用并没有那么的straight forward。折腾了2天后,终于摸到了一些门道,这里记录下怎样使用High Level Consumer API来接收并处理一个Topic中的消息。
2015-06-26 14:13:40 4044
原创 Sqoop2基础
安装Sqoop2通过Cloudera Manager的Add a service来安装Sqoop2 Server即可,不需要安装client。试用Sqoop不需要下载client,启动Sqoop2 server之后,直接在CDH中的某个节点上运行命令sqoop2即可。
2015-06-06 09:58:29 3174
原创 HDFS ACL 权限管理
What is ACLHadoop中的ACL与Linux中的ACL机制基本相同,都是用于为文件系统提供更精细化的权限控制。
2015-05-22 16:37:22 12603 1
原创 ACL
参考 ACL: Using Access Control List on Linux What is ACLACL - Access Control List,用于在Linux文件系统传统的权限控制机制之外,提供更加精细化的文件权限控制。
2015-05-21 21:00:02 1241 1
原创 Hadoop的安全/权限管理
为什么要注重权限管理Hadoop集群装好了,其自身几乎没有对安全/用户权限的配置。用户可以轻易地伪造自己的身份来破坏Hadoop集群,例如,从client伪装成一个hdfs用户删除HDFS中的全部数据,或者伪装成mapred用户提交一个恶意的job。对于商业用户而言,数据安全是最重要的。所以,对于Hadoop集群而言,必须进行一定的安全配置,保证数据和集群的安全。
2015-05-20 14:45:31 10177
原创 利用Phoenix为HBase创建二级索引
为什么需要Secondary Index对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫瞄的代价是不可接受的。但是,很多情况下,需要从多个角度查询数据。
2015-05-17 15:10:35 28016 12
原创 HBase bulkload
通过直接生成HFile文件,可以将要保存数据bulkload到HBase中,速度比使用HBase API要快很多。在生成了HFile之后,一般通过HFileOutputFomat这个工具来将其导入到HBase表在HDFS中的目录。遇到的问题导入HFile时权限不够在使用HFileOutputFomat来导入HFile时,很可能会发现导入的过程卡住不动了,如下: 实际上,卡住的原因是因为在loadi
2015-05-15 09:53:15 1088
原创 Phoenix / HBase中的salted table
What are salted tables为了避免读写HBase表数据时产生hot-spot问题,我们使用Phoenix来创建表时可以采用salted table。salted table可以自动在每一个rowkey前面加上一个字节,这样对于一段连续的rowkeys,它们在表中实际存储时,就被自动地分布到不同的region中去了。
2015-05-13 21:37:18 4066 1
原创 使用Phoenix的JDBC接口
使用Phoenix的JDBC接口Phoenix提供了JDBC接口,可以在Client中方便地以SQL的形式来访问HBase中的数据。下面以Java代码来展示用法.
2015-05-13 09:42:55 14310
原创 Scala中json4s的使用例子
最近开始使用json4s来解析和生成JSON。 引入依赖<dependency> <groupId>org.json4s</groupId> <artifactId>json4s-jackson_2.10</artifactId> <version>3.2.11</version></dependency>构造JSON字符串 例1implicit val f
2015-03-29 21:12:55 14114 1
原创 正则表达式
本文以Scala语言为例 匹配中文字符(不含标点)"""([\u4E00-\u9FA5]+)""" 匹配全部字符"""([\s\S]*?)"""解释:\s匹配空白符,\S匹配非空白符,所以[\s\S]就匹配全部字符。 *是匹配任意数量个字符,?是尽量短的贪婪模式。
2015-03-25 15:48:28 489
原创 20秒建立一个Web Server
有时候,我们会需要在本地建立一个Http Server,似的可以通过浏览器的URL来访问这些文件(如 http://localhost:8080)。lighttpd、httpd和nginx是常见的web服务器,但是这些功能都很丰富,而我们只想要一个http server,如果不需要下载任何软件且20秒就可以部署使用那就最理想了。那么,python可以满足你这个需求。只要你的系统(这里指Linux)中
2015-03-22 15:41:14 946
翻译 使用libtool
摘自 libtool官方文档Introduction在本文中,我们的目标是构造一个名为libhello的库。这里,libhello可以是一个动态库,也可以是一个静态库。Using libtools首先下载一个libtool的安装包,解压后找到里面的demo文件夹,里面有文件hello.c和foo.c,我们将从这两个文件构造libhello库。
2013-09-11 13:16:14 2299
翻译 JAVA RMI
译自 The Java Tutorials (TraIls: RMI) RMI应用概述一个RMI应用通常由两部分组成,即客户端和服务器端。服务器端程序创建若干远程对象(Remote Objects),使这些远程对象对客户端是可访问的,并等待客户端来调用这些远程对象的方法;客户端程序则获取服务器上若干个远程对象的引用,并调用这些其方法。像这种类型的应用被称为Distributed
2013-08-15 15:51:24 1204
原创 Python小知识(4)
导入模块及方法import mathfrom math import sqrtprint(math.floor(11.1))print(sqrt(9.1))
2013-08-14 20:26:13 556
转载 HDFS中的压缩与解压缩机制
我们可以把数据文件压缩后再存入HDFS,以节省存储空间。但是,在使用MapReduce处理压缩文件时,必须考虑压缩文件的可分割性。目前,Hadoop支持以下几种压缩格式压缩格式UNIX工具算 法文件扩展名支持多文件可分割DEFLATE无DEFLATE.deflateNoNogzipgzipDEFL
2013-08-14 16:24:46 12374
翻译 Java Dynamic Proxy
本文译自博文 Understanding Java Dynamic Proxy 假定,我们需要一个计算器,就把这个接口叫做Calculator吧。interface Calculator { public int add(int a, int b); public int sub(int a, int b);}有了接口,我们还需要一个真正的计算器实现,就把它叫
2013-08-13 20:08:40 758
翻译 Java动态代理(Java Dynamic Proxy)
以下内容翻译自不知名的某个文档概述作为client和target之间的中间人(intermediary),代理在很多场合下是很有用的。为了进一步理解动态代理的作用,我们首先看一个不使用代理机制的实例。public interface IVehicle { public void start(); public void stop(); public Strin
2013-08-12 20:08:53 831
翻译 非深入探寻Java反射机制 (Arrays)
通过Java反射机制来使用数组时需要用到类java.lang.reflect.Array创建数组int[] A = (int[])Array.newInstance(int.class, 3);访问数组int[] A = (int[])Array.newInstance(int.class, 3);Array.set(A, 0, 100);Array.set(A
2013-08-11 21:55:16 651
翻译 非深入探寻Java反射机制 (Generics)
我们通常会在两种情况下使用Java中的范型机制将一个类或者接口声明为可参数化的(parameterizable)使用可参数化的类
2013-08-11 21:44:37 567
翻译 Java Annotations
本文译自Java AnnotationsJava Annotation Purposes一般来说,Java Annotations有以下三种用途:Compiler instructionsBuild-time instructionsRuntime instructions构建工具能够扫描Java代码中的annotations并基于这些annotations来生
2013-08-10 21:42:31 949
翻译 非深入探寻Java反射机制 (Annotations)
什么是Java AnnotationAnnotation是从Java 5开始添加的一种新feature,它类似于comments或者meta data,可以被插入到Java代码中。这些annotations可以在编译时被预编译工具处理,也可以在运行时Java Reflection处理。
2013-08-09 11:08:12 733
翻译 非深入探寻Java反射机制: Private Fields and Private Methods
借助于Java的反射机制,我们可以访问一个类的私有成员及私有函数Accessing Private Fields在前面,我们说过,Class.getField(String)以及Class.getFields()这两个方法只能返回public的成员。如果想访问private成员,需要使用函数Class.getDeclaredField(String)和Class.getDecl
2013-08-09 10:29:38 1357
翻译 非深入探寻Java反射机制 (Getters and Setters)
首先定义setter方法和getter方法:getter方法: getter方法的方法名以get开头,没有参数,有返回值setter方法: setter方法的方法名以set开头,有一个参数,返回值可有可无现在,我们拿来写一个程序判断某个类中的每一个方法是不是getter/setter方法 publi
2013-07-29 21:07:40 816
翻译 非深入探寻Java反射机制 (Fields)
通过 java.lang.reflect.Field,我们可以在运行时访问类的成员变量。Obtaining Field Objectspackage tao.xiao.action;import java.lang.reflect.Field;public class A implements IT1 { private int a; protected Stri
2013-07-27 14:46:47 973
翻译 非深入探寻Java反射机制 (Constructor)
使用Java Reflection机制,我们可以在运行时探寻一个类的构造函数并且生成该类的实例。这些是通过 java.lang.reflect.Constructor 实现的。Obtaining Constructor Objects如下方法可以获得一个类的所有public构造函数Class myClass = Class.forName("A"); Const
2013-07-27 10:47:15 924
翻译 非深入探寻Java反射机制
首先来看一段Java反射(Reflection)的例子import java.lang.reflect.Method;public class HelloJava { public static void main(String[] args) { Method[] methods = HelloJava.class.getMethods(); for (Method m :
2013-07-26 10:27:55 688
翻译 Intrinsic Locks & Synchronized Statements
Java的同步建立在intrinsic lock(也称为monitor lock)的基础之上,intrinsic lock用于保证对指定对象状态的排他性访问及建立happens-before关系。每一个对象都有一个instrinsic lock与之关联。当一个线程拥有了一个intrinsic lock之后,其他线程就无法获得该instrinsic lock,直到该lock被释放。使用synch
2013-07-24 16:48:48 926
翻译 定义并启动线程
每一个线程都与一个Thread实例相关联,以下两种方法可以在应用程序中创建并运行一个线程。实现Runnable接口public class MyRunnable implements Runnable{ public MyRunnable() { System.out.println("MyRunnable's constructor!");
2013-07-24 16:43:05 622
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人