说明文档地址 下载和安装 # 下载 $ wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.11.0.tar.g...
ubuntu14.04 or centos7 CDH5 离线安装 1、机器准备 cdh01 192.168.56.106 cdh02 192.168.56.101 cdh03 192....
jdwp远程调试简介 Java远程调试的原理是两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。这对于一些分布式框架(如hadoop集群【...
ant build.xml <project name="zdemo-hadoop-debug" basedir="." default="prepare"> <pr...
flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目。...
集群硬件准备: 测试集群 常见组件的最低内存配置: zookeeper 2G namenode 8G-12G(大概每100万个文件需要1G的内存) datanode & MR 4...
相信长时间运维HBase集群的童鞋肯定都会对RIT(Region-In-Transition,很多参考资料误解为Region-In-Transaction,需要注意)有一种咬牙切齿的痛恨感...
服务端优化手段 1、虚拟机内存优化 java -Xms256m -Xmx512m -XX:NewSize=xxm -XX:MaxNewSize=xxm -XX:+UseParNewGC //...
hbase表设计的核心 如何在海量的数据中获取相关的数据?长会使用 rowkey查询最快(通常对rowkey进行范围扫描(慎用filter!)); row...
要使用Hadoop,需要将现有的各种类型的数据库或数据文件中的数据导入HBase。一般而言,有三种常见方式:使用HBase的API中的Put方法,使用HBase 的bulk load工具和...
在hadoop环境运行hbase自带的MR任务 # 1. 运行 bin/hbase mapredcp 查看MR集成hbase所需要的jar包 bin/hbase mapredcp lib/...
0.98.6-hadoop2版本 java API示例 <dependency> <groupId>org.apache.hbase</groupId>...
Hbase简介 Hbase是一个构建在HDFS之上的、高可靠、高性能、面向列、可伸缩、实时读写的开源分布式数据库,是google的bigtable的开源实现,适用于海量数据的存储和实时查...
Restfull API 请求格式 curl [-u xxx] [-I] -X[HEAD|POST|DELETE|PUT|GET] 'http://<HOST>:<PORT&...
概念 Elasticsearch 分布式、可扩展、实时的搜索与数据分析引擎 建立在全文搜索引擎库 Apache Lucene 基础之上 能胜任上百个服务节点的扩展,并支持 PB...
hive是什么? 由facebook开源,用于解决海量结构化日志的数据统计; 基于hadoop的一个数据仓库工具,使用HDFS进行存储并将结构化数据文件映射成一张表...
前期准备 对机器的配置 numbusz supervisor01z supervisor02z ...
HDFS java API Base 首先要拷贝hadoop配置文件 和 log4j.properties 到maven项目的类路径(e.g. resources 目录) <!-- h...
大数据的特点 大(大象 Volume) 繁(章鱼 Variety) 快(豹子 Velocity) 值(淘金 Value) 由谷歌的三驾马车引申出hadoop Map...
一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管...
在java中,使用线程来异步执行任务,java线程的创建与销毁需要增加一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建和销毁需要耗费大量的计算资源,同时这种策略可能会使...
java中的线程池是运用场景最多的并发组件,几乎所有的异步或者并发任务的程序都可以使用线程池。在开发过程中使用线程池将会带来3个好处: 降低资源的消耗。通过反复利用已创建的...
在JDK的并发包里面提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier、Semaphore工具类提供了一种并发流程控制的手段,Exchager工具类则...
Fork/Join框架是java7提供的一个用于并行执行任务的框架,是一个把大部分任务分割成若干小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork、Join这两个词来...
当程序更新一个变量时,如果多个线程同时更新,可能得到预期之外的结果。比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2。因为AB在更新变量...
在并发编程的使用HashMap可能导致程序死循环,而是用HashTable(使用synchronized)效率又非常低下,基于上述两个原因,ConcurrentHashMap便有了登场的机...
LockSuport工具 LockSupport是JDK中比较底层的类,用来创建锁和其他同步工具类的基本线程阻塞原语。java锁和同步器框架的核心 AQS: AbstractQueuedSyn...
读写锁 读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问时,所有的度线程和写线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比其他锁有了很大提升。...
重入锁 重入锁(ReentrantLock),顾名思义,就是支持重进入的锁,它表示该锁能够支持对资源的重复加锁。除此之外,该锁还支持获取锁时的公平和非公平性选择。 回忆上篇的示例Mutex,...
信号机(Semaphore)和信号协调 以一个停车场是运作为例。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆不受阻碍的进入,然后放下...
一个简单的数据库连接池示例 我们使用等待超时模式构造一个简单的数据库连接池,在示例中模拟从连接池中获取、使用、和释放连接的过程,而客户端获取连接的过程被设定为等待超时模式,也就是在1000ms...
使用JMX程序代码检查程序中包含的线程 import java.lang.management.ManagementFactory; import java.lang.management.T...
并发编程中,需要处理两个关键性的问题线程之间如何通信以及线程之间如何同步。 线程之间的通信方式分为两种:共享内存 和 消息传递。 java的并发采用的是共享内存模型,java线...
volatile的应用 Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM...
摘要: 第1章并发编程的挑战 并发编程的目的是为了让程序运行的更快,但是并不是启动更多的线程,就能让程序最大限度的并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行的更快,会...
top命令 1) 使用top命令查看每个进程的情况,显示如下: top - 14:05:54 up 40 min, 1 user, load average: 0.02, 0.03, 0...
首先我们先来看一个简单的单模块项目构建示例 zdemo-gradle-simple settings.gradle rootProject.name = 'zdemo-grad...
DSL (domain specific language) 即所谓领域专用语言,其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言...
springmvc请求执行流程 springmvc核心源码 核心方法:DispatcherServlet.doDispatcher 该方法控制着springmvc处理和响应请求的核心流...
责任链模式代码执行过程 相关测试源码: /** * 封装请求体 */ public class Request { private String content; public ...
“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件, 比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是J...
No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 当使用ajax访问远程服务...
java @Controller @RequestMapping("/value") public class ValuePropertyController extends App...
Spring MVC项目中通常会有 sprng-servlet.xml 和 applicationContext.xml 二个配置文件,通常会出现以下几个配置 1、<context:an...
Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示: 表1 Cron表达式时间字段 位置 时间域名 允许...
Jsoup的不足之处: 说到网页信息抓取,相信 Jsoup 基本是首选的工具,完全的类JQuery操作,让人感觉很舒服。但java爬虫的一般思路是使用 HtmlUnit 等第三方工具抓取原网页...
UNIQUE约束可以防止两个记录在一个特定的列具有相同的值。 Customers表中,例如,你可能要防止两个或两个以上的人具有相同的年龄。 例子: 例如,下面的SQL语句创建一个新的表...
Cascade is a convenient feature to save the lines of code needed to manage the state of the other...
JPA itself is just a specification, not a product; it cannot perform persistence or anything e...
@Entity 注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) 。 @Table 注册在类头上,注解声明了该实体bean映射指定的表(table)。 @Id ...
assigned 主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使...
实体类 public class MultiTypeDemo { private String id; private Integer ii; private Short sht; p...
java.util.Calendar Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。 Calendar.DAY_OF_WEEK 定义和值如下...
责任链模式 /** * 封装请求体 */ public class Request { private String content; public Request(String con...
概述 回调通常的实现方式:匿名类。 回调模式的优点: 封装隐藏细节 开发者可以自定义回调函数(new interface(){…}实现) 可以同步,也可以异步回调 同...
单例与多例问题是指,当多个用户访问某个类时,系统是为每个用户创建一个该类实例,还是整个系统无论多少用户访问,只创建一个该类实例。 线程安全问题是指,多个用户同时在访问同一个程序时,其对于某一数...
简介 RMI(即Remote Method Invoke 远程方法调用)。在Java中,只要一个类extends了java.rmi.Remote接口,即可成为存在于服务器端的远程对象,供客户端...
applicationContext.xml <!-- 配置扫描组件包 【com.sprdatajpa**】,通过注解定义bean, 默认同时也通过注解自动注入 --> <...
gson是google解析json的一个开源框架,同类的框架fastJson,JackJson等。 使用gson处理html特殊字符 public static void mai...
网络协议的概念 所谓协议,可以理解为一些规则,这些规则规定了两个需要连通的两点之间应当如何进行数据交互(可以用人类的语言作比较)。 OSI七层模型和TCP/IP模型 对于网络来说,有两种模...
java常见字符串操作 代码示例: package regex; import java.util.regex.Matcher; import java.util.regex.Pattern...
概述 反射是Java中非常重要的一个语言特性,反射的强大和完善,让Java语言在工程实践中的灵活性大大的增强,使得Java程序在运行时可以探查类的信息,动态的创建类的对象,获知对象的属性,调用...
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文...
开闭原则 对于程序员来说,一方面,由于需求是由客户提出的,无法控制需求的变化;另一方面,随着技术的进步和时代的发展,技术和商业一定会有着非常巨大的变化。这些变化,都会使得人们对软件的要求有变化...
概述 在程序运行的过程当中,JVM的内存中必然会存放很多数据,包括基本类型和对象类型。但是当程序结束,JVM关闭的时候,这些数据必然会随之消失。我们可能希望通过某种方式,让这些数据能够保存下来...
基本线程 package threadtest; /** * 基本线程 * @author zhangqingli * */ public class BaseThread01 { ...
Java Data Type 整型 下面是整数据的内存模型 int 4个字节 -2^31~2^31-1(大约在+-20亿范围) short 2个字节 -2^15~2^15-1(...
代码示例: import java.io.File; import java.io.IOException; import java.io.OutputStream; import javax...
ThreadLocal是什么 早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以...
多线程与并发的概念 首先,我们来介绍一下并发的基本概念和原理。对于现代操作系统来说,大部分操作系统都是多任务操作系统。什么是“多任务”呢?指的是每个系统在同时能够运行多个进程。例如,在wind...
示例一 import java.io.File; import java.io.FileReader; import javax.script.ScriptEngine; import jav...
概述 内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。 内部类可以是静态static的,也可用public,default,protected和private修饰,...
所谓”data”类型的Url格式,是在RFC2397中 提出的,目的对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入。例如对于img这个Tag,哪怕这个图片非常非常的小,小到只有...
泛型类 public class Fanxinglei<T> { private T obj; public T getObj() { return obj; } ...
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。 元注解 元注解的作用就是负责注解其他注解。Ja...
集合分为两大类,即Collection(List、ArrayList、LinkedList、Vector;HashSet、LinkedHashSet、TreeSet) 和 Map(Hash...
PATH 与CLASSPATH 根本就是不同层次的环境变量, 实际操作系统搜索可执行文件是看PATH(javac Test.java) JVM 搜索可执行文件(.class)只看CLA...