- 博客(37)
- 资源 (8)
- 收藏
- 关注
转载 flink checkpoint原理
理想中的state管理理想的状态管理是: 易用,flink提供了丰富的数据结构,简洁易用的接口; 高效,flink对状态的处理读写快,可以横向扩展,保存状态不影响计算性能; 可靠,flink对状态可以做持久化,而且可以保证exactly-once语义; flink中checkpoint执行流程checkpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因(如 异常退出)出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保 证应用流图状态的一致
2020-07-23 10:13:35
417
原创 Hbase伪分布式安装
因要安装pinpoint1.8.3所有需要安装hbase,因为是测试所有就安装一个伪分布式吧。hbase安装需要hdfs,先来安装一下hadoop吧。http://naver.github.io/pinpoint/1.8.3/main.html我们需要hbase1.2.6版本,hadoop需要2.7.3先下载wgethttp://apache.claz.org/hadoop/...
2019-06-08 20:21:24
473
转载 运行时异常和非运行时异常
1. 【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBoundsException等等。 说明:无法通过预检查的异常除外,比如,在解析字符串形式的数字时,不得不通过catch NumberFormatException来实现。 正例:if (...
2019-03-13 09:54:52
23607
1
原创 彻底解决SLF4J: Class path contains multiple SLF4J bindings.
springboot项目跑起来后,一直报SLF4J包冲突,看着很烦。Connected to the target VM, address: '127.0.0.1:64448', transport: 'socket'SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:...
2018-11-28 11:13:12
100674
8
原创 官网中关于Redis + Sentinel主从切换的一些说明
在redis官网中关于redis + Sentinel主从切换的一些说明,主从切换会丢失数据,无论用何种持久化方式都无法保证主从数据强一致性。 在每个Sentinel设置里,redis数据复制是异步的,总是会有丢失写入数据的风险,因为一个确认写入的数据不能到达新的master。就如上面的设置,有很大的风险,由于客户端分区在老的master里。如图所示。 在这个案...
2018-10-07 16:37:44
1301
原创 解决dubbo中遇到HessianProtocolException: 'xxxException' could not be instantiated的问题
在项目中遇到dubbo的consumer无法捕获到provider的自定义异常的问题,HessianProtocolException: 'xxxxException' could not be instantiated。com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'xxxxException' could no...
2018-10-07 16:24:39
15069
转载 spring @vaule获取不到值
1)当SpringMVC与Spring整合使用的时候,在Controller中无法获取@Value对应的值。(刚开始我就是这种情况,,,,) 产生原因: 只在applicationContext中添加了扫描,没有在SpringMVC对应的配置文件中扫描。 applicationContext加载的是父容器,,父容器在项目启动的时候就被加载了。Spri...
2018-08-02 01:00:53
1444
原创 解决dubbo HessianProtocolException: 'xxxx' could not be instantiated
解决了在sso项目中遇到dubbo的comsuer无法捕捉到provider的自定义异常的问题。com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'com.xxxx.opensso.utils.SSOException' could not be instantiatedat com.alibaba.com.caucho....
2018-07-18 22:38:15
8361
1
原创 reactor模式透彻理解和难点解析
网上reactor模式的解析文章很多,但是都很范范,看了以后感觉理解的还是很模糊。图片待传今天遇到一个问题:Initiation Dispatcher根据handle选择Event handler的,为什么调用select (handlers);?首先handle不等于type,handle是fd(socket打开的描述符)Initiation Dispatcher
2017-10-12 15:05:06
1055
转载 EPOLL内核源代码实现原理分析
epoll的实现主要依赖于一个迷你文件系统:eventpollfs。此文件系统通过eventpoll_init初始化。在初始化的过程中,eventpollfs create两个slub分别是:epitem和eppoll_entry。epoll使用过程中有几个基本的函数分别是epoll_create,epoll_ctl,epoll_wait。涉及到四个重要的数据结构: struct ev
2017-10-01 19:17:58
338
转载 堆内存和堆外内存
HeapByteBuffer与DirectByteBuffer,在原理上,前者可以看出分配的buffer是在heap区域的,其实真正flush到远程的时候会先拷贝得到直接内存,再做下一步操作(考虑细节还会到OS级别的内核区直接内存),其实发送静态文件最快速的方法是通过OS级别的send_file,只会经过OS一个内核拷贝,而不会来回拷贝;在NIO的框架下,很多框架会采用DirectByteBuff
2017-09-27 17:08:27
448
转载 linux下Epoll模式
Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TP
2017-09-25 14:16:50
619
转载 Nio总结之Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。selector是实现多路复用调用linux的epoll关键。 public static Selector open() throws IOException { return Sele
2017-09-24 23:33:34
343
转载 Nio总结之Channel与Buffer
java nio 三大基本组件Channel、Buffer、Selector,三大组件的关系,channel下面是buffer。在java nio中,我们是面向块(block)或是缓冲区(buffer)编程的。buffer本身就是一块内存,底层实现上,它实际上是个数组。数据的读、写都通过buffer来实现的。channel是通道的含义,数据不可以直接在channel处理,必须把数据读取
2017-09-22 22:01:34
1026
转载 为什么Eureka比ZooKeeper更适合做服务发现?
Eureka的优势1、在Eureka平台中,如果某台服务器宕机,Eureka不会有类似于ZooKeeper的选举leader的过程;客户端请求会自动切换到新的Eureka节点;当宕机的服务器重新恢复后,Eureka会再次将其纳入到服务器集群管理之中;而对于它来说,所有要做的无非是同步一些新的服务注册信息而已。所以,再也不用担心有“掉队”的服务器恢复以后,会从Eureka服务器集群中剔除出去的风
2017-03-06 19:27:41
17147
1
原创 十九、Hive日志分析案例一
按照每日,省份统计pv和uv,date province UV PV建立hive数据库及数据表 2.数据导入建hive的db_track.daily_province_visit的表导入insert into table db_track.daily_province_visit select dat
2017-02-23 20:35:03
913
原创 十八、Hive 中UDF编程
依据课程中讲解的如何自定义 UDF,进行案例编写,进行总结步骤,并完成额外需求,具体说明如下: 1) 依据课程讲解 UDF 编程案例,完成练习,总结开发 UDF 步骤,代码贴图,给予注释,重点在于清晰编程思路。 2) 完成如下数据字段中双引号,自定义 UDF,完成编程测试。新建maven项目。配置pom.xml properties> project.build
2017-02-23 19:58:17
1371
原创 十七、Hive 表数据加载、导出、查询
1.使用 load 方式加载数据到 Hive 表中,注意分区表加载数据的特殊性CREATE TABLE IF NOT EXISTS myinfo (id string, name string, city string) PARTITIONED BY (day string)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'STO
2017-02-15 20:35:52
461
原创 十六、Hive 表的创建及测试
一、Hive 中创建表的三种方式,应用场景说明第一种第二种第三种二、内部表和外部表的区别内部表也称之为MANAGED_TABLE;默认存储在/usr/hive/warehouse下,也可以通过location指定。删除表时,会删除表数据以及元数据。外部表也称之为EXTERNAL_
2017-02-12 20:09:21
524
原创 十五、Hive 安装部署及测试
一、Hive 如何配置与 Hadoop 关联,进行创建表,加载数据测试Hive解压并修改名称,配置hive-env.sh的hadoop_home与HIVE_CONF_DIR创建表,加载数据二、在 Linux 下安装 MySQL 数据库1、解压mysql 5.6.272、查看是否已经安装mysql,如未查询到
2017-02-12 16:36:18
321
原创 十四、Hive功能架构
一、Hive 能做什么,与 MapReduce 相比优势在哪里?使用Hive是基于MapReduce的,在查询统计方面比MapReduce开发起来更简单。1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库;2)一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制;3)Hive 定义了简单的类SQL 查询语言,称为HQL,它
2017-02-12 16:19:00
512
原创 十三、根据HDFS提供的API,实现文件上传、下载、删除、重命名、移动
一、根据HDFS提供的API,实现以下功能:针对文件: 上传、下载、删除、重命名、移动package HdfsApi;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import
2017-02-09 15:55:47
5441
原创 十二、用MapReduce完成类似倒排索引的功能
1)理解【倒排索引】功能2)熟悉 MapReduce 中的 Combiner 功能3)依据需求编码实现【倒排索引】功能,旨在对 MapReduce理解。数据:结果:代码:package com.hyhc.mr; import java.io.IOException; import org.apache.hadoop.conf.Configur
2017-02-09 15:43:41
383
原创 十一、理解MapReduce的二次排序功能,包括自定义数据类型、分区、分组、排序
二次排序不仅可以对key进行排序,同时也可以对value中的某个字段进行排序。有两种过程组合排序—>分区(可选)—>分组分区—> 排序(二次) —>分组下面以第一种方式来进行说明:Map阶段,排序,进行key和value组成组合的key,例如(k+v,v)。分别对组合key中的k和v进行分区排序。设置自定义数据类型并实现WritableComparable接口,自定义数据类型作
2017-02-09 15:21:14
789
原创 十、MapReduce 分析网站基本指标
1、理解【网站基本指标】的几个概念PV即page view 浏览量,页面的浏览次数,用户每打开一个页面就记录1次,多次打开同一页面,则浏览量累计。UV 即Unique Visitor,独立访客数,1天内同一访客的多次访问只计为1个访客。VV 即Visit View,访客的访问次数,记录所有访客1天内访问了多少次您的网站。独立ip数即指1天内用不同的ip地址的用户访问网站的数量。同一
2017-02-09 13:34:36
648
原创 九、用图讲解MapReduce Shuffle 过程
Map Shuffle 主要做了哪些事?哪些可以设置及如何设置?环形内存缓冲区默认为100MB,当超过80%,则进行spill到磁盘。内存中会进行分区、排序、combine(可选)。磁盘中将多个溢写的文件进行合并,压缩(可选)。设置:1) partitioner分区 job.setPartitionerClass(cls); 2) sort排序job.setS
2017-02-07 20:15:54
2754
原创 八、手把手教MapReduce 单词统计案例编程
1、在Linux 系统中搭建Eclipse 和Maven 环境,创建Maven Project2、安装jdk,并配置环境变量。3、配置maven ,配置环境变量,用root用户身份。4.配置Maven仓库5.解压eclipse6.以普通用户打开eclipse,配置maven
2017-02-07 19:44:59
686
原创 七、Hadoop 2.5.2+zookeeper高可用部署
一、原理(四大要点)(1)保证元数据一致(edits)namenode (fsimage edits) a、NFS b、journalnode c、zk(2)只有一台namenode对外提供服务(proxy)(3)接受datanode的心跳(4)隔离二、HDFS HA启动并测试
2017-01-25 10:15:25
311
转载 zookeeper详细介绍
一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下:场景一有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大
2017-01-25 09:59:50
2592
原创 六、Zokeeper分布式集群部署
一、Zookeeper集群几个配置项tickTime:zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,单位是毫秒。datadir:zookeeper存放文件的位置。inltLimit:zookeeper接受客户端初始化链接时最长能忍受多少个心跳时间间隔数。syncLimit:leader与follower之间发送消息,请求的应答时间的长度。不能超过多少个tick
2017-01-25 09:39:55
6027
原创 五、Hadoop 2.5.2分布式环境部署
一、地址规划主机名ip配置服务Bigdata01.xxxx.com192.168.249.130内存1gCpu 1核硬盘 10gNamenodeDatanodeNodemanagerBigdata02.xxxx.com192.168.2
2017-01-25 09:11:23
306
原创 四、HDFS中NameNode的启动过程
一、HDFS中NameNode的启动过程1、在hdfs-site.xml中设置文件存储路径并指向data路径,在hadoop安装路径中新建data目录。2、进行namenode格式化,在data目前中生成各类目录,并生成fsimage文件。3、第一次启动namenode硬盘中将fsimage加载到内存中,hdfs文件如果修改,将写edits文件作为log,并将最新修改内容加
2017-01-24 19:19:53
2357
原创 三、hadoop2.5.2+centos6.5编译源码
1、安装jdk1.7,并配置环境变量2、安装其他基础库[root@hadoop0 cdh]# yum install g++ autoconf automake libtool make cmake zlib1g-dev pkg-config libssl-dev(1). 如果是Debian或CentOs 安装# yum install g++
2017-01-24 18:39:57
673
原创 二、关于HDFS、YARN及MapReduce的理解
一、HDFSHDFS是分布式文件系统,有高容错性的特点,可以部署在价格低廉的服务器上,主要包含namenode和datanode。Namenode是hdfs中文件目录和文件分配管理者,它保存着文件名和数据块的映射管理,数据块和datanode列表的映射关系。其中文件名和数据块的关系保存在磁盘上,但是namenode上不保存数据块和datanode列表的关系,该列表是通过datanode上报
2017-01-24 18:06:34
3735
原创 一、Hadoop 2.5.2伪分布式环境搭建
一、环境准备新建或克隆一台新的centos服务器虚拟机。修改ip和hosts,关闭防火墙iptables和selinux。新建hadoop用户,并赋予相应的sudoers权限。建立互信,免登陆。安装jdk1.7,并配置环境变量。二、开始安装上传hadoop2.5.2安装包,并解压到相应的目录下。修改hadoop环境配置文件的的环境变量hadoop-env.s
2017-01-24 09:53:33
397
转载 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了
大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。大数据,首先你要能存的下大数据。传统的文件系统是单机的,不能横跨不同的
2017-01-22 19:43:53
321
原创 第零篇大数据学习介绍
## 大数据相关技术学习和使用了一段时间,最近就没有怎么用了。打算把之前学习的知识总结并记录起来分享给大家,省的都忘了,那就浪费了花费的那么时间和精力了。本系列全部采用hadoop2.5.2的版本,下面大概介绍一下打算写的内容大纲: ## 1. 如何安装和搭建虚拟机网络 2. hadoop2.5.2的伪分布式搭建 3. hadoop2.5.2+centos6.5编译源码 4. HDF
2016-05-06 13:31:15
245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人