- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 HDFS心跳机制--判断DN失联部分的源码解析
一、 前言今天朋友问我HDFS中,如果namenode 10分30秒没有收到dn心跳,则判断dn不可用,这个10分30秒是怎么来的。翻源码过程如下。二、Datanode发送心跳1. DataNode.java的main方法2. createDataNode方法3.instantiateDataNode方法4.makeInstance方法5.实例化DataNode对象,在初始化一些配置之后,进入startDataNode方法,启动dn...
2022-02-15 14:09:16
1221
原创 Spark3.1.2 on TDH622
一、在linux搭建spark环境1.下载sparkspark官方下载地址:http://spark.apache.org/downloads.html 。这里选择spark-3.1.2-bin-hadoop2.7版本。2.上传spark,下载TDH客户端上传 spark-3.1.2-bin-hadoop2.7.tgz 至linux的/opt目录下在manager下载TDH客户端,上传至/opt目录下解压spark。tar -zxvf spark-3.1.2-bin-hadoop2.7.tg
2021-11-09 21:24:44
2530
原创 SparkStreaming Bulkload入Hyperbase--应用与原理
SparkStreaming Bulkload入Hyperbase–应用与原理一、环境准备见《Spark3.1.2 on TDH622》二、补充jar包三、关键代码说明接入kafka数据JavaInputDStream<ConsumerRecord<String, String>> stream = KafkaUtils.createDirectStream( ssc,
2021-11-09 19:04:24
2161
1
原创 spark笔记(二)–sparkstreaming使用updateStateByKey和mapWithState算子实现wordcount(JAVA版)
spark笔记(二)–sparkstreaming使用updateStateByKey和mapWithState算子实现wordcount(JAVA版)直接上代码:updateStateByKeyimport org.apache.log4j.Level;import org.apache.log4j.Logger;import org.apache.spark.SparkConf;import org.apache.spark.api.java.Optional;import org.apa
2020-08-26 21:18:55
282
1
原创 sparkstreaming整合kafka的两种方式
sparkstreaming整合kafka的两种方式sparkstreaming整合旧版本的kafka有两种方式,一般称为Receiver方式和Direct方式。Receiver方式Receiver-based方式是基于kafka high level api来实现的。在executor节点会单独启动一个receiver线程,去持续消费kafka数据,消费到的数据放在executor内存中,当执行batch计算时,executor会去计算这些数据。这种方式有很多缺点:由于宕机或者程序失败等其他因
2020-08-26 19:39:46
349
原创 Flink(五)--DataStream的Checkpoints和Savepoints
一、Checkpoints检查点机制Flink中基于异步轻量级的分布式快照技术提供了Checkpoints容错机制。快照产生过程非常轻量,高频率创建对Flink任务性能影响相对较小。Checkpoint配置信息:(1)Checkpoint开启和时间间隔指定开启检查点并指定检查点时间间隔为1000ms,如果状态比较大,建议适当增加该值env.enableCheckpointin...
2020-01-14 16:02:59
567
原创 Flink(四)--DataStream的窗口计算
flink根据上游数据集是否为KeyedStream类型(将数据集按照Key分区),对应的Windows Assigner也会有所不同。上游数据集如果是KeyedStream类型,则调用DataStream API的windows()方法来指定Windows Assigner,数据会根据Key在不同的Task实例中并行分别计算,最后得出针对每个Key的统计结果。如果是Non-Keyed类型,则调用...
2020-01-02 18:46:17
790
原创 Flink(三)--DataStream的各类算子(2)
一、Union:输入DataStream,输出DataStream。该算子将两个或者多个DataStream合并,要保证这些DataStream中的元素类型保持一致。继续以之前的flink连接kafka的代码为基础。 input.print(); SingleOutputStreamOperator<Tuple2<String, Integer>...
2019-12-03 16:15:03
342
原创 Flink(二)--DataStream的各类算子
本文用java代码介绍flink的各类算子。采用上篇文章中对接的kafka数据源。一、Map:对数据进行逐个遍历,常用作对数据集内数据的清洗和转换input.print(); SingleOutputStreamOperator<Tuple2<String, Integer>> map = input.map(new MapFunction<Stri...
2019-11-27 18:17:24
5068
1
原创 Flink(一)--Flink连接kafka
Java代码如下:final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();Properties props = new Properties();props.put("bootstrap.servers","kafka:9092");props.put("gr...
2019-11-19 15:22:54
3288
原创 解决ZipEntry.getSize()返回-1的问题
今天要写一个测试程序,模拟业务流程,解压缩zip文件,将InputStream流上传到对象存储集群上。以下是生成zip文件的代码:int size_k = 100;int num = 100;String path = "C:\\Apps\\aaa.zip";File file = new File(path);FileOutputStream outputStream = new ...
2019-11-18 15:59:55
3880
4
原创 解决log日志不能将错误输出完整
某些情况,在catch语句中,e.printStackTrace()不能将错误打印出来。如果使用log.error(e.getMessage())错误打印的又不完整。解决方案如下:ByteArrayOutputStream baos = new ByteArrayOutputStream();e.printStackTrace(new PrintStream(bao...
2019-10-29 17:46:51
2957
原创 SparkStreaming(Java)-管理kafka偏移量
一、环境说明 组件 版本 Kafka Kafka-0.10.2.0 Spark spark-2.2 IDEA idea64-2017 Zookeeper zookeeper-3.4.5 ...
2019-07-01 15:46:11
1823
3
原创 kubernetes启动容器时,容器一直是ContainerCreating不能running
pod状态一直是ContainerCreating ,不能变成Running的状态。查找错误kubectl describe pod mysql-b0xrn查看pod状态,发现错误: 21m 4m 8 {kubelet 127.0.0.1} Warning FailedSync Error syncing pod, skipping: failed to "St...
2019-02-15 13:48:59
1217
原创 Nexus3.x批量导入本地库
Nexus2.x批量导入本地库是十分容易的,将库文件夹复制到对应nexus库下面,去网页刷新一下索引就OK了,这里不做赘述。在nexus3.x中,我们不可以这么操作,但是我们可以使用shell脚本,批量导入nexus3.x。我们从下载安装一步步来说明,如果你已经安装好nexus3.x,只想知道批量导入本地库的方法,请移步文章第四部分1.环境说明 主机:Win10 虚拟机...
2019-02-14 14:03:12
23206
33
原创 spark笔记(一)--常用spark算子
1.mapPartitions 映射分区。对rdd中的每个分区进行映射。2.union rdd1.union(rdd2)。该结果的分区数是rdd1和rdd2的分区数之和。3.intersection 计算两个rdd的交集,需要shuffle过程。交集后的rdd分区数是参与计算的两个分区数的最大值。4.distinct 去重。内部通过reduc...
2018-03-03 21:56:07
1824
原创 flume将多列数据写入HBase的配置
只列出sink部分的配置如下: a1.sinks.k1.type = hbase #命名空间和表名a1.sinks.k1.table = ns1:t10 #列族a1.sinks.k1.columnFamily = f1a1.sinks.k1.serializer = org.apache.flume.sink.hbase.RegexHbaseEventSerializer
2018-02-01 20:11:21
1780
原创 搭建redis伪分布式
前提:我的redis源文件在~/downloads/redis-3.2.8,redis的bin命令在/soft/redis/目录下。 首先,我们修改redis.conf文件(在源文件目录下),增加(或删掉注释)1.cluster-enabled yes2.cluster-config-file nodes-6379.conf 创建六个目录,/soft/redis/conf/7000
2018-01-30 23:41:49
230
原创 phoenix索引
phoenix可以让我们像使用传统的关系型数据库一样,来操作HBase。目的是降低hbase的使用难度。phoenix也可以像关系型数据库一样,来创建索引,增加访问速度。 我有一个MYDB.T1表,表中内容如图所示。create table MYDB.T1(id INTEGER not null primary key,name varchar,age integer) ;现在对n
2018-01-28 20:10:33
1773
山东大学计算机组成原理课程设计——整机(加法,减法,与,或)
2015-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人