
大数据学习路程
木生火18624
多练内功
展开
-
09状态管理和容错机制——Flink
Flink会将状态以二进制的形式全部存储起来算子状态(operator state 一个任务一个状态) “所有并行的子任务对应着一个状态,也就是到子任务来的所有数据共享一个状态” Flink 为算子状态提供三种基本数据结构: 列表状态(List state) 将状态表示为一组数据的列表。 (会根据并行度的调整直接把之前的状态重新分组重新分配) 联合列表状态(Union list state)也将状态表示为数据的列表。它与常规列表状态的区别在于,在发...原创 2020-07-12 13:30:32 · 298 阅读 · 0 评论 -
08ProcessFunction API(底层 API)——Flink
之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的,基于此,DataStream API 提供了一系列的 Low-Level 转换算子。可以访问时间 戳、watermark 以及注册定时事件。还可以输出特定的一些事件,Flink SQL 就是使用 Process Function 实 现的。 Flink 提供了 8 个 Process Function:ProcessFunction KeyedProcessFunction // keyby之后 的 可以操作keyStreamCoP原创 2020-07-12 13:30:19 · 239 阅读 · 0 评论 -
07Flink中的时间语义和watermark——Flink
重要的两个概念: 状态管理、时间语义Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的 日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事 件时间戳。Ingestion Time:是数据进入 Flink 的时间。Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器 相关,默认的时间属性就是 Processing Time。 对于业务来说,要统计 1min 内的故障日志个数,哪个时间是最有意义的...原创 2020-07-12 13:29:33 · 263 阅读 · 0 评论 -
06Flink Windows API——Flink
window 是一种切割无限数据 为有限块进行处理的手段。 Window 是无限数据流处理的核心,Window 将一个无限的 stream 拆分成有限大 小的”buckets”桶,我们可以在这些桶上做计算操作Windows可以分为两类CountWindow:按照指定的数据条数生成一个 Window,与时间无关。TimeWindow:按照时间生成 Window。对于 TimeWindow,可以根据窗口实现原理的不同分成三类:滚动窗口(Tumbling Window)、滑动窗口(Slidin原创 2020-07-12 13:28:56 · 142 阅读 · 0 评论 -
05Flink 流处理 API——Flink
getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。getExecutionEnvironment 会根据查询运行的方 式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式。val env = StreamExecutionEnvironment.getExecutionEnvironment如果没有设置并行度,会以 flink-conf.yaml 中的配置为准,默认是 1。Source从集合读取数据// 定义样例类,传感...原创 2020-07-12 13:28:47 · 313 阅读 · 1 评论 -
04Flink 运行架构——Flink
Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作: 作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager), 以及分发器(Dispatcher)。因为 Flink 是用 Java 和 Scala 实现的,所以所有组件都会运行在 Java 虚拟机上。每个组件的职责如下:作业管理器(JobManager) 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager 所控制执行。J原创 2020-07-12 13:28:24 · 143 阅读 · 0 评论 -
03实现Flink集群的部署——Flink
官网中,有两种版本,一种是有hadoop支持的版本,一种是没有hadoop支持的版本解压后重点有两个目录,一个是bin,一个是conf1、解压到指定目录tar -zxvf flink-1.7.2-bin-scala_2.11.tgz -C local/2、配置Flink的配置很简单。 我们需要调整一些参数,我们都已设置好。 作业管理器节点和任务管理器节点的大多数配置都相同。 所有配置都在conf/flink-conf.yaml文件中完成。下面配置进入目录cd /usr/原创 2020-07-12 13:27:33 · 152 阅读 · 0 评论 -
01实现WordCount(批处理+流处理)快速上手——Flink
搭建 maven 工程 FlinkTutorial然后在pom.xml中添加依赖,和引入插件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt...原创 2020-07-12 13:26:20 · 206 阅读 · 0 评论 -
02为实现Flink的部署做前期准备——Flink
官网中,有两种版本,一种是有hadoop支持的版本,一种是没有hadoop支持的版本解压后重点有两个目录,一个是bin,一个是conf原创 2020-07-12 13:27:08 · 134 阅读 · 0 评论 -
Linux下SparkSubmit提交任务后,运行一会,访问网站后,抛出异常
-------------------------------------------Time: 1591750745000 ms-------------------------------------------192.168.72.1 - - [10/Jun/2020:09:01:17 +0800] "GET /forum.php?mod=viewthread&tid=1 HTTP/1.1" 200 34503 "http://slave1/forum.php?mod=viewthrea原创 2020-06-10 16:33:02 · 736 阅读 · 0 评论 -
Linux,centos6.8上Mysql5.6的安装2
1、创建一个文件夹2、将安装包拉到主节点下,在通过scp命令将其进行拷贝到slave1sudo scp MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar root@slave1:/root/mysql3、解压4、安装服务端5、安装客户端6、查看随机密码7、启动,设置开机自启8、输入,然后将刚刚的密码拷贝过来9、登录进mysql10、开启远程登录权限,刷新...原创 2020-06-06 14:58:53 · 173 阅读 · 0 评论 -
Linux,centos6.8上Mysql5.7的安装
在slave1上安装mysql server 、client,其他节点安装client。其他节点远程连接slave1的服务端即可。1、先通过xftp或者SRT工具,将安装包上传到master,2、但是呢用户权限不是root用户,所以添加一步修改权限操作sudo chown root:root mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar3、在用scp命令将其拷贝到slave1下sudo scp mysql-5.7.29-1.el7.x86_原创 2020-06-06 14:19:16 · 288 阅读 · 0 评论 -
Hadoop集群安装配置——2
在进行配置前,需要完成以下几项1、可以制作本地yarn源 03Linux上常用的软件安装——好程序2、克隆子节点 (修改ip uuid mac 主机名 slaves的主从节点) 虚拟机的克隆——aboutyun 02Linux克隆&常用命令——好程序 Linux中IP设置——about...原创 2020-06-05 17:11:07 · 131 阅读 · 0 评论 -
Permission denied没有权限
scp: /etc/profile: Permission denied执行scp分发命令,提示没有权限,进入到slave2 的etc下面,ll查看,发现连root 用户都是没有x 权限然后看到了这段https://blog.youkuaiyun.com/MZ199290/article/details/86590004解决方法:#chmod a+x filename呵呵,然后就可以了。PS:用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 ...原创 2020-06-05 12:42:02 · 1150 阅读 · 0 评论 -
VMware新建虚拟机的自定义安装——1
当前还是属于一台裸机,接下来还需要安装磁盘选择第一个回车,进入下面页面先查看网段是多少重启后可以登录了...原创 2020-06-04 10:52:30 · 512 阅读 · 0 评论 -
31离线系统辅助工具flume——好程序
1、什么是flumeApache Flume is a distributed, reliable, and available system for efficiently collecting, aggregating and moving large amounts of log data from many different sources to a centralized data ...原创 2020-02-28 16:53:22 · 280 阅读 · 0 评论 -
30离线系统辅助工具sqoop——好程序
1、sqoop是什么Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases.(就是一个工具而已,没有集群的概念,是一个单机版的)本质:将sqoo...原创 2020-02-28 13:54:40 · 200 阅读 · 0 评论 -
29hbase&hive&hdfs——好程序
如果不是高可用,是不需要这些的mr和hbase的结合TableMapperTableReducerTableMapReduceUtil出错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.Scan解决方案:1、将hbase的依赖jar包临时带入到hadoop的依赖中ex...原创 2020-02-28 10:25:42 · 217 阅读 · 0 评论 -
28hbase的内部机制&存储机制&寻址机制——好程序
hbase的内部机制--存储机制-region概念-store概念-memstore概念hbase的物理存储方式Hbase是一个集群,master在数据管理里面是没有任何功能的,表在hbase里面存储,每一个regionserver是否要响应机器,hbase的存储机制hbase的内部机制--存储机制-region概念-store概念-memstore概念...原创 2020-02-28 08:53:44 · 286 阅读 · 0 评论 -
27Hbase的FilterList操作——好程序
singleColumnValueFilter、FamilyFilter======比较器=========================打印出来过滤器可以设置四种比较器的其中一种=======元数据的查询...原创 2020-02-27 08:29:44 · 131 阅读 · 1 评论 -
26Hbase的DDL操作——好程序
创建namespaceDDL操作依赖的是admin对象========================测试案例提取工具类=====================设置demol单元测试完毕修改开始可以测试一下了(表描述器和列描述器)=====================DML...原创 2020-02-26 10:54:12 · 218 阅读 · 0 评论 -
25Hbase理论基础——好程序
为什么要hbase随着数据量越来越大,传统的关系型数据库不能满足需求,hive虽然能够满足存储,但是不满足非结构化的存储和高效的查询。hbase是什么hbase是一个开源的、分布式的、可扩展的、多版本的非关系型数据库。not-onlyhbase是bigtable的java开源版本,是建立在hdfs之上的,提供高可靠性、高性能、列存储、可伸缩、实时读写的nosql的数据库系统。阿帕奇...原创 2020-02-25 19:54:28 · 237 阅读 · 0 评论 -
24HIve的Struct与优化
struct:create table if not exists str1(name string,addr struct<province:string,city:string,street:string>)row format delimitedfields terminated by '\t'collection items terminated by ',...原创 2020-02-25 10:49:14 · 925 阅读 · 0 评论 -
23HIVE的数据类型及优化——好程序
数据类型:分基本数据类型和复杂数据类型复杂:array:col array<基本类型>,下标从0开始,越界不报错,以NULL来代替map:col map<string,string>struct:col struct<property:string[,property:string]>array示例:gaoyuanyuan 87,98,9...原创 2020-02-25 10:08:24 · 248 阅读 · 0 评论 -
22HIVE的分区分桶——好程序
为什么要分区?随着系统运行时间增长,表的数据量越来越大,而hive查询通常是全表扫描,这样会导致大量不必要的数据扫描,从而大大降低了查询效率。从而引进了分区技术,使用分区技术,避免hive全表扫描,提升查询效率。分区的技术PARTITIONED BY (column_name data_type)1、hive分区是区分大小写的2、hive的分区本质是在表目录下创建分区目录,但是该分区...原创 2020-02-24 19:47:03 · 494 阅读 · 0 评论 -
21HIVE的基本操作——好程序
表的修改操作不建议用 in ,not in ,exists,not exists,而是用joininnot inexistsnot existsjoin查看表show create table 表名修改表:hivealter table t_name rename to (comment:说明)alter table t3 rename to t_userinfo...原创 2020-02-24 14:26:11 · 605 阅读 · 0 评论 -
20HIVE的基本操作——好程序
注释///***/<!---->#-- 语法规则:hive的数据库名、表名不区分大小写。mysql是可以设置区分大小写的命名规则:1、名字不能使用数字开头2、不能使用关键字3、尽量不要使用特殊符号hive中有一个默认的数据库default,如果不指定要使用哪个数据库,则使用默认的数据库。可以查看数据库show databases;再切...原创 2020-02-23 11:36:06 · 314 阅读 · 0 评论 -
19hive的基本知识——好程序
为什么有hivefacebook最初研发来处理海量的社交数据和机器学习。hive:简化分析:使用sql,开发效率高500行mr:10000hive是什么hive是一个大数据仓库hive是一个基于hadoop的数据仓库hive是一个基于hadoop的数据仓库,可以通过类sql语句来对数据进行读、写、管理(元数据管理)hive的架构(三层)用户连接客户端:cli、jdbc/o...原创 2020-02-23 08:56:07 · 350 阅读 · 1 评论 -
18-2mapreduce的案例加强——好程序
流量统计相关需求1、对流量日志中的用户统计总上、下行流量技术点: 自定义javaBean用来在mapreduce中充当value注意: javaBean要实现Writable接口,实现两个方法//序列化,将对象的字段信息写入输出流@Overridepublic void write(DataOutput out) thro...原创 2020-02-22 19:53:47 · 189 阅读 · 0 评论 -
18mapreduce的案例加强——好程序
流量统计1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 12...原创 2020-02-22 19:47:09 · 258 阅读 · 0 评论 -
17mapreduce运行全流程——好程序
mapreduce先进行3大思考读数据到底是怎么读的?map阶段:怎么读的数据,现在是text文件,如果xml文件(一个个节点),或者其他文件呢,则处理方式和文本文件不一吧,或者流式的数据呢,压缩的文件呢,转过码的文件呢,文件的格式肯定有很多种,不可能只有文本文件一种,那到底是如何处理的呢?----------------------------------输出结果到底是怎么回事?...原创 2020-02-21 23:09:28 · 183 阅读 · 0 评论 -
16本地的模式——好程序
运行程序引入问题原创 2020-02-21 16:35:00 · 119 阅读 · 0 评论 -
15hadoopHA——好程序
日记的管理方式发生了改变——单个namenode的模式,日记文件是直接写到namenode里面就可以了。现在要实现的是高可用的模式,高可用就需要两台namenode,而且管理模式是一样的,引入了两台那么日记文件就必须要实现共享与同步,既然要实现共享,一个是namenode之间点对点的连接,但是namenode的是高并发的模式,本身任务就很多,不可能随意的增加功能,则就才有第二个方法:需要...原创 2020-02-21 15:53:50 · 233 阅读 · 0 评论 -
14mapreduce的流程说明&实现Mapper类&实现Driver以及测试运行——好程序
mapreduce核心名词job:用户的一个计算请求称为一个作业。task:每一个作业,都需要分拆成多个的task,交由多个主机来完成,拆分出来的执行单元就叫任务。task又分为3种类型:map:负责map阶段的整个的数据处理流程(需要资源)reduce:负责reduce阶段的整个数据处理流程(需要资源)appMaster:负责整个程序的过程调度以及状态协调(需要资源,Resource...原创 2020-02-21 11:28:40 · 992 阅读 · 0 评论 -
13mapreduce的分发&启动&job的提交——好程序
mapreduce是什么分布式离线计算框架,是分布式运算程序的编程模型,是用户基于hadoop的数据分析应用的核心框架,mapreduce的核心功能是将用户编写的业务逻辑代码和自带的默认的 组件整合到一个完整的分布式运算程序,并运行在hadoop集群上。hdfs:将大的文件切分成若干个小的文件,然后将他们分别存储到集群中的不同节点上。mapreduce:是将一个复杂的运算切分成若干个子运算,...原创 2020-02-20 22:53:25 · 231 阅读 · 0 评论 -
12zookeeper——好程序
zookeeper的基础与架构、集群搭建zookeeper是什么??zookeeper是一个分布式协调服务,就是为用户的分布式应用提供协调服务zookeeper是为其他的分布式程序服务的zookeeper本身也是一个分布式程序(只要有半数以上节点存活,zk就能正常对外提供服务)一般奇数台zk集群的角色主要有2种:leader和follower选举机制zookeeper集群的特...原创 2020-02-20 20:05:46 · 329 阅读 · 0 评论 -
11-2hefs读写流程的延伸——好程序
需要考虑策略,机制等。分布式系统,主要在于容错机制上,如何避免系统崩溃运行过程中,某台机器挂掉了,这些副本是在块报告之后进行复制1、表示dn3这个备份已经没有了,三个变两个了,现在的问题是少的副本何时备份 (用同一个策略)挺到块报告之后来处理,它本身是不作处理的 挂了之后,namenode会知道的,在块报告时候就知道了,在元数据中会对dn3中标志的块是废的 ...原创 2020-02-20 16:33:37 · 218 阅读 · 0 评论 -
11HDFS的读写流程&NameNode、DataNode工作机制——好程序
namenode的工作机制原创 2020-02-20 10:18:49 · 588 阅读 · 0 评论 -
10hdfsapi第一个案例
hdfsapi第一个案例(先创建一个包)解决用户权限问题、获取操作对象的6种方式以下方法是修改用户权限的操作权限问题:解决用户出错的几种方案:vm options:-DHADOOP_USER_NAME=root2、设置系统环境变量System.setProperty("HADOOP_USER_NAME","root");...原创 2020-02-19 16:53:16 · 176 阅读 · 0 评论 -
08Hadoop架构的Yarn & MapReduce集群配置,时间同步,安全模式,动态增删节点——好程序
yarn集群配置与任务调度yarn集群的安装配置vi $HADOOP_HOME/etc/hadoop/yarn-site.xml <!--指定yarn的rm所在的主机名--><property><name>yarn.resourcemanager.hostname</name><value>hadoop0001<...原创 2020-02-19 15:00:57 · 295 阅读 · 0 评论