自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (9)
  • 收藏
  • 关注

原创 分布式消息队列Kafka

Kafka的主要特点Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务,它主要用于处理活跃的流式数据。同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。可进行持久化操作。将消息持久化到磁盘,因此可用于...

2020-03-17 17:11:49 253

原创 分布式消息队列RocketMQ

初识 RocketMQRocketMQ是一款分布式、队列模型的消息中间件,由阿里巴巴自主研发的一款适用于高并发、高可靠性、海量数据场景的消息中间件。早期开源2.x版本名为MetaQ;15年迭代3.x版本,更名为RocketMQ,16年开始贡献到Apache,经过1年多的孵化,最终成为Apache顶级的开源项目,更新非常频繁,社区活跃度也非常高;目前最新版本为4.5.1-release版本(201...

2020-03-17 09:56:07 537

原创 分布式消息队列ActiveMQ

消息队列的使用场景削峰填谷:当下游的数据处理不过来的时候,可以先把消息缓存到一个地方,再进行慢速消费异步化缓冲:有些业务逻辑实时性要求不高,只需要做到最终一致性,类似柔性的事务服务解耦:服务的拆分和隔离,需要看业务是强依赖还是弱依赖,如果是若依赖,就可以用MQ做一个消息的投递,但必须要保证上游投递的可靠性应用的思考点如何保证生产端的可靠性投递?如何保证消费端的幂等性,即消息只能...

2020-03-17 09:26:48 305

原创 SparkStream整合Flume和Kafka

处理流程模拟日志生成package com.hlsijx.spark;import org.apache.log4j.Logger;/** * 日志生成器,用于测试 */public class LoggerGenerator { private static Logger logger = Logger.getLogger(LoggerGenerator.class...

2020-03-12 11:51:29 171

原创 Spark Stream集成Flume实现词频统计(Pull方式)

使用Pull方式的优点Spark Stream集成Flume有两种方式:Push-based ApproachPull-based Approach那么我们在生产中该选择哪种方式呢?让我们来看看官网是怎么说的由此可见,Pull相较于Push的可靠性和容错性更好,所以我们采用Pull的方式进行集成。配置Flume配置pom.xml文件<scala.version&gt...

2020-03-08 17:03:27 259

原创 HBase的安装部署

前提已经安装好hadoop和zookeeper下载本次采用的是cdn版本,下载地址,版本是hbase-1.2.0-cdh5.15.1解压,配置环境变量解压命令:tar -zxvf hbase-1.2.0-cdh5.15.1 -C 指定解压后路径环境变量:export HBASE_HOME=/data/hbase-1.2.0-cdh5.15.1 export PATH=${HBASE...

2020-03-01 22:58:16 175

原创 Flume实战案例之整合Kafka实现日志采集

目标将A服务器上的日志实时采集到B服务器技术选型配置文件A服务器Flume配置文件:exec_memory_avro.confexec_memory_avro.sources = exec_sourceexec_memory_avro.sinks = avro_sinkexec_memory_avro.channels = memory_channelexec_memory_a...

2020-03-01 12:08:35 514

原创 Kafka单节点多Broker部署

版本kafka_2.11-2.0.0zookeeper-3.4.5-cdh5.15.1前提安装好zookeeper并启动服务配置config/server.properties下载并解压后,在config目录下可以看到一个server.properties文件,我们需要配置一下几个参数:#broker的编号,必须是唯一的,相当于主键broker.id=0#每个broker监...

2020-02-27 20:34:20 557 1

原创 Flume实战案例之日志采集

目标将A服务器上的日志实时采集到B服务器技术选型配置文件A服务器Flume配置文件:exec_memory_avro.confexec_memory_avro.sources = exec_sourceexec_memory_avro.sinks = avro_sinkexec_memory_avro.channels = memory_channelexec_memory_a...

2020-02-23 22:23:09 1011

原创 大数据存储格式和压缩格式的比较

存储格式众所周知,大数据有两种存储格式:行存储、列存储,下面我们就来比较一下这两种存储格式的区别。首先来看一下两种格式的数据排列方式:行存储数据排列列存储数据排列性能比较两种存储格式都有各自的优缺点:行存储的写入是一次性完成,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据,如果只有少量数据,此影响可以忽略;数量大可能会影响到数据的处理效率。列存储在...

2020-02-17 19:57:04 1127

原创 Yarn的两种deploy-mode模式

区别yarn 有两种模式,分别是 client 和 cluster,那么它们有什么区别呢?Driver的运行位置:client:Driver运行在Client端(即提交作业的机器);cluster:Driver运行在ApplicationMaster中;客户端是否能退出client:因为client会和请求到的Container进行通信来完成作业的调制和执行,所以不能退出;c...

2020-02-15 22:43:21 6719 1

原创 使用Zeppelin访问Mysql数据实现可视化

下载官网地址 需要科学上网目录下载解压后可以看到以下目录结构2.修改配置我们进入到conf目录下,复制zeppelin-env.sh.template文件命名为zeppelin-env.sh$ cp zeppelin-env.sh.template zeppelin-env.sh$ cp vim zeppelin-env.sh配置以下三个属性启动进入bin目录下,执行命...

2020-02-15 14:52:08 817

原创 Spark SQL操作外部数据源之Hive

贴个图记录一下

2020-02-08 20:27:27 389

原创 Spark SQL的执行计划

Spark SQL的架构实例分析spark-sql> explain extended select * from emp e inner join dept d on e.deptno = d.deptno where e.deptno > 10;20/02/04 20:16:31 INFO CodeGenerator: Code generated in 22.286318...

2020-02-04 20:22:36 1071

原创 Spark Standlone模式环境搭建

设置配置文件$SPARK_HOME/conf/spark-env.sh$ cd $SPARK_HOME/conf$ cp spark-env.sh.template spark-env.sh$ vim spark-env.sh打开后搜索standalone关键字,如图所示:添加以下内容,保存后退出SPARK_MASTER_HOST=hlsijxSPARK_WORKER_COR...

2020-02-03 10:41:29 130

原创 编译Spack源码

版本说明Hadoop:2.6.0-cdh5.15.1JDK:1.8.0Spark:2.4.4Maven:Spark源码内置,路径:spark-2.4.4/build/mvnSpark默认版本说明从spark-2.4.4/pom.xml文件中我们可以看到,默认使用的是Hadoop2.6.5,这个小版本和我们当前的2.6.0-cdh5.15.1还是存在差异的,所以需要用-Dhadoop.v...

2020-02-02 15:42:08 320

原创 MapJoin和ReduceJoin实现案例

MapJoin适用场景:一张大表和一张小表小表的定义:在Hive中,是由hive.mapjoin.smalltable.filesize参数决定的,该参数的默认值为10M。特点:在Map端完成Join,没有Shuffle的过程,因此效率比ReduceJoin更高, 是Hive中默认的实现方式。实现原理:将小表数据放入内存中,遍历大表数据的时候从缓存中取出小表数据进行关联。代码实现:...

2020-02-02 13:41:48 379

原创 Hadoop集群部署

集群规划HDFS需要部署NameNode和DataNodeYARN需要部署ResourceManager和NodeManager假设现在有三台服务器,规划方式如下:hadoop000 192.168.199.234NameNodeDataNodeResourceManagerNodeManagerhadoop001 192.168.199.235NameNodeData...

2020-01-30 16:35:37 150

原创 Hive实战案例

离线作业执行流程通过MapReduce进行数据清洗,得到ETL数据创建Hive表,加载ETL数据进行各种维度的统计,并写入到Hive表中将Hive表中的数据导出到MySql(optional,利用Sqoop框架可完成该功能)目前第一步已经执行完成,路径在 /etl/part-r-00000 数据格式如下:timeurlrefereripuaprovincepag...

2020-01-30 14:27:48 960 1

原创 Hive基本语法

DDL创建数据库CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];Hive存储在HDFS上的路径:可以通过hive-s...

2020-01-29 21:01:32 181 1

原创 Hive安装

安装安装MySql,可以参考 Centos6安装MySQL5.7(yum方式),如果是CentOS7,则需要把里面的6都改成7 或者 centos7下使用yum安装mysql下载hive配置环境变量 $HIVE_HOME$ vim ~/.profile$ export HIVE_HOME=你的解压路径$ source ~/.profile修改配置文件$ cd $H...

2020-01-29 11:08:36 59

原创 YARN的执行流程

职责说明Resource Manager : the ultimate authority that arbitrates resources among all the applications in the system. 统筹全局,协调资源分配Node Manager : the per-machine framework agent who is responsible for c...

2020-01-26 11:42:24 433

原创 分布式计算框架MapReduce

编程模型之核心概念SplitInputFormatOutputFormatCombinerPartitoner编程模型之执行步骤准备map处理的输入数据Mapper处理ShuffleReduce处理结果输出通过 InputFormat 读入HDFS上的文件通过 Split 进行分片后,用 RecordReader 读取进来input(k,v) pairs ⇒...

2020-01-24 10:47:12 118

原创 Hadoop核心组件

概述源自于Google的GFS论文,论文发表于2003年10月HDFS是GFS的克隆版HDFS特点:扩展性&容错性&海量数据存储Hadoop核心组件之分布式文件系统HDFS将文件切分成指定大小的数据块并以多副本的存储在多个机器上面eg:假设有一个文件 test.log,它的大小是200M;此时需要将它切分为块(block),假设默认的 blocksize 是128...

2020-01-21 17:33:08 237

原创 阿里云部署Hadoop伪分布

常见版本不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”),对于国内而言,绝大多数选择CDH版本...

2020-01-21 14:11:32 521

原创 Spring框架实现原理

为什么要使用Spring众所周知,现在最流行的三大框架就是Spring、Spring MVC和Mybaits,那么为什么要使用Spring?使用Spring给我们带来了什么好处呢?我带着这个问题查了一些资料,其实回答的内容都是大同小异,说到底无非就是方便普通程序员进行快速开发呗!那么它与其他框架相比有什么做的更好的地方呢?一、控制反转IOC(Inversion Of Control)对象创建...

2018-12-11 16:18:10 12912 1

原创 jodd.mail.MailException: Failed to connect; java.net.SocketException: Connection reset

背景: 阿里云服务器 x 2 nginx反向代理 jodd-mail发邮件在本地和测试库一直都正常,但是发布到正式库后一台服务器报Connection reset的错误,一台正常,两台服务器的配置都是一样的。网上搜的结果: 1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by...

2018-08-10 15:59:47 3868

原创 Algorithms 之 归并排序

归并排序在平均、最好、最差的时间复杂度都是O(nlogn),所以是非常稳定的算法,然而在归并的过程中需要额外的空间开销,空间复杂度为O(n)。但目前的计算机内存、硬盘的空间都很大,相较于空间开销,更加注重于时间的开销,所以归并排序还是值得我们学习的。一、算法思想 归并排序主要体现的是分治的思想,每次都将数列一分为二,当分到最底层时再层层回溯归并,最终将每层的有序子数列归并为完全有序数列。...

2018-07-02 13:33:42 206

原创 Algorithms 之 插入排序

插入排序虽然是时间复杂度为O(n^2)的排序算法,但是对近乎有序的数据,也能进化为O(n)。而且对一些高阶算法进行优化时,对较少的元素排序时,也会使用到插入排序。一. 算法思想 插入排序整理的过程,就像是我们平时玩扑克时理牌的过程一样。我们将牌分为两部分,假定第一张牌就是有序部分 A,然后我们不断将其余乱序的牌 B 插入到 A 中适合的位置,当 B 中的牌都没有了,排序就完成了。...

2018-06-28 14:10:37 162

转载 eclipse集成jetty

本机环境:JDK1.8Maven-3.3.9Jetty-9.21、在xml中配置plugin在你的 pom.xml 文件中添加 jetty 插件的描述信息:[...]&lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;org.eclipse.jetty&lt;/groupI...

2018-03-08 10:39:04 2896

原创 python3+scrapy简单爬虫入门

python+scrapy

2018-03-02 14:13:01 8049

原创 HashMap的实现原理

HashMap的实现原理数组加链表 从数据结构上来说,hashMap是由数组和链表组成的。 所以它结合了两者的优点,不管是查询还是增删的速度都很快。hashMap还有一些其他的特性比如可以接受null键值,非synchronized等等。存储键值对 在每一个数组节点中,都存在一个静态内部类Entry对象,它有三个属性:key、value、next。前两个属性很明显是键...

2017-11-21 17:32:33 199

转载 nginx常用命令

进入sbin目录后执行以下命令. 1. 启动nginx: ./nginx 2. 关闭nginx: ./nginx -s quit 3. 重启nginx: ./nginx -s reload 4. 指定配置文件: ./nginx -c /usr/local/nginx/conf/nginx.conf 5. 查看版本: ./nginx -v 6. 检查配置文件: .

2017-05-08 17:37:34 287

原创 微信支付之公众号支付

刚刚完成了微信支付,这里来记一笔.话不多说,支付流程为:获得授权—->统一下单—>js调起支付—>支付完成—>回调—>通知微信找到AppID,商户号,AppSecret和API密钥(在商户平台设置).公众号设置中网页授权域名(授权时会用到,设置为顶级域名即可); JS接口安全域名:(前台调起支付时会用到); 公众号支付中设置支付授权目录:设为支付全路径的上一级:比如你的支付路径为m.tripge

2017-05-08 17:27:50 845

原创 Shiro教程之注解式&jsp标签授权

shiro

2017-01-24 13:26:39 677

原创 shiro教程之编程式授权

shiro

2017-01-24 09:35:49 521

原创 Shiro教程之jdbc realm

shiro jdbc

2017-01-23 21:01:27 323

原创 Shiro教程之HelloWorld

shrio入门

2017-01-22 13:20:42 333

原创 MyBaits缓存机制

mybaits缓存机制

2017-01-03 21:44:16 497

原创 hibernate缓存机制

hibernate

2017-01-03 15:46:10 238

windows下web压力测试工具 ab

appache自带的一个web压力测试工具,里面附带教程,在Windows下可以对自己的网站进行压力测试。

2017-11-08

linux下oracle安装需要的包

linux下oracle安装需要的包

2017-01-22

velocity插件

myeclipse10的velocity离线插件

2017-01-22

poi3.8的api

中文API

2017-01-22

myeclipse主题

myeclipse多套主题

2017-01-22

easyui皮肤

easyui的bootstrap风格皮肤,有三套

2017-01-22

bootstrap风格前端模板

插件丰富

2017-01-22

Fences_2.11附详细安装说明

Fences_2.11附详细安装说明 解决win8.1,使用fences桌面图标不能移动,

2015-09-23

空空如也

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

TA关注的人

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