HBase BulkLoad

1. 数据导入流程

一般数据存放在关系型数据库,Oracle、MySQL中。如果数据量不大,少于30G,量少于5000万条,可以用Sqoop 直接 Oracle -> HBase。
量大的话,HBase 性能会严重影响,建议
1、Sqoop Oracle -> HDFS;
2、HDFS -> HFile;
3、HFile -> HBase;

2. Sqoop Oracle->HBase

3. Sqoop Oracle->HDFS

4. HDFS->H[……]

Read more

编译 HBase 0.98.13 基于 Hadoop 2.6.0

1. 目录

[TOC]

2. 基本环境

应用
版本
位数
备注

系统
CentOS 6.5
64

JDK
1.7.0_79
64

Maven
3.3.3

Hadoop
2.6.0
64
已编译

HBase
0.98.13-src

3. 为何需要编译

如果运行 hbase 相关工具包,例如 hbase 的 ImportExportCopyTable 会有以下相关问题:
在非 ResourceManager 节点上运行以上命令,会无法[……]

Read more

置顶文章! 继续阅读?

Hadoop2.6.5源码分析-NameNode核心启动流程

1. 概述

我们要分析HDFS-NameNode的启动流程,就得从启动脚本开始一步步分析,当然开始之前,我们需要编译Hadoop的源码,具体的编译流程请参考我另外一篇博客 hadoop2.6.5源码编译

2. start-dfs.sh

2.1. 介绍

我们启动Hadoop在2.6版本是通过 start-dfs.sh 来启动的。
start-dfs.sh 的使用说明为 usage="Usage: start-dfs.sh [-upgrade|-rollback] [other options such as -clusterId]"
当不传递任何参数的时候,该脚本会依次启[……]

Read more

置顶文章! 继续阅读?

CDH 5.16.2 安装 Kafka

1. 下载Kafka Parcel包

1.1. CDH Kafka兼容性

Kafka兼容性列表可以参考Cloudera的官方手册:
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_kafka

1.2. 下载地址

由于线上环境要求使用Kafka 1.X 版本,那么我这里选择 3.1.1 版本的 Kafka Parcel 包。
http://archive.cloudera.com/kafka/parcels/3.1.1.2/

根据自己[……]

Read more

JAVA虚拟机堆内存

1. 概述

环境:JDK1.6
JAVA堆内存分为新生代(Young)和老年代(Old),比例为1:2。也就是如果有1.5G的堆内存,新生代内存为512M,老年代为1G。
而新生代又分为三块区域,EdentSurvivor 1Survivor 2
EdentSurvivor 1Survivor 2 比例分别是 8:1:1。也就是 512MB的 Young 区域, Survivor 1Survivor 2 各51.2MB, Edent 409.6MB

2. 堆内存运行流程:

1、用户创建的对象首次放入到Eden区域,Eden区域满了之后,JVM就会运行Mino[......]

Read more

置顶文章! 继续阅读?

JVM类加载器

1. JVM类加载器

1.1. 类加载器的过程

加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载

1.1.1. 加载

class文件中的 main 方法开始加载,用到哪些类,就加载哪些类。
执行 Student.class 中的 main方法

1.1.2. 验证

Java虚拟机规范验证 class 是否符合规范。
验证 Student.class 是否符合Java虚拟机规范,防止恶心篡改。

1.1.3. 准备

给类和划分内存空间,给变量初始化值。
Student student = new Student();
给 student 划分内存空间,并且[……]

Read more

JVM 垃圾回收器

1. Serial

常用于年轻代的垃圾回收器,使用的算法为标记-清理。
单线程

2. ParNew

常用于年轻代的垃圾回收器,使用的算法为标记-复制。
多线程

3. CMS

常用于老年代的垃圾回收器,使用的算法为标记-清理-整理。
CMS执行垃圾回收的过程:
1、初始标记;
2、并发标记;
3、重新标记;
4、并发清理;

3.1. 初始标记

系统停止运行;
运行速度:快
标记GC Roots;
GC Roots 的点有方法的局部变量和类的静态变量

3.2. 并发标记

系统可以继续运行;
运行速度:慢
追踪GC Roots(看本对象被谁应用,可以理解为关[……]

Read more

G1垃圾回收器

1. 概述

G1最大的特点是可以设置一个垃圾回收的预期停顿时间。
G1是直接把整个堆内存分为很多大小相当的 Region,默认是2048个。但是这些Region也有Eden、Survivor、Older区域概念。

2. G1常用参数

|

参数

作用
默认值

-XX:+UseG1GC
开启G1垃圾回收器 | JDK1.8之后默认,JDK1.8之前是ParNew+CMS

-XX:MaxGCPauseMills
每次GC停顿的最大时间,(单位:ms) | 200

-XX:G1HeapRegionSize
设置Region数量 |[……]

Read more

CentOS6.5 CDH5.16.2离线安装

1. 集群环境及安装包

1.1. 集群环境

主机名
IP
系统版本
部署服务

hadoop32
192.168.0.32
CentOS6.5_64
CM Server、Agent、MySQL

hadoop33
192.168.0.33
CentOS6.5_64
CM Agent

hadoop34
192.168.0.34
CentOS6.5_64
CM Agent

1.2. 准备安装包

包名
下载地址

mysql-5.7.27-1.el6.x86_64.rpm-bu[……]

Read more

置顶文章! 继续阅读?