自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TMH_ITBOY的博客

The most handsome ITBoy

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

原创 OpenLDAP源码编译安装,并配置posixAccount在linux系统中的用户sudo权限

编译openldap,可作为kerberos的database。需要用到openssl 1.1.1或以上版本,以及kerberos包中带的kerberos.openldap.ldif文件。一、准备准备以下所需安装包:openssl-1.1.1.tar.gz 下载地址:https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gzopenldap-2.5.5.tgz 下载地址:https://www.openldap.org/softwar

2021-07-15 15:48:37 1519 1

原创 kerberos编译安装并配置openldap作为其后端数据库

注意,由于kerberos使用openldap作为后端数据存储,则需要openldap的配置中具有kerberos的schema配置。搭建openldap并添加kerberos的schema到openldap配置中,请结合上一篇文章关于kerberos.ldif的使用部分。一、编译安装kerberos下载kerberos源码包到/opt/packages目录下。cd /opt/packages && wget https://kerberos.org/dist/krb5/1.19/k

2021-07-15 16:02:37 1038 2

原创 Hive优化指南

Hive作为大数据分析领域常用的仓库工具,即使是现在流式计算如火如荼背景下,Hive依然倍受各大厂商挚爱。使用Hive过程中,面对各种各样的查询需求,需要具有针对性的优化。下面内容就是摘抄自《Hadoop 数据仓库实践》一书中关于Hive优化部分内容。在此,感谢作业的辛勤付出。部分优化已经用于我的实际工作中。比如使用ORC存储文件、启用压缩、开始向量化等。此处记录下来,仅为学习和加强记忆。1. 启用压缩压缩可以使磁盘上的数据量变小,例如,文本文件格式能够压缩40%甚至更高的比例,这样可以通过降低I/

2021-02-23 16:25:24 595 1

原创 Apache avro常用Java中数据类型序列与反序列化

背景在大数据领域,总是会遇到需要将各种数据类型序列化成字节数组,或者从字节数组反序列化回常用数据类型的场景,比如,Spark中推荐使用kyro,HBase中,使用HBase提供的工具来进行序列化以及反序列化,HBase内部使用google的probuff来序列化进行网络通讯等情况,以及hadoop使用Apache avro来序列化。当然,各种序列化方式的性能以及效率各种优缺点(此文不做对比)。以上序列化都是框架内部已经给我们做好了序列化以及反序列化操作,如果我们在实际工作中,需要自己手动来序列化的场景,

2021-02-01 13:50:42 1134 1

原创 Avro序列化Java中 的BigDecimal

背景由于业务需要,需要将SparkSQL中Array、Map、Struct使用avro序列化成一个大的字节数组进行存储。但是在序列化过程中,涉及到Java的BigDecimal类型,根据avro官网提示,定义schema如下:{ "namespace":"com.bugboy.avro.bean", "type":"record", "name":"DecimalDemo", "fields":[ {"name":"id", "type":"string"

2021-01-26 10:36:40 879 1

原创 kerberos + Ranger 实现对Kafka的认证以及权限管理

1. 安装Ranger安装JDK(略)编译Ranger(略)安装MySQL(略)创建名为ranger的数据库(CREATE USER 'ranger'@'%' IDENTIFIED BY 'ranger';)。创建名为ranger的用户,并授权ranger数据库所有权限给ranger(GRANT ALL PRIVILEGES ON ranger.* TO 'ranger'@'%';)...

2020-04-24 13:53:17 2658 3

原创 发布开源项目至maven中央仓库,内附打scala源码包,scala doc 包的教程。

背景自己构思一个好的项目到github,然后发布到maven,供别人通过maven进行依赖使用。然后写点文档什么的,就可以到github骗小星星了。实际操作到网站https://issues.sonatype.org/,注册账号,该网是外网,需要自备小梯子。。注册时需要设置密码,看别人的博客说密码要求挺高,我一般都是用chrome浏览器自动生成的,然后用小本子记下来,看着是挺复杂的,强烈建...

2020-01-19 09:55:18 470 1

原创 Hive on Spark 搭建过程(hvie-3.1.2 spark-2.4.5 hadoop-3.1.3)

Hive On Spark 官方教程注意,一般来说hive版本需要与spark版本对应,官网有给出对应版本。这里使用的hive版本,spark版本,hadoop版本都没有使用官方推荐。下载Spark 源码,以spark-2.4.4 为例。编译Spark 源码。编译时选择hadoop版本,可选的有hadoop2.7.3和 hadoop2.6的,我要使用2.8.5,所以修改pom文件...

2020-01-17 14:20:26 4192 2

转载 深入理解G1GC日志

本文转载于https://www.cnblogs.com/javaadu/p/11220234.html,侵删 本文翻译自:https://www.redhat.com/en/blog/collecting-and-reading-g1-garbage-collector-logs-part-2?source=author&term=22991这篇文章将深入研究G1的日志和...

2019-10-23 10:50:33 482

原创 MapReduce 二次排序

MapReduce 二次排序需求:有这样的一堆数据:22 1222 1322 622 1721 528 7928 6328 1001 7923 841 6367 4518 2319 741 10021 ...

2019-10-16 13:30:35 216

原创 protobuf原理以及在 Idea 中 Java 的用法示例

转载部分 Start>>>>>>此部分的原文连接:https://www.jianshu.com/p/419efe983cb2,尊重原创,原理部分请参考原文 protobuf是google团队开发的用于高效存储和读取结构化数据的工具。什么是结构化数据呢,正如字面上表达的,就是带有一定结构的数据。比如电话簿上有很多...

2019-07-30 00:15:27 438

原创 Spark生成HBase 的 HFile 文件,并使用BulkLoad 方式将 HFile 文件加载到对应的表中

先看一个问题java.io.IOException: Added a key not lexically larger than previous. Current cell = M00000006/info:age/1563723718005/Put/vlen=4/seqid=0, lastCell = M00000006/info:name/1563723718005/Put/vlen=2/...

2019-07-22 00:07:08 2127 3

原创 Spark 内存调优以及 JVM 调优

Spark 内存调优以及 JVM 调优(基于源码2.2.0分析)目前Spark使用的内存管理模型有两个,分别是:StaticMemoryManagerUnifiedMemoryManager而StaticMemoryManager是1.6之前的版本使用的内存管理模型.UnifiedMemoryManager是1.6之后使用的内存管理模型.在SparkEvn中,通过spark.memo...

2019-06-06 15:43:43 489

原创 HBase 2.0版本协处理器 Endpoint使用

在 HBase2.0之前使用协处理器 Endpoint 时,使用的方式是实现CoprocessorService,Coprocessor这两个接口,但是在2.0版本中,这么做在 hbase regionServer的日志中显示 Endpoint 加载成功了,但是在 hbase 的 regionServer UI 界面,并没有显示已经加载的Endpoint协处理器,也没有报错日志,很头疼.同时Cop...

2019-05-13 23:32:42 1665 4

原创 Spark 读取 csv 时,当 csv 的字段值中有 JSON 串

Spark 读取 csv 时,当 csv 的字段值中有 JSON 串需求:统计 csv 中 有 json 串的 key 个数csv 数据:代码:package com.rm1024.scalaimport com.alibaba.fastjson.JSONimport org.apache.spark.sql.SparkSessionimport scala.collectio...

2019-04-15 10:41:34 1443

原创 Spark使用反射动态的将文本数据映射到样例类

Spark使用反射动态的将文本数据映射到样例类假如现在有一个tsv或者csv文件,文件中每条数据包含100+个字段.使用Spark读取这个文件.我看有些人的做法是直接创建一个类,然后类的字段一个一个的传.wdmy.要是有100多个字段,这不是很耗时?好吧,暂且不说耗时不好时,万一一个不小心,写错了一个字段,那该怎么办?反正我比较喜欢偷懒,像这种的情况,一般使用偷奸耍滑的方法.当然,使用反射的前...

2019-04-02 11:14:07 988

原创 Spark中给RDD[Row]中的Row动态增加一个或者多个字段

Spark 中动态的给Row新增字段我们知道,在Spark中,我们读取csv或者MySQL等关系型数据库时,可以直接得到DataFrame.我们要想新增一个字段,可以通过DataFrame的API或者注册一个临时表,通过SQL语句能很方便的实现给增加一个或多个字段.但是,当我们将DataFrame转化成RDD的时候,RDD里面的类型就是Row,如果此时,要想再增加一个字段,该怎么办呢?Sho...

2019-04-02 10:29:47 17343 16

原创 多线程读取DBF文件

Java多线程读取大文件需求需要将DBF文件解析后存储到HBase 或者HDFS.起初打算使用Kettle读取,然后转存到HBase,小文件还好,一下子就ok来,但是,遇到一个1G大小(测试阶段,实际生产远远大于1G)的时候,Kettle输出到HBase时实在太慢,可能由于HBase的技术水平有限,再怎么优化,还是很慢.于是想着自己写一个程序解决一下,结果还是和kettle的差不多,就有点尴尬...

2019-04-01 23:09:22 1051 1

原创 ES6.7以及Kibana的安装.

ES简介:Elasticsearch(通常简称为ES)是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。它通常用作底层引擎/技术,为具有复杂搜索功能和要求的应用程序提供支持,本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据.Lucene与ES关系:Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用...

2019-04-01 21:36:21 2224

原创 读《Spark内核设计的艺术 架构设计与实现》笔记之三----SparkConf & 内置的RPC框架

SparkConfSparkConf 是Spark的配置类,Spark中的每一个组件都直接或者间接的使用这个类存储的属性.SparkConf中,使用ConcurrentHaskMap来存储这些属性,其中key以及value都是String类型的./** 线程安全的,用于存储配置的各种属性 */ private val settings = new ConcurrentHashMap[Str...

2019-02-18 14:02:49 267

原创 读《Spark内核设计的艺术 架构设计与实现》笔记之二----Spark模块设计

Spark模块设计整个Spark主要由Spark Core,Spark SQL,Spark Streaming,GraphX,MLlib组成,Spark Core是整个Spark体系的核心引擎,Spark SQL,Spark Streaming,GraphX,MLlib都是建立在Spark Core基础之上的.Spark的核心功能Spark Core中提供了Spark最基础最核心的功能,主...

2019-02-15 16:41:00 1009

原创 读《Spark内核设计的艺术 架构设计与实现》笔记之之一----初识Spark

初识SparkSpark是一个通用的并行计算框架,由加州伯克利大学的AMP实验室开发于2009年,并于2010年开源.2013年在Apache旗下成长为大数据领域最活跃得开源框架之一,Spark也是基于map reduce算法模型实现的分布式计算框架.Spark 针对MapReduce做了大量优化.减少磁盘I/O Hadoop MapReduce的map端将中间输出和结果存储在磁盘中...

2019-02-15 16:37:43 289

原创 Spark Shuffle 阶段用到的重要数据结构源码详解

SizeTracker重要程度***SizeTracker 定义了对集合进行采样和集合所占内存字节大小的估算.SizeTracker重要的属性:SAMPLE_GROWTH_RATE:Double 采样增长的速率,固定值1.1samples:mutable.Queue 用于存储采集样本的队列,在该队列中,最多只能保存两个样本,且是最近采集的样本.bytesPerUpdate: Do...

2019-01-23 11:20:35 366

原创 RDD算子中使用之前创建的SparkSession对象时报java.lang.NullPointerException解决方案

报错Demopackage com.mycase.testimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.SparkSessionobject TestSpark { def main(args: Array[String]): Unit = { val spark = SparkSession.buil...

2018-12-29 21:58:40 4141 8

原创 Linux 下MySQL的两种常用安装方式,以及初始化配置,以及可能出现乱码问题的解决

安装前建议切换到root用户来安装MySQL。方式一:rpm安装安装之前需要检查当前系统中是否已经存在MySQL以及MySQL的相关库,如果存在,需要卸载干净才能顺利安装 成功,否则安装可能会遇到各种各样的问题。卸载MySQL相关:查询已经安装过的MySQL: rpm -qa|grep -i mysql*。卸载所有查询到的关于MySQL的安装包:rpm remove --nodep...

2018-10-11 23:39:28 219

转载 YARN资源调度策略

侵删! YARN虽然是从MapReduce发展而来,但其实更偏底层,它在硬件和计算框架之间提供了一个抽象层,用户可以方便的基于YARN编写自己的分布式计算框架,而不用关心硬件的细节。由此可以看出YARN的核心功能:资源抽象、资源管理(包括调度、使用、监控、隔离等等)。从某种程度上说YARN类似于IaaS。YARN的基本概念不再赘述。一...

2018-09-30 15:45:07 648

原创 oozie是什么

oozie是什么?一、前言  我的业务数据在Oracle服务器中存着,在我进行离线任务计算时,需要用到存储于Oracle中的业务数据。夸张点说,我的离线计算任务将持续有一到两个钟头。在我进行离线计算之前,参与计算的业务数据要保证是最新的。你要让我在计算时查询数据库获取?你怕是要搞事情哦。  能持续有一到两个钟头的离线计算任务,当然是不可能只是一次MapReduce或者一次Spark能搞定的...

2018-09-30 11:07:20 956

转载 Linux定时任务Crontab命令详解

转载于 https://www.cnblogs.com/YangJieCheng/p/7991660.html 侵删!!!linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab ...

2018-09-29 16:58:08 189

原创 oozie4.3.1编译

oozie编译一、版本oozie版本:4.3.1JDK:1.8HADOOP:2.7.7hive:hivepig:0.16.0sqoop:1.4.7spark:2.3.0hbase:0.94.27tomcat:8.0.53二、编译前需要修改的地方root pom.xmljdk版本修改 <properties> <targe

2018-09-29 14:44:43 706

转载 Spark开发性能调优

文章转载于:https://blog.csdn.net/vinfly_li/article/details/79415342 侵删 版权声明: https://blog.csdn.net/vinfly_li/article/de...

2018-09-06 16:46:49 248

转载 细说mysql索引

转载于https://www.cnblogs.com/chenshishuo/p/5030029.html侵删 细说mysql索引 本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方首先:先假设有一张表,表的数...

2018-08-23 00:44:02 281

转载 linux常用命令

1、ls命令         就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等         常用参数搭配:&nb

2018-08-20 22:00:10 230

转载 深入理解HDFS

转载于:https://blog.csdn.net/dpengwang/article/details/79297435 侵删。 一、HDFS介绍HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务...

2018-08-20 20:27:58 301

转载 hbase的概述

文章转载于:https://blog.csdn.net/qq_37095882/article/details/78129158感谢原创!!!! 一、hbase的概述概述HBase是一个构建在HDFS上的分布式列存储系统; HBase是基于Google BigTable模型开发的,典型的...

2018-08-16 10:52:14 266

原创 Kafka主要知识点

1、Kafka描述Kafka最初由LinkedIn开发和维护。后成为Apache软件基金会的一个开源消息系统。 Kafka是一个高吞量,高并发,可分区的分布式开源消息系统(消息中间键)。 Kafka以集群的方式运行,有一个或多个节点组成,其中每一个节点称之为一个broker。 依赖zookeeper存储一写元数据信息(比如记录曾经消费某个topic的消费者组名称,Consumer最后消费...

2018-08-08 02:18:09 302

原创 总结Spark比Hadoop快的原因

1. 消除了冗余的HDFS读写Hadoop的每次shuffle都必须写到磁盘中,而Spark的shuffle不一定写到磁盘中,而是可以缓存到内存中,以便后续的其他迭代操作时直接使用。这样一来,如果任务复杂,需要很多次的shuffle才能完成,那么Hadoop读写磁盘文件时花费在IO上的时间就会大大增加。2. 消除了冗余的MapReduce阶段Hadoop的每次shuffle必将连接着一...

2018-08-07 00:55:37 2294 2

转载 常用设计模式

Num1:单例模式基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。常见写法:懒汉式public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法,防止被实例化 */ ...

2018-08-06 19:04:21 204

转载 Spark数据倾斜调优

原文链接:http://tech.meituan.com/spark-tuning-pro.html前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spar...

2018-08-06 15:16:39 241

转载 spark架构

 Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一...

2018-08-03 09:23:52 270

转载 Secondary NameNode:它究竟有什么作用?

原文链接:https://blog.csdn.net/xh16319/article/details/31375197 前言最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系。很多人都认为,Secondary NameNode...

2018-07-31 20:42:54 362

多线程读取DBF文件

使用Java NIO 包下的RandomAccessFile读取DBF文件(可以拓展到多线程读取大文件)

2019-04-01

windows-hadoop-bin-2.0.0.zip

解压后,配置变量名为HADOOP_HOME,值为解压路径,即可在eclipse或者Idea中本地执行hadoop的计算任务

2018-05-31

空空如也

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

TA关注的人

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