- 博客(204)
- 资源 (4)
- 收藏
- 关注

原创 Grafana+Prometheus监控Flink on YARN系统搭建
1.简介Flink支持多种监控指标的汇报reporter,例如jmx、slf4j、Prometheus、InfluxDB等。Grafana+Prometheus是当前比较流行的监控可视化解决方案。如下图为Prometheus及相关组件组成的生态系统。2.安装配置Prometheus是采用拉模式的方式,从exporter拉取监控的数据。但Prometheus自动发现Flink on YARN作业的提交、结束以及自动拉取数据是比较困难的。PushGateway作为一个中转组件,通过配置Flink on
2020-05-22 23:23:32
692
原创 集群资源管理基础架构和工作机制
然后向集群RM申请运行一个application,RM返回要提交的JobApplication资源提交路径,主要放job.split(切片用来开启控制多少mapreduce),job.xml(参数配置),wc.jar(jar包即程序代码)。空闲的NodeManager就会领取调度队列中的Task任务,领走任务之后首先会创建容器container,任何任务的执行都在容器中执行,容器中有cpu,网络资源,磁盘,内存等。ReduceTask。Reduce执行结束后,MR会向RM注销自己,释放资源。...
2022-07-15 23:41:13
146
原创 大数据集群写数据流程原理分析
写入数据流程,即客户端如何把数据写入hdfs集群,底层原理如下: 右侧为hdfs集群,含有NameNode和DataNode节点,左侧为客户端准备把数据传送到集群,首先创建客户端(分布式的文件系统),创建好客户端后向NameNode请求,NameNode要进行两个方面的校验,1.检查权限,即有没有权限写;2.检查目录结构是否存在; 检查完毕响应可以上传,请求上传第一个Block,请求返回DataNode,选择策略,副本存储节点选择:1.本地节点;2.其他机架节点;3.其他机架另外
2022-07-12 23:37:21
230
原创 深入理解混洗过程
map方法之后,首先进入getpartition方法,标记数据属于那个分区,并打上分区编号,因为后续的数据都是按分区处理。 不同分区数据会进入不同的reduce里面,然后进入环形缓冲区(默然100M),左侧存索引,右侧存数据,当到达80%的时候进行反向溢写,原因是留给溢写时间,不至于等待,让环形缓冲区高效运转,利用率更高。在溢写之前,对数据进行一次排序,排序的手段为快排,是对key的索引按照字典顺序,快排完后进行第一次溢写,溢写文件有两个,一个是spill.index和一个真正落地的文件s
2022-07-09 00:03:44
179
原创 Django之VScode工程搭建
1.安装python和VSCode,安装插件2.VSCode打开项目文件夹 例如:djangoweb.终端中键入命令:建立虚拟环境PS D:\study\django-web> python -m venv env3.选择Python的解释器路径为虚拟环境选择含有env(自己建立的虚拟环境文件夹)的解释器路径4.在虚拟环境中安装Django(env) PS D:\study\django-web> pip install django5.创建Django项目(env) PS D:\s
2022-06-29 09:35:18
585
原创 记录一次hive无法删除异常分区问题
今天在做数据导入时,发现有几个异常分区。因为异常分区影响到BI端数据报表展示。所以需要删除;当执行删除分区命令是一直报如下错误无法删除分区,然后就使用hdfs dfs -rm -rf /命令删除分区后,使用msck修复后,分区并未删掉。最后查看分区字段类型时,发现dt是date类型;ALTER TABLE smart.smart_company_dws PARTITION COLUMN (dt string);改成string类型后操作成功;...
2022-05-17 16:51:30
473
转载 Redis 数据备份和恢复
一 . redis 快照备份首先找到redis安装的目录,即redis-cli所在的位置 【1,2步骤在 redis 安装了但执行redis-cli not found时候操作,如果没有遇见这个问题可以直接跳过 】可以使用 find / -name redis-cli 命令查找2.找到之后我们将其复制到 /usr/local/bin目录下面我们可以使用 cp 命令将其复制过去 ,即然后查看/usr/local/bin目录下就有redis-cli文件了 然后我们在任何 输入命令 red
2021-08-18 16:31:09
1366
原创 redis单实例和主从模式搭建
1.Redis编译安装Redis是当前比较热门的NOSQL系统之一,使用率已相当高。如何进行安装是使用的前提。且之前文章中有提到MySQL XA事务问题导致锁等待超时而影响应用正常使用的情况,因此,我们先来了解一下如何编译安装redis(1)依赖包安装yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl(2)安装包准备可以从官
2021-08-04 16:28:28
93
原创 SecureCRT免费安装教程
SecureCRT免费安装教程网址:https://blog.csdn.net/gufenchen/article/details/91040221securecrt中文乱码怎么办网址:https://jingyan.baidu.com/article/15622f241c9064fdfcbea538.html
2021-06-24 11:26:18
142
原创 AMBARI HDP安装官方文档
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.2/index.html
2021-06-18 10:58:21
127
原创 采集日志flume专题
flume采集集群规划:1.项目经验之 Flume 组件选型1.1 Source(1)Taildir Source 相比 Exec Source、Spooling Directory Source 的优势TailDir Source:断点续传、多目录。Flume1.6 以前需要自己自定义 Source 记录每次读取文件位置,实现断点续传。Exec Source 可以实时搜集数据,但是在 Flume 不运行或者 Shell 命令出错的情况下,数据将会丢失。Spooling Directory
2021-06-07 23:42:37
124
3
原创 kafka专题篇
kafka安装部署(1)集群规划hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka(2)jar包下载http://kafka.apache.org/downloads.html(3)集群部署解压安装包[hadoop@hadoop102 software]$ tar -zxv
2021-06-03 23:15:37
46
原创 集群数据均衡
1.节点间数据均衡开启数据均衡命令:start-balancer.sh -threshold 10对于参数 10,代表的是集群中各个节点的磁盘空间利用率相差不超过 10%,可根据实际情况进行调整。停止数据均衡命令:stop-balancer.sh注意:于 HDFS 需要启动单独的 Rebalance Server 来执行 Rebalance 操作,所以尽量不要在 NameNode 上执行 start-balancer.sh,而是找一台比较空闲的机器。2.磁盘间数据均衡(1)生成均衡计划(
2021-06-02 22:49:13
80
原创 hive排序
1.全局排序(Order By)Order By:全局排序,一个ReducerASC(ascend):升序(默认)DESC(descend):降序Order By子句在SELECT语句的结尾案例实操(1)查询员工信息按工资升序排列hive (default)> select * from emp order by sal;(2)查询员工信息按工资降序排列hive (default)> select * from emp order by sal desc;2.按照别名排序
2021-05-18 23:03:50
84
原创 连接谓词中不支持or
案例实操hive (default)> select > e.empno, > e.ename, > d.deptno > from > emp e > join > dept d > on > e.deptno=d.deptno or e.ename=d.dname;FAILED: SemanticException [Error 10019]: Line 10:3 OR notsupported in JOIN curr
2021-05-18 22:48:30
131
原创 笛卡尔积
1.产生条件(1)省略连接条件(2)连接条件无效(3)所有表中的所有行相互连接案例实操hive (default)> select empno, dname from emp, dept;
2021-05-18 22:46:49
54
原创 多表连接查询
hive (default)>SELECT e.ename, d.deptno, l.loc_nameFROM emp eJOIN dept dON d.deptno = e.deptnoJOIN location lON d.loc = l.loc;大多数情况下,Hive 会对每对 JOIN 连接对象启动一个 MapReduce 任务。本例中会首先启动一个 MapReduce job 对表 e 和表 d 进行连接操作,然后会再启动一个 MapReduce job将第一个 MapRedu
2021-05-18 22:42:25
37
原创 Having 语句
1.having 与 where 不同点(1)where 针对表中的列发挥作用,查询数据;having 针对查询结果中的列发挥作用,筛选数据。(2)where 后面不能写聚合函数,而 having 后面可以使用聚合函数。(3)having 只用于 group by 分组统计语句。...
2021-05-09 23:41:28
284
原创 hive导入/导出实操案例
Import 数据到指定 Hive 表中注意:先用 export 导出后,再将数据导入。hive (default)> import table student2 partition(month='201709')from '/user/hive/warehouse/export/student';2.数据导出Insert 导出(1)将查询的结果导出到本地hive (default)> insert overwrite local directory'/opt/module/.
2021-05-09 23:28:38
46
原创 Hive数据类型
1.基本数据类型对于 Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。2.集合数据类型Hive 有三种复杂数据类型 ARRAY、MAP 和 STRUCT。ARRAY 和 MAP 与 Java 中的Array 和 Map 类似,而 STRUCT 与 C 语言中的 Struct 类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。3.类型转化Hive 的原子数据
2021-05-09 23:17:50
36
原创 Hive常见属性配置
Hive数据仓库位置配置1)Default 数据仓库的最原始位置是在 hdfs 上的:/user/hive/warehouse 路径下。2)在仓库目录下,没有对默认的数据库 default 创建文件夹。如果某张表属于 default数据库,直接在数据仓库目录下创建一个文件夹。3)修改 default 数据仓库原始位置(将 hive-default.xml.template 如下配置信息拷贝到hive-site.xml 文件中)。<property><name>hiv.
2021-05-09 23:02:01
66
原创 Hive常用交互命令
查看交互命令方法:[hadoop@hadoop102 hive]$ bin/hive -help1.“-e”不进入 hive 的交互窗口执行 sql 语句[hadoop@hadoop102 hive]$ bin/hive -e "select id from student;"2.“-f”执行脚本中 sql 语句[hadoop@hadoop102 datas]$ touch hivef.sql文件中写入正确的 sql 语句select * from student;(2)执行文件中的
2021-05-09 22:46:49
41
原创 启动 hive产生 java.sql.SQLException 异常问题
Exception in thread “main” java.lang.RuntimeException:java.lang.RuntimeException:Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClientatorg.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)atorg.a
2021-05-09 22:38:13
415
原创 Hive 和数据库区别
1.由于 Hive 采用了类似 SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本节将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online 的应用中,但是 Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive 的特性。2.Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据
2021-05-09 22:35:39
230
原创 修改表及实操案例
1.修改表名(1)语法ALTER TABLE table_name RENAME TO new_table_name(2)实操案例hive (default)> alter table dept_partition2 rename todept_partition3;2.增加、修改、替换列信息(1)语法更新列ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_namecolumn_type [COMMENT c
2021-05-09 00:26:26
69
原创 分区表及实战
概念:分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。分区基本操作实战1.创建分区表语法hive (default)> create table dept_partition(deptno int, dname string, loc string)partitioned b
2021-05-09 00:18:02
68
原创 内部表和外部表区别
1.Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。2.在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。...
2021-05-08 23:12:53
4450
原创 480000 millis timeout while waiting for channel to be ready for write异常处理
2014-08-25 15:35:05,691 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(10.130.136.136:50010, storageID=DS-1533727399-10.130.136.136-50010-1388038551296, infoPort=50075, ipcPort=50020):DataXceiverjava.net.SocketTimeoutException
2021-05-07 10:33:23
407
原创 集群安全模式
1.NameNode启动时,首先将镜像文件(Fsimage)载入内存,并执行编辑日志(Edits)中的各项操作。一旦在内存中成功建立文件系统元数据的映像,则创建一个新的Fsimage文件和一个空的编辑日志。此时,NameNode开始监听DataNode请求。这个过程期间,NameNode一直运行在安全模式,即NameNode的文件体系对于客户端来说是只读的。2.DataNode启动,系统中的数据块的位置并不是由NameNode维护的,而是以块列表的形式存储在DataNode中,在系统的正常操作期间,Nam
2021-04-30 15:53:50
78
1
原创 Fsimage和Edits概念
NameNode被格式化之后,将在/opt/module/hadoop-2.7.2/data/tmp/dfs/name/current目录中产生如下文件fsimage_0000000000000000000fsimage_0000000000000000000.md5seen_txidVERSION(1)Fsimage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目录和文件inode的序列化信息。(2)Edits文件:存放HDFS文件系统的所有更新操作的路径,文
2021-04-30 15:03:39
406
1
原创 Hadoop副本节点选择
我的集群使用的是hadoop2.7.2版本,副本节点选择机制如下:(1)第一个副本在client所处的节点上,如果客户端在集群外,随机选一个。(2)第二个副本和第一个副本位于相同机架,随机节点。(3)第三个副本位于不同机架,随机节点。...
2021-04-30 14:10:52
302
转载 如何在win10上同时安装python2和python3
https://blog.csdn.net/qj30212/article/details/78565083
2021-04-01 16:43:08
28
原创 HDFS-HA 集群配置
环境准备修改 IP修改主机名及主机名和 IP 地址的映射关闭防火墙ssh 免密登录安装 JDK,配置环境变量等规划集群配置 Zookeeper 集群1.集群规划在 hadoop102、hadoop103 和 hadoop104 三个节点上部署 Zookeeper。2.解压安装(1)解压 Zookeeper 安装包到/opt/module/目录下[hadoop@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /
2021-03-17 17:24:01
35
原创 HDFS HA 高可用
HA 概述1)所谓 HA(High Available),即高可用(7*24 小时不中断服务)。2)实现高可用最关键的策略是消除单点故障。HA 严格来说应该分成各个组件的 HA 机制:HDFS 的 HA 和 YARN 的 HA。3)Hadoop2.0 之前,在 HDFS 集群中 NameNode 存在单点故障(SPOF)。4)NameNode 主要在以下两个方面影响 HDFS 集群NameNode 机器发生意外,如宕机,集群将无法使用,直到管理员重启NameNode 机器需要升级,包括软件、硬件升
2021-03-17 16:20:33
56
原创 快照管理
快照相当于对目录做一个备份。并不会立即复制所有文件,而是记录文件变化。(1)hdfs dfsadmin -allowSnapshot 路径 (功能描述:开启指定目录的快照功能) (2)hdfs dfsadmin -disallowSnapshot 路径 (功能描述:禁用指定目录的快照功能,默认是禁用) (3)hdfs dfs -createSnapshot 路径 (功能描述:对目录创建快照) (4)hdfs dfs -createSnapshot 路径 名称 (功能描述:指定名称创建快照) (5)
2021-03-17 15:41:11
105
原创 小文件存档
1、HDFS存储小文件弊端每个文件均按块存储,每个块的元数据存储在NameNode的内存中,因此HDFS存储小 文件会非常低效。因为大量的小文件会耗尽NameNode中的大部分内存。但注意,存储小文件所需要的磁盘容量和数据块的大小无关。例如,一个1MB的文件设置为128MB的块存储,实际使用的是1MB的磁盘空间,而不是128MB。2、解决存储小文件办法之一HDFS存档文件或HAR文件,是一个更高效的文件存档工具,它将文件存入HDFS块,在减少NameNode内存使用的同时,允许对文件进行透明的访问。具
2021-03-17 14:41:36
46
原创 集群间数据拷贝
1.scp 实现两个远程主机之间的文件复制scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 pushscp -r root@hadoop103:/user/atguigu/hello.txt hello.txt // 拉 pullscp -r root@hadoop103:/user/atguigu/hello.txt root@hadoop104:/user/hadoop//是通过本地主机中转实现两个远程主机的文件复制;如果
2021-03-17 14:34:11
83
原创 退役旧数据节点-黑名单退役
在黑名单上面的主机都会被强制退出。1.在 NameNode 的 /opt/module/hadoop-2.7.2/etc/hadoop 目 录下创建dfs.hosts.exclude 文件[hadoop@hadoop102 hadoop]$ pwd/opt/module/hadoop-2.7.2/etc/hadoop[hadoop@hadoop102 hadoop]$ touch dfs.hosts.exclude[hadoop@hadoop102 hadoop]$ vi dfs.hosts.ex
2021-03-17 14:02:24
49
原创 退役旧数据节点-白名单退役
1.添加白名单添加到白名单的主机节点,都允许访问 NameNode,不在白名单的主机节点,都会被退出。配置白名单的具体步骤如下:(1)在 NameNode 的/opt/module/hadoop-2.7.2/etc/hadoop 目录下创建 dfs.hosts 文件[hadoop@hadoop102 hadoop]$ pwd/opt/module/hadoop-2.7.2/etc/hadoop[hadoop@hadoop102 hadoop]$ touch dfs.hosts[hadoop@h
2021-03-17 13:57:04
40
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人