HDFS

初识Spark程序

狂风中的少年 提交于 2020-01-15 00:27:47
执行第一个spark程序 普通模式提交任务 : bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hdp-node-01:7077 \ --executor-memory 1G \ --total-executor-cores 2 \ examples/jars/spark-examples_2.11-2.0.2.jar \ 10 该算法是利用蒙特·卡罗算法求圆周率PI,通过计算机模拟大量的随机数,最终会计算出比较精确的π。 高可用模式提交任务 : 在高可用模式下,因为涉及到多个Master,所以对于应用程序的提交就有了一点变化,因为应用程序需要知道当前的Master的IP地址和端口。这种HA方案处理这种情况很简单,只需要在SparkContext指向一个Master列表就可以了, 如 spark://host1:port1,host2:port2,host3:port3 ,应用程序会轮询列表,找到活着的Master。 bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hdp-node-01:7077,hdp-node-02:7077,hdp-node-03

Flume-Taildir Source 监控目录下多个文件的追加

谁说我不能喝 提交于 2020-01-14 16:54:51
Exec source 适用于监控一个实时追加的文件,但不能保证数据不丢失;Spooldir Source 能够保证数据不丢失,且能够实现断点续传,但延迟较高,不能实时监控;而 Taildir Source 既能够实现断点续传,又可以保证数据不丢失,还能够进行实时监控。 1 创建配置文件 flume-taildir-hdfs.conf 监控 /tmp/upload/ 目录下以 COMPLETED 结尾的文件 a3.sources = r3 a3.sinks = k3 a3.channels = c3 # Describe/configure the source a3.sources.r3.type = TAILDIR a3.sources.r3.filegroups = f1 # 需要监控的目录 a3.sources.r3.filegroups.f1 = /tmp/upload/.*COMPLETED # 读取到哪里做标记的文件,断点续传使用 a3.sources.r3.positionFile = /opt/apache-flume-1.9.0-bin/tail_dir.json # Describe the sink a3.sinks.k3.type = hdfs a3.sinks.k3.hdfs.path = hdfs://h136:9000/flume/tailDir/

阿里巴巴飞天大数据架构体系与Hadoop生态系统

倖福魔咒の 提交于 2020-01-14 14:56:08
很多人问阿里的飞天大数据平台、云梯2、MaxCompute、实时计算到底是什么,和自建Hadoop平台有什么区别。 先说Hadoop 什么是Hadoop? Hadoop是一个开源、高可靠、可扩展的分布式大数据计算框架系统,主要用来解决海量数据的存储、分析、分布式资源调度等。Hadoop最大的优点就是能够提供并行计算,充分利用集群的威力进行高速运算和存储。 Hadoop的核心有两大板块:HDFS和MapReduce。 HDFS全称Hadoop Distributed File System,是一种分布式文件存储系统。分布式文件系统是指将固定于某个地点的某个文件系统,扩展到任意多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。HDFS有着高容错性,可以部署在低廉的硬件;提供高吞吐量来访问应用程序的数据;可以有效解决超大数据量存储和管理难题的分布式文件系统属性的特点。因此HDFS天然适合有着超大数据集的应用程序,或者说本身就是为超大规模数据量处理的应用程序而设计的。 MapReduce是一个分布式离线并行计算框架,能够对大数据集进行并行处理

大数据架构师从入门到精通,该具备怎么样的知识体系?

不羁的心 提交于 2020-01-14 14:19:27
经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣。 其实这就是想告诉你的大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/ 设计/ 架构、数据分析/挖掘。请不要问我哪个容易,哪个前景好,哪个钱多。 先扯一下大数据的4V特征: 数据量大 ,TB->PB 数据类型繁多 ,结构化、非结构化文本、日志、视频、图片、地理位置等; 商业价值高 ,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来; 处理时效性高 ,海量数据的处理需求不再局限在离线计算当中。 现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的: 文件存储: Hadoop HDFS、Tachyon、KFS 离线计算: Hadoop MapReduce、Spark 流式、实时计算: Storm、Spark Streaming、S4、Heron K-V、NOSQL数据库: HBase、Redis、MongoDB 资源管理:

HDFS源码分析之DataXceiverServer

≯℡__Kan透↙ 提交于 2020-01-14 13:42:22
DataXceiverServer是 Hadoop 分布式文件系统HDFS的从节点--数据节点DataNode上的一个后台工作线程,它类似于一个小型的服务器,被用来接收数据读写请求,并为每个请求创建一个工作线程以进行请求的响应。那么,有以下几个问题: 1、DataXceiverServer是什么? 2、DataXceiverServer是如何初始化的? 3、DataXceiverServer是如何工作的? 带着这些问题,本文将带着你进入DataNode的DataXceiverServer世界。 一、DataXceiverServer是什么? DataXceiverServer是数据节点DataNode上一个用于接收数据读写请求的后台工作线程,为每个数据读写请求创建一个单独的线程去处理。它的成员变量如下: [java] view plain copy // PeerServer是一个接口,实现了它的TcpPeerServer封装饿了一个ServerSocket,提供了Java Socket服务端的功能 private final PeerServer peerServer; // 该DataXceiverServer所属DataNode实例datanode private final DataNode datanode; // Peer所在线程的映射集合peers private

Implausibly spark dataframe after read ocr files from hdfs

血红的双手。 提交于 2020-01-14 08:01:08
问题 I have a problem using spark 2.1.1 and hadoop 2.6 on Ambari. I tested my code on my local computer first (single node, local files) and everything works as expected: from pyspark.sql import SparkSession spark = SparkSession\ .builder\ .master('yarn')\ .appName('localTest')\ .getOrCreate() data = spark.read.format('orc').load('mydata/*.orc') data.select('colname').na.drop().describe(['colname']).show() +-------+------------------+ |summary| colname | +-------+------------------+ | count|

【Spark】RDD创建总结

前提是你 提交于 2020-01-14 07:37:45
文章目录 方式一、从内存中创建 1.makeRDD 2.parallelize 方式二、从文件系统创建 1.textFile 2.wholeTextFiles 3.sequenceFile 4、saveAsHadoopFile 5.newAPIHadoopRDD 方式一、从内存中创建 1.makeRDD scala > val df = sc.makeRDD ( List ( "huangmouren" , "henshuai" )) df: org.apache.spark.rdd.RDD [ String ] = ParallelCollectionRDD [ 66 ] at makeRDD at < console > :27 2.parallelize scala > val dc = sc.parallelize ( List ( "huangmouren" , "henshuai" ) ,2 ) dc: org.apache.spark.rdd.RDD [ String ] = ParallelCollectionRDD [ 67 ] at parallelize at < console > :27 scala > dc.partition partitioner partitions scala > dc.partitions.size res16: Int = 2

HDFS can I specify replication factor per file to increase avaliability

倖福魔咒の 提交于 2020-01-14 06:38:13
问题 I'm newbie in HDFS, so sorry if my question is so naive. Suppose we store files in a Hadoop cluster. Some files are really popular and will be requested very often(but not so often to put them in memory) than the other. It worth to keep more copies(replicas) of that files. Can I implement it in HDFS or is there any best practice to tackle this task? 回答1: Yes, you can do it for entire cluster/directory/file individually. You can change the replication factor(lets say 3) on a per-file basis

大数据技术之_04_Hadoop学习_02_HDFS_DataNode(面试开发重点)+HDFS 2.X新特性

☆樱花仙子☆ 提交于 2020-01-14 04:50:28
第6章 DataNode(面试开发重点) 6.1 DataNode工作机制 6.2 数据完整性 6.3 掉线时限参数设置 6.4 服役新数据节点 6.5 退役旧数据节点 6.5.1 添加白名单 6.5.2 黑名单退役 6.6 Datanode多目录配置 第7章 HDFS 2.X新特性 7.1 集群间数据拷贝 7.2 小文件存档 7.3 回收站 7.4 快照管理 第6章 DataNode(面试开发重点) 6.1 DataNode工作机制 DataNode工作机制,如下图所示。 1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括 数据块的长度 , 块数据的校验和 ,以及 时间戳 。 2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。 3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。 4)集群运行中可以安全加入和退出一些机器。 6.2 数据完整性    思考: 如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(1)和绿灯信号(0),但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险?同理DataNode节点上的数据损坏了

Flink的高可用集群环境

我是研究僧i 提交于 2020-01-14 04:36:21
Flink的高可用集群环境 Flink简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能。 因现在主要Flink这一块做先关方面的学习,因此准备要开通Apache Flink专栏这一块定期发布一些文章。今天在自己的博客因为专栏无法申请通过,所以先在此记录第一篇关于Flink部署的文章。 在这里顺便打个小广告,Flink社区第一季线下meetup,已在上海,北京举办。接下来分别会在成都和深圳举办接下来的几期,也希望小伙伴们踊跃的加入到Flink社区来,下载钉钉,扫描下方二维码即可加入大群。 首先今天先介绍一下Flink的安装,安装部署最新1.6版本支持有8种安装方式,详细可以参考安装部署方式【Clusters & Deployment】 。下面主要介绍Standalone Cluster模式和on yarn模式 。 软件包下载地址 一.Flink独立集群模式安装(Cluster Standalone) 1.1.解压安装 [root@h001 soft]# tar -zxvf flink-1.2.0-bin-hadoop26-scala_2.11.tgz -C /usr/bigdata/ 1 1.2.Flink配置(Configuring Flink) 对其进行相关的配置。主要涉及到的配置文件是conf/flink