- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 【大数据】【调度】Airflow 和 Azkaban的选型
Airflow和Azkaban这两个组件对大数据集群来说是相对独立的,都是可以独立于集群安装,所以不管是cdh还是hdp集群,都可以选择其中之一作为集群的任务调度系统。我们公司有2套集群,国内国外各一套,然后因为历史原因国内用的是Azkaban,国外用的是Airflow,考虑到以后技术栈的统一,打算慢慢将两个集群的组件统一化,所以就有了调研两个调度系统对比这件事。这里就将这两个组件拿出来对比一下,这里没有拿oozie出来说是因为用我用oozie的不多,并且oozie是强依赖于hadoop的,不适合作为.
2020-11-29 17:25:40
3205
1
原创 【大数据】【hadoop】查看hdfs文件命令
查看hdfs文件的blockSize# 查看文件的blockSize[root@cdh01 text]# hdfs dfs -stat "%n %b %o %r %y %F" /tmp/example/access_2013_05_31.logaccess_2013_05_31.log 157069653 134217728 3 2020-10-07 02:05:07 regular file[root@cdh01 text]# hadoop fs -stat "%n %b %o %r %y %F
2020-11-29 15:44:16
1311
1
原创 【maven】【install:install-file】手动将jar添加到maven本地仓库
背景: 最近在编译spark源码 3.0.0-cdh6.3.2, 遇到一直无法下载某些包的情况,于是想到从已经装好的集群里面讲jar拿出来用,但????不能直接添加到项目,所以想到使用maven的命令将jar包安装到maven的.m2路径下,这样在用maven编译时直接从本地读取jar包即可。mvn install:install-file -Dfile="/Users/peterpan/Documents/work/cluster_jars/3.0.0-cdh6.3.2/jars/hadoop-yar
2020-11-29 13:17:08
640
原创 【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/多个 的文件时是如何划分分区
一、简要概述1、goalSize从单个文件totalSize/minPartitions变成多个文件totalSize/minPartitions,2、然后依旧是通过goalSize,minSize,blockSize计算出splitSize,3、最后将splitSize单独应用到每个文件上面,将所有分区加起来就是最后得到的总分区了。二、minPartitions设置为3的分片情况三、minPartitions设置为2的分片情况总结、参考 【spark读取 本地/可分割/多个 的文件
2020-10-25 15:50:04
450
1
原创 【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区
前言spark怎么知道读取的是本地文件还是hdfs的文件呢?前面写过一篇博客【spark2的textFile()是怎么实例化各个不同的fs(FileSystem)】,主要是指【本地文件系统】和【hadoop文件系统】,我们看到源码里最后是根据文件路径url的scheme来判断的:file: LocalFileSystemhdfs: DistributeFileSystem1、从InputSplit[] getSplits(JobConf job, int numSplits)说起因为前部分
2020-10-18 23:39:59
539
原创 【spark2】【源码学习】【分区数】spark读取 本地/可分割/多个 的文件时是如何划分分区
spark的textFile API 支持读取单个文件,也支持读取文件夹路径并将文件夹路径下的文件都读取进内存处理,前面已经写了一篇关于 【本地/可分割/单个】 文件的分区处理,今天来看下 【本地/可分割/多个】 文件是怎么处理的。一、简要概述1、goalSize从单个文件totalSize/minPartitions变成多个文件totalSize/minPartitions,2、然后依旧是通过goalSize,minSize,blockSize计算出splitSize,3、最后将splitS.
2020-10-18 11:41:40
757
2
原创 【spark2】【源码学习】【代码】spark2的textFile()是怎么实例化各个不同的fs(FileSystem)
参考博客内 “【spark2】【源码学习】【分区数】spark读取 本地/可分割/单个 的文件时是如何划分分区”, 直接跳到 getPartitions 这个方法。一、获取RDD分区的函数 getPartitions()// HadoopRDD.scala override def getPartitions: Array[Partition] = { val jobConf = getJobConf() // add the credentials here as this c.
2020-10-11 22:07:13
240
原创 【spark2】【源码学习】【分区数】spark读取 本地/可分割/单个 的文件时是如何划分分区
大数据计算中很关键的一个概念就是分布式并行计算,意思就是讲一份原始数据切分成若干份,然后分发到多个机器或者单个机器多个虚拟出来的内存容器中同时执行相同的逻辑,先分发(map),然后聚合(reduce)的一个过程。那么问题是原始文件是怎么切分的呢,在spark读取不同的数据源,切分的逻辑也是不同的。首先spark是有改变分区的函数的,分别是Coalesce()方法和rePartition()方法,但是这两个方法只对shuffle过程生效,包括参数spark.default.parallelism也只是对.
2020-10-06 17:15:00
1924
1
原创 【spark2】【源码学习】【环境编译】在idea导入spark源码,执行example并debug
一直想搞清楚spark读取不同数据源时的分区是怎么决定的,趁着国庆有时间终于下决心来做这个事。关于这个分区数,很多说法,最后决定自己看下源码,也算是接触spark源码的第一步吧。挺多坑,零零散散花了2天多的时间,总算跑通spark源码里面的example了。mark一下。一、spark源码包下载&解压spark下载传送门(可能需要翻墙)下载完,拷贝到自己想放的目录,双击即可解压得到项目文件夹。二、安装maven&scala2.1、 先到刚刚解压出来的spark源码根目录,打开.
2020-10-05 21:37:55
515
原创 【python3】日期相关的一些方法,不断更新
import datetimeimport timeimport calendarfrom datetime import timedelta# 获取当前日期或时间def get_current_time(format="%Y-%M-%d %H:%M:%S"): now = time.strftime(format, time.localtime()) return now# 获取指定日期的前x天的日期def get_x_day_ago_with_point_date(
2020-10-03 00:36:59
136
原创 【linux用户模块】用户/用户组的管理
新增一个组:语法:groupadd [-g GID] groupname1、[-g GID] 是用来自定义gid, 如果不自定义可以省略,会按照系统默认的gid创建组,跟用户一样,gid也是从500开始的。2、创建组的时候,使用已存在的gid,组名都会报【已存在】错误[root@cdh01 ~]# groupadd pgx02[root@cdh01 ~]# tail -n5 /etc/grouppgx:x:1001:supergroup:x:1002:pgxpgx01:x:1003:p.
2020-09-20 12:13:43
236
原创 【linux用户模块】/etc/passwd的字段含义
[root@cdh01 ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:
2020-09-20 10:33:09
1609
原创 【nifi数据采集】nifi给kafka打数据遇到的坑 - kafka2.1 的listeners配置
如下图,在测试使用nifi往kafka打数据的时候,发现通过ambari安装的kafka收不到数据,而通过docker安装的kafka则可以收到数据。nifi后台log日志报错信息2020-04-19 11:09:02,916 INFO [Timer-Driven Process Thread-10] o.a.kafka.common.utils.AppInfoParser Kafka ...
2020-04-19 12:16:36
4343
1
原创 centos7.2 将mysql添加到服务中
手动安装的mysql是不会自动添加到系统服务中的。如果需要配置开机启动,最好是将mysql配置成系统服务,也便于管理。确定mysql运行时的pid文件位置1、先去mysql安装目录启动mysql[root@host01 mysql]# cd /usr/local/mysql/support-files/[root@host01 support-files]# pwd/usr/loca...
2020-04-05 13:47:43
740
原创 在 centos7.2安装docker 并设置阿里云源
现在docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,需付费使用。个人使用Docker CE 好了删除系统就的docker组件[root@host01 ~]# yum remove -y docker docker-client docker-client-latest docker-...
2020-03-29 18:05:40
488
原创 VMware安装centos7.2后配置网络并设置固定ip
开始接触centos7,目前公司用的还是centos6.8,不过最近要接触docker,docker需要centos的内核是3.10以上,而且看到centos7也开始普及,就也试着学习接触centos7吧。感觉区别还是挺明显的。安装后第一步应该就是配置上网吧。查看本机ip(非必须)1、按照习惯先看下本机ip, 熟悉的命令是ifconfig,但会如下:[root@localhost ~]#...
2020-03-29 10:57:53
682
原创 CDH5.14 spark2.4.0配置python3 以及读取hive表
在cdh5.14上装好spark5.14后,如果使用pyspark的话,默认是使用系统的python,一般是python2.7配置使用python31、在各个节点上安装好python3,路径要一致2、在cdh的配置页面2.1、选择spark22.2、选择配置页签2.3、搜索env2.4、在spark2-conf/spark-env.sh 的 Spark 2 服务高级配置代码段(安全...
2019-11-12 22:06:43
1300
原创 centos6 python3.6 安装配置jupyer
1、安装1.1、安装python3.6参考:https://blog.csdn.net/kyle0349/article/details/98474013编译安装前一定要yum 安装一些linux相关的依赖。1.2、安装jupyter安装完后, jupyter并没有配置到环境变量中,也就是不能直接在命令行使用jupyter,可以在python安装目录bin下面找到,然后创建一个软连...
2019-08-25 14:51:32
474
原创 cdh集群的spark2和jupyter集成
之前部门有小伙伴使用pandas做数据分析,使用的是jupyter做验证开发,后来要使用spark,所以尝试在jupyter写spark代码,这样做的案例貌似不多,可能是比较偏门的。1. 前提1.1、spark2已经安装好,在shell可以正常使用pyspark21.2、jupyter已经安装好,可以正常启动使用python32. 集成2.1、在cm页面添加spark和jupyter的关...
2019-08-18 16:18:20
644
原创 CDH5.14安装spark2
cdh5.14 默认自带的spark版本是1.6的,如果需要使用spark2,那么需要另外安装。官网上给出了CDH版本和spark2版本对应的说明以及离线安装包的地址,在安装时需要安装自己集群版本下载相应的spark2:https://www.cloudera.com/documentation/spark2/latest/topics/spark2_requirements.html1.下...
2019-08-18 13:49:20
1470
原创 通过http端口获取hadoop集群的active node
最近部门合并,两个部门的集群需要同步到一起,自然用的是【distcp】,因为两个集群的版本不一致,用hdfs可能会有问题,所以通过http端口来传输。因为两个集群都配置了HA,无法确定什么时候哪个name node处于active状态,所以需要先每次传输前先获取active node。方式是通过JMX来获取集群信息。解析返回的json,获取到active node后退出,开始传输数据。#...
2019-08-10 01:10:57
856
原创 centos6编译安装json工具 jq1.5
1、下载源码包[root@cdh01 jq]# wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz2、解压[root@cdh01 jq]# tar -zvxf jq-1.5.tar.gz3、编译安装[root@cdh01 jq]# cd jq-1.5[root@cdh01 jq-1.5...
2019-08-10 00:13:39
1728
原创 centos6 编译安装python3, 不影响python2
依赖安装yum -y groupinstall "Development tools"yum -y install python-devel openssl-devel bzip2-devel zlib-devel expat-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel readline-devel gcc1、...
2019-08-04 20:43:12
181
原创 hive 1.1.0版内置函数大全
在hive中使用show functions 查看所有hive支持的函数describe function xxx 查看具体xxx函数的定义以下表格是hive1.1.0支持的所有函数及定义,其实主要用到的函数并不多,后续另外详细列举平时常用的函数例子。hive functiondescribe!! a - Logical not!=a != b - Ret...
2019-08-04 11:31:02
1455
原创 hive 1.1.0版本 获取周数, 解决跨年的bug
背景项目中有一个报表是留存率,包括日留存,周留存,月留存。其中在计算周留存率时,可能会直接想到【weekofyear】这个函数,然后简单拼接年就可以得到周数,大部分时候是对的,但在跨年的时候可能会出现bug。hive> select concat(year('2019-08-01'),'-',weekofyear('2019-08-01'));OK2019-31Time t...
2019-08-04 01:46:39
2397
2
原创 cdh 关闭监控monitor
如果只是单机单间的cm,可以关闭cm的监控来节省内存。 1、登录cm管理界面 http://centos1:7180/cmf/home 2、在Cloudera Management Service现在选择停止cm即可, 点击上图的邮编的三角符号,选择【停止】 3、关闭后,界面是的监控都会显示查询错误,但不会影响集群的正常运行 ...
2018-09-08 20:51:28
1969
原创 cdh5.14 单节点parcel方式安装(多图)
一、系统环境:物理机:一台8G 的mac虚拟机:安装linux系统:CentOS release 6.5 (对于集群安装,这个才是最终的环境系统) cpu:2core内存:6g(对,就是这么多,因为cdh真的很吃内存,这也是装单节点的原因,如果是源生的hadoop,3个节点没压力)二、安装前提此文只讨论离线方式安装cm5和cdh5,有以下假定前提:1、jdk环境配置...
2018-09-08 20:21:42
5345
3
原创 SSH免密码登录配置
Hadoop集群中节点之间需要不断通信,节点之间的免密码登录是少不了的. 原理: 在本机生成公钥(id_rsa.pub)和私钥(id_rsa),然后将公钥存放到需要登录的服务器,以后每次登录该服务器时,会自动匹配公钥和私钥,匹配上了就直接登录,省去输入密码步骤。1、 在(本机)客户机生成公钥和私钥:[root@centos1 ~]# ssh-keygen -t rsa#全部采用回...
2018-09-08 18:36:31
760
原创 centos6.5系统使用tar包离线安装mysql5.7
安装环境:centos61、下载1.1、 http://dev.mysql.com/downloads/mysql/ http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-i686.tar.gz1.2、将tar包复制到/usr/local/soft/目录下2、解压缩到/usr/l...
2018-09-07 12:52:22
3539
原创 Linux(centos6.5)设置静态IP
在安装集群之前,需要先配置各个节点的静态IP,避免重启机器IP变化导致集群启动失败。 环境: 物理机是mac 使用VMware安装centos6.5系统1、查看物理机的vm8 ip启动VMware软件使用ifconfig查看物理机的ip,找到vmnet8对应的ipinet是172.16.131.1,所以网段是172.16.131,这个在后面配置时用到。 2、进入...
2018-09-06 23:29:04
2295
原创 yarn中container、mr内存的配置,控制container个数
最近项目在用kylin,在搭建开发环境和测试环境后,然后在kylin上建cube,kylin建cube的实际就是调用集群的MR跑任务(也可以调用spark作为引擎),在数据量小或者维度(kylin里面的一个概念)少的时候没问题,后来数据量大或维度多了,就经常出现OOM的问题。 其实一开始就知道是并行度过高的问题,也尝试过在kylin里面调试,但并没有用。后来通过jps查看yarnchil...
2018-08-26 22:12:55
16251
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人