- 博客(42)
- 收藏
- 关注
原创 Spark排序方式之Ordering on
一、Spark的几种排序方式(1)直接根据字段进行排序 弊端:如果字段太多不便于使用(2)封装一个类,实现它的Ordered 弊端:用自定义实现序列化方式比较麻烦(3)用case class的方式排序 推荐:不用new、默认就实现了序列化(4)最简单的排序方式Ordering on二、Spark最简单的一种排序方式Ordering onpackage com.ruozedata.b...
2019-10-06 11:43:08
804
1
原创 Spark RDD算子
一、Transformations与Actions主要算子(1)Transformations算子描述map处理每一条数据mapPartitions对每个分区进行处理mapPartitionsWithIndex每个元素跟所在分区形成一个元组mapValues是针对RDD[K,V]的V做处理flatmapflatmap = map + fla...
2019-10-06 10:39:03
183
原创 Spark的分布式数据集RDD
一.RDD介绍(1)RDD介绍RDD全称resilient distributed dataset(弹性分布式数据集)。他是一个弹性分布式数据集,是spark里面抽象的概念。代表的是一个不可变的,集合里面的元素可以分区的支持并行化的操作。(2)源码描述RDD的五大特性A list of partitionsA function for computing each splitA li...
2019-10-05 21:10:49
310
原创 shell脚本同步集群配置以及zk未启动的排查方法
一、shell脚本同步集群配置说明维护集群不可能每台机器都通过win上传文件,通过写脚本,以第一台为标准进行配置,下发到所有机器,除非有些参数需要动态去修改1、需要的shell脚本,给脚本一个x的权限2、使用scp适用于机器少的情况使用scp的情况适用于机器少的时候,如果集群有1000或者更多的话,写scp要写1000行不现实,可以写一个for循环去处理,只要机...
2019-08-24 18:55:33
282
原创 shell命令及脚本编写
一、shell脚本介绍(1)在大数据环境包括所有的环境中,shell脚本通常都是后缀为.sh,有一些会没有后缀(2)shell脚本标准的写法,文件开头的第一行#!/bin/bash这是一个解释器,标识了脚本用什么命令去执行(不标准的写法:没有#!/bin/bash)(3)通常执行脚本的命令是通过 ./xxx.sh ,可以进行绝对路径执行/root/learn_shell/wc.sh或者相对...
2019-08-24 15:21:41
467
原创 Hadoop 集群部署
一、准备环境1、准备3台机器2、安装必要软件包准备三台2C 8G的CentOS7.2的服务器,设置三台主机名分别为ruozedata001,ruozedata002,ruozedata003组件版本百度网盘链接jdk-8u45-linux-x64.gzhttps://pan.baidu.com/s/1-9CDzxih8nOgCTu__rZb2Q 提取码:wfjk...
2019-08-21 18:08:38
144
原创 HDFS、YARN HA的区别
一,hdfs、yarn部署的进程对比hdfs做ha时ruozedata001: ZK NN zkfc jn DNruozedata002: ZK NN zkfc jn DNruozedata003: ZK jn DNyarn做ha时ruozedata001: ZK NN zkfc jn DN RM NMruozedata002: ZK NN zkfc jn DN R...
2019-08-18 14:35:20
502
原创 YARN HA架构
一、伪分布式Yarn只有rm、nm进程伪分布式部署或者是集群部署不做HA的话,rm是单点的,如果做HA,rm会有2个,比如rm1、rm2rm1 activerm2 standby这个时候机器上的进程是ruozedata001: ZK NN zkfc jn DN RM NMruozedata002: ZK NN zkfc jn DN RM NM...
2019-08-18 13:49:18
208
原创 HDFS HA架构
一、HDFS的HA架构官方站点:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html1、HA具备的作用HA指的是:HA(High Available),高可用性集群,保证业务连续性,实现业务不中断一般有两个或两个以上的节点,且分为活动节点及备...
2019-08-18 13:22:13
544
原创 HDFS小文件的危害
HDFS 适应场景: 大文件存储,小文件是致命的举例说明10m的10个文件 10块30m的1个文件 1块共有11个文件: 11块原因是nn里面维护块的文件信息大文件可维护2个块但是现在维护11个块为什么小文件会把NN撑爆?例如NN的大小是4G大概是42亿字节1个小文件(阈值<=30m): nn节点维护的字节大约250字节1亿个小文件 250b1亿=2...
2019-08-18 07:36:00
2535
原创 Hadoop之——Unable to load native-hadoop library for your platform...解决办法
一、出现的问题及原因:配置完hadoop启动的时候出现如下警告信息:无法加载native-hadoop库需要使用适用的builtin-java类WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applic...
2019-08-09 17:43:56
1160
原创 hadoop-2.6.0-cdh5.7.0源码编译
一、说明直接使用的hadoop-2.6.0-cdh5.7.0.tar.gz包部署的hadoop集群不支持文件压缩,生产上是不可接受的,故需要将hadoop源码下载重新编译支持压缩二、编译hadoop支持压缩1、编译流程:下载软件——>安装必要依赖库——>添加用户并创建文件夹上传软件——>安装JDK并添加环境变量——>安装maven并配置和添加环境变量——>安装...
2019-08-01 01:14:32
322
原创 HIVE的内部表跟外部表
一、内部表和外部表的区别通常生产上最常用的是外部表1、EXTERNAL官方的建表语法:CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later) 如果指定了EXTERNAL就是外部表...
2019-07-28 18:55:08
275
原创 hive之DML和DDL语句
一、数据库内容1、创建数据库如果重复创建会提示存在,添加 IF NOT EXISTS 则不存在问题location默认的是在hdfs上use/werehost上面,如果自己指定的是不带DB的,需要创建官网语法:CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATIO...
2019-07-28 17:48:58
247
原创 Hive部署及介绍
介绍——官网:hive.apache.org(1)hive介绍Apache Hive数据仓库有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集,SQL来完成大数据的统计分析目前市面上使用多的分布式存储distributed storage:HDFS S3 OSS COShdfs://hadoop000:8020/xxxxxs3a://…s3n://访问Hive的...
2019-07-28 01:12:50
143
原创 MySQL语法二
1、order by 排序排序order by 滞后,asc升序(升序一般是默认的)、desc降序order by后面可跟多个字段排序select num,name,age from ruozedata.studentinfo where name like 'r%' order by num asc ;#降序select num,name,age from ruozedata.stu...
2019-07-20 19:13:24
234
原创 MySQL基础语法一
1、创建数据库#创建数据库 ruozedatacreate database ruozedata;2、创建用户并刷新用户权限grant all privileges on ruozedata.* to ruoze@'%' identified by '123456';flush privileges;3、基本权限查看#查看数据库show create database ruoz...
2019-07-20 18:27:15
103
原创 yarn的调度器和常用命令
1.调度器在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairScheduler。1.1 FIFO先进先出,一个的简单调度器,适合低负载集群。(适合任务数量不多的情况下使用)。示例:1job先提交,会运行1job,过一会,2job提交了,需要等1job运行完才可以运行2job1.2 Capacity调度器,给不同队列(即用户或用户组...
2019-07-19 16:31:25
612
原创 wordcount案例的shuffle
一、流程介绍map到reduce过程:map—shuffle---->reduce19/07/13 19:55:31 INFO mapreduce.Job: map 0% reduce 0%19/07/13 19:55:42 INFO mapreduce.Job: map 50% reduce 0%19/07/13 19:55:43 INFO mapreduce.Job: m...
2019-07-19 16:31:04
180
原创 yarn资源调优参数及案例
1.yarn内存调优说明:yarn主件的nodemanager进程管理的resource的memory资源可以分配给容器的物理内存(以MB为单位)。如果设置为-1,并yarn.nodemanager.resource.detect-hardware- capability为真,则自动计算(在Windows和Linux中)。在其他情况下,默认值是8192MB。yarn.nodemanager....
2019-07-19 16:30:33
1759
原创 MapReduce工作原理图文详解
开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习hdfs时候我就发现,要理解hadoop框架...
2019-07-19 16:29:40
180
原创 YARN and MapReduce的【内存】优化配置详解
本文来源:http://blog.itpub.net/30089851/viewspace-2127850/在Hadoop2.x中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container。使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduc...
2019-07-13 13:17:57
114
原创 yarn架构设计
yarn的工作流程 1、客户端向yarn提交作业,yarn会启动ApplicationsManager,让它来管理作业2、RM会为作业分配对应的NM并且通信,开启作业的ApplicationMaster3、ApplicationMaster会向ApplicationsManager注册,这样用户可以在页面上实时查看任务进度等信息4、ApplicationMaster轮询的通过RPC向Re...
2019-07-13 13:02:34
146
原创 YARN的Memory和CPU调优配置详解
文章来源:http://blog.itpub.net/30089851/viewspace-2127851/Hadoop YARN同时支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用。YARN作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据application申请的资源进行分配Container。Container是YARN里面资源分配的基本单...
2019-07-13 12:14:03
117
原创 hdfs常用命令
一、hadoop命令fs, fs=hdfs=dfsversion,查看版本jar ,运行一个jar到 yarn上checknative,查看hadoop对于压缩的支持,cloudera提供的cdh默认不支持压缩,得进行源代码编译classpath,hadoop运行的过程中需要加载哪些jar包,假如某一服务的进程无法启动,当 hadoop classpath的时候显示该进程未追加进...
2019-07-12 21:27:50
124
原创 生产上HDFS Block损坏恢复
一.文件ruozedata.md上传:-bash-4.2$ hdfs dfs -mkdir /blockrecover-bash-4.2$ echo "www.ruozedata.com" > ruozedata.md-bash-4.2$ hdfs dfs -put ruozedata.md /blockrecover-bash-4.2$ hdfs dfs -ls /blockr...
2019-07-11 21:59:41
187
原创 hdfs读流程和写流程
一.文件读流程1、Client通过FileSystem.open(filePath)方法,与NN节点进行【rpc】协议通信,NN接受到请求会校验是否有权限是否存在,假如都ok,返回该文件的部分或全部的block的列表(包含各个block块的分布在DN地址的列表),也就是返回【FSDataInputStream】对象;如果过不了check直接抛出异常。2、Clinet调用FSData...
2019-07-09 18:20:35
102
原创 HDFS架构及其副本放置策略
架构设计一、block块HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64MHDFS的Block大的原因是最小化寻道时间。把一个数据块设计的足够大,就能够使得数据传输的时间显著地大于寻找到Block所在时间。这样,传输一个由多个Block组成的文件的时间就取决于磁盘的...
2019-07-09 00:27:02
513
原创 配置hadoop组件yarn及案例测试
一、vi命令模式编辑配置mapred-site.xml参数配置etc/hadoop/yarn-site.xml参数[hadoop@hadoop001 etc]$ cd hadoop[hadoop@hadoop001 hadoop]$ ll#-rw-r--r--. 1 hadoop hadoop 758 Mar 24 2016 mapred-site.xml.template[ha...
2019-07-07 14:05:39
705
转载 [转载]配置多台机器SSH相互通信信任
本文转载至http://blog.itpub.net/30089851/viewspace-1992210/1.5台机器执行 ssh-keygen[root@sht-sgmhadoopnn-01 ~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.s...
2019-07-07 13:38:34
227
原创 jps命令使用
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。可以通过它来查看我们到底启动了几个java进程which查看jps的文件位置如果环境里面没有jps说明JDK未配置好如果在当前命令行下打 jps,需要配...
2019-07-06 15:13:38
1181
原创 Hadoop用户启动hdfs三个进程
一、先启动hadoop服务[root@hadoop001 ~]# su - hadoop[hadoop@hadoop001 ~]$ cd app/[hadoop@hadoop001 app]$ cd hadoop/[hadoop@hadoop001 hadoop]$ sbin/start-dfs.sh 19/07/04 20:57:06 WARN util.NativeCodeLoade...
2019-07-06 13:58:58
2265
原创 MySQL部署
MySQL部署流程:通过rpm包或tar包部署企业里一般是通过tar包部署,可进行定制化1、rpm包部署:一般机器上面都有mysql - libs包,不可无故卸载libs包,可能会导致其他依赖性服务不正常rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 是可卸载rpm libs包,卸载的时候会告诉一个依赖,则使用rpm -e --nodeps进行卸载安装流...
2019-07-03 16:15:15
164
原创 Hadoop伪分布式部署
[hadoop@hadoop001 software]$ lltotal 304292drwxr-xr-x. 14 hadoop hadoop 4096 Mar 24 2016 hadoop-2.6.0-cdh5.7.0-rw-r--r--. 1 hadoop hadoop 311585484 Jul 2 2019 hadoop-2.6.0-cdh5.7.0.tar.gz...
2019-07-03 13:23:38
156
原创 登录MySQL时出现Access denied 错误提示
适用于忘记密码时,跳过权限认证一.安装好mysql后,登录时提示Access deniedhadoop001:mysqladmin:/usr/local/mysql:>mysql -uroot -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:...
2019-07-03 01:22:28
2430
原创 Linux基础命令四
1、vi的使用(1)vi常用的快捷键快捷键作用dd删除当前行dG删除光标所在行及以下的所有行ndd删除光标所在行及以下的n-1行gg跳转到第一行的首字母G跳转到最后一行的首字母shift+$行尾0行首gg+dG真正清空 0字节(2)vi命令模式...
2019-06-27 01:03:59
133
原创 Linux中常见的错误和校验方法
1.常见的错误有四种错误提示说明ping: unknown host主机找不到错误timeout请求超时Connection refused连接拒绝permission denied权限被拒绝2.常见四种错误的解决方式(1)当提示ping: unknown host时,原因是映射关系未配置导致,也就是机器的名称对应的IP未进行配置Linu...
2019-06-22 13:20:04
635
原创 进程pid与端口号port
一个进程有很多个端口号(对内),只有一个端口号(对外)1、关于进程pid进程管理会用到的命令命令含义ps -ef查看系统中的进程grep将后台进程中指定的文件过滤出来grep -v过滤排除kill -9 pid杀死进程kill -9 $(pgrep -f tail)杀死关于tail命令的所有进程kill -9 pid杀死多个进程:...
2019-06-22 11:35:25
8860
原创 Linux基础命令三
1.sudo权限指令sudo允许系统管理员让普通用户执行一些或者全部的root命令[root@hadoop001 ~]# su - Wendy[Wendy@hadoop001 ~]$ ll /rootls: cannot open directory /root: Permission denied[Wendy@hadoop001 ~]$ 提示无root权限,利用sudo命令获取r...
2019-06-22 10:15:13
176
原创 Linux基础命令二
1.别名alias rd='cd /root/xxxx在另外的会话窗口找不到rd命令,设置别名时为临时,当session生效如何做全局:2全局环节变量和个人环境变量全局:意味着所有人可以使用vi 文件时 拷贝的时候需要是insert模式 #evnwhich/etc/profile配置后需要生效 source /etc/profile其他用户也可以使用个人~/.bas...
2019-06-19 01:44:29
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人