Hadoop

流数据处理

我的梦境 提交于 2020-10-30 06:46:57
大数据界很早以前就意识到了批处理的不足,实际应用中对于实时查询和流处理的需求越来越迫切。近年来涌现出了很多解决方案,像Twitter的Storm,Yahoo的S4,Cloudera的Impala,Apache Spark, 和 Apache Tez 等。本文试着去研究这些流式处理技术,溯寻这些技术与批量处理以及OLTP/OLAP之间的关联,并探讨如何用一个统一的查询引擎来同时支持流处理、批处理和OLAP。 在Grid Dynamics(作者工作的公司名),我们需要建立一个每天要处理80亿条数据的流式数据处理系统,并且要有良好的容错性和严格的事务约束,数据不允许丢失或者重复。这个系统要作为对已有的基于hadoop系统的补充,hadoop系统的数据延迟以及维护成本都太高了。这个需求以及系统本身都是极具通用性和典型性的,我们提出了一个模型来来抽象这类问题。 工作环境如下图: 可以看出,这是一个非常典型的场景:分布在多个数据中心的应用产生数据,然后被采集系统传递到hdfs上,用hadoop系列工具(MapReduce, Pig, Hive)对原始数据进行聚合和分析,结果储存在hdfs或者NoSQL里,再导入到OLAP数据库或者提供给各种应用使用。我们现在要增加一个流处理引擎(如下图所示),可以对数据进行预处理,这样可以减少hadoop上原始数据的数量并减少重量级批处理作业的数量

spark-shell启动spark报错

雨燕双飞 提交于 2020-10-30 05:41:00
前言    离线安装好CDH、Coudera Manager之后,通过Coudera Manager安装所有自带的应用,包括hdfs、hive、yarn、spark、hbase等应用,过程很是波折,此处就不抱怨了,直接进入主题。 描述    在安装有spark的节点上,通过spark-shell启动spark,满怀期待的启动spark,but,来了个晴天霹雳,报错了,报错了!错误信息如下: 18/06/11 17:40:27 ERROR spark.SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: Required executor memory ( 1024+384 MB) is above the max threshold (1024 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb' . at org.apache.spark.deploy.yarn.Client.verifyClusterResources(Client.scala: 281 )

如何在集群外节点跨网段向HDFS写数据

穿精又带淫゛_ 提交于 2020-10-30 04:27:35
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 最近后台有位兄弟向Fayson提了一个问题,原文如下: “ 就是我的hdfs机器配置两个ip,一个外部可以访问,一个内部互联的地址,机器的hostname都是配置内网地址,现在有一个集群外的机器要写hdfs文件,发现namenode分配的datanode的地址是内网地址,不能访问到,这个不知道怎么去配置了。 ” Fayson想了想这个问题其实在各个环境是都可能碰到的,于是在这篇文章给大家系统介绍一下。 在做Hadoop应用开发时有多种方式访问HDFS文件系统(如:FileSystem、WebHdfsFileSystem),Fayson前面的文章《 如何使用Java代码访问HDFS.docx 》已讲过使用FileSystem访问HDFS。另外一种基于REST的API实现,分为两种一种是Hortonworks提供的WebHDFS默认的与Hadoop集成,一种是Cloudera 提供的HttpFS需要安装独立的HttpFS服务。本篇文章主要介绍如何使用WebHdfs和HttpFS方式访问HDFS。两种方式具体架构如下图: 内容概述 1

如何在Redhat7.4安装CDH6.0

∥☆過路亽.° 提交于 2020-10-29 22:38:10
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 Cloudera在前天8月30日,对外宣布正式发布Cloudera Enterprise 6,相关介绍可以参考Fayson昨天的文章《 Cloudera Enterprise 6正式发布 》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.0。CDH6与CDH5的安装步骤一致,主要包括以下四部分: 1.安全前置准备,包括安装操作系统、关闭防火墙、同步服务器时钟等; 2.外部数据库如MySQL安装 3.安装Cloudera Manager; 4.安装CDH集群; 请务必注意CDH6的安装前置条件包括如下: 外部数据库支持: MySQL 5.7或更高 MariaDB 5.5或更高 PostgreSQL 8.4或更高 Oracle 12c或更高 JDK Oracle JDK1.8,将不再支持JDK1.7 操作系统支持 RHEL 6.8或更高 RHEL 7.2或更高 SLES 12 SP2或更高 Ubuntu 16或更高 本次Fayson的测试环境为 1.CM和CDH版本为6.0 2.Redhat7.4 3.JDK1.8.0

参加第十一届开源黑客松大会有感:

陌路散爱 提交于 2020-10-29 16:46:09
** 参加第十一届开源黑客松大会有感: ** 在得知今年的黑客松要在长沙举办时,我的心里其实是有点小波澜,有种想要去参加的冲动,但是更多的是,心里的畏惧感使得我止步于想法了,想想还是算了吧。但是,在这个时刻的,我所待在的一家做IT教育机构中的老师胡哥就跟我们说起了这件事情的,我们现场听的同学还是心里在打着鼓呢,都是有种畏惧感,总是觉得自己是个菜鸟,怎么有能力去这么高大上的一个比赛的呢。但是,胡哥说了一段话,我到现在还是还记忆犹新的,那就是:真正难的,不是去了怎么办,而是走出去这一步,就好比你上大学,难的是考大学,而不是上大学;所谓的见识,就是看见了才会有所识,我们大部分同学,会把没见过,没听过,没经历过,当成不会的,不懂的和难的;并且去参加这样一个类似的活动,其实是充满了各种的不确定性,从我们踏上地铁准备出发的那一刻开始,我们会遇见什么样的人,什么样的事,听到或遇到什么样的技术名词,展示效果,都是不确定的,但是往往是这种不确定的事情才能带给我们快乐,机遇通常也是这样的,所以有时候你觉得一个比较值得的事情要去做的,但是自己还有一些课程的上的东西需要去上,我们可以提前利用一段时间去搞定,这样就能给自己留出一个拥抱未知的机会。通过胡哥的这段话,我觉得自己的思维好像一下子打开了,我感觉自己的之前的思维方式太过于死板了,也正是因为这段话,才有了我参加后面的黑客松的精彩。 我记得是在

京东资深架构师推荐学习6本实战文档:多线程+Redis+Nginx+MySQL+JVM....

佐手、 提交于 2020-10-29 08:30:55
Java多线程编程核心技术_完整版 第1章 Java多线程技能 第2章 对象及变量的并发访问 第3章 线程间通信 第4章 Lock的使用 第5章 定时器Timer 第6章 单例模式与多线程 第7章 拾遗增补 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。 多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。 Redis实战核心篇 第1章 初识Redis 第2章 使用Redis构建Web应用 第二部分 核心概念 第3章 Redis命令 第4章 数据安全与性能保障 第5章 使用Redis构建支持程序 第6章 使用Redis构建应用程序组件 第7章 基于搜索的应用程序 第8章 构建简单的社交网站 第三部分 进阶内容 第9章 降低内存占用 第10章 扩展Redis 第11章 Redis的Lua脚本编程 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多

SpringBoot 2.0整合阿里云OSS,实现动静分离架构

南笙酒味 提交于 2020-10-29 07:46:41
前言 相信大部分开发者对下面这张架构图并不陌生吧,现在很多网站/应用都采用了动静分离的架构进行部署。博主的博客也不例外,主机采用的是阿里云的 ECS,使用 CDN 做静态内容分发,不过静态文件还是存储在 ECS,采用的是 Nginx 做动静分离。今天我们来学习一下如何使用阿里云 OSS 做动静分离。 简介 阿里云 OSS,海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%的数据可靠性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储成本。 产品优势 稳定可靠 OSS作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双十一业务高峰,历经高可用与高可靠的严苛考验。OSS的多重冗余架构设计,为数据持久存储提供可靠保障。同时,OSS基于高可用架构设计,消除单节故障,确保数据业务的持续性。 安全合规 支持服务端加密、客户端加密、防盗链、IP黑白名单、细粒度权限管控、日志审计、WORM特性,并获得多项合规认证,包括SEC、FINRA等,满足企业数据安全与合规要求。 智能存储 提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片场景识别、人脸识别、SQL就地查询等,并无缝对接Hadoop生态、以及阿里云函数计算、EMR、DataLakeAnalytics、BatchCompute、MaxCompute

OpenStack入门科普

梦想的初衷 提交于 2020-10-29 05:44:31
看完 OpenStack入门科普,看这一篇就够啦! 这篇文章,做些记录。 一、OpenStack简介:OpenStack就是为了云计算服务的。简单来说,它是一个操作系统,一套软件,一套IaaS软件。 1、什么是 云计算 ?   解释一:美国国家标准与技术研究院定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。(mbl,what???)   解释二:云化就是把每个人手中的独立资源集中起来,放在一个地方进行统一管理,然后动态分配给每个人使用。而云计算,就是把计算资源集中起来,这个计算资源,包括CPU、内存、硬盘等硬件,还有软件。换句话说,云计算就是让用户通过互联网来使用在云端的 应用,数据,或者服务, 这些 应用,数据,或者服务 ,就是云计算的 资源。 (说是像大锅饭我倒是很认同) 2、什么是IaaS?云计算的结构里,这些资源是如何提供的呢?到底是怎么一个运作模式呢?或者说云计算是怎样落地的呢?   通过三种最常见的服务模式:3个aaS IaaS: Infrastructure-as-a-Service 基础设施即服务,IaaS有时候也叫Hardware-as-a-Service,就是提供硬件相关的服务

基于JindoFS+OSS构建高效数据湖

送分小仙女□ 提交于 2020-10-29 04:29:24
作者 :孙大鹏,花名诚历,阿里巴巴计算平台事业部 EMR 技术专家,Apache Sentry PMC,Apache Commons Committer,目前从事开源大数据存储和优化方面的工作。 为什么要构建数据湖 大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于对象存储有海量、安全、低成本、高可靠、易集成等优势,各种 IoT 设备、网站数据都把各种形式的原始文件存储在对象存储上,利用对象存储增强和拓展大数据 AI 也成为了业界共识,Apache Hadoop 社区也推出了原生的对象存储“Ozone”。从 HDFS 到对象存储,从数据仓库到数据湖,把所有的数据都放在一个统一的存储中,也可以更加高效地进行分析和处理。 对于云上的客户来说,如何构建自己的数据湖,早期的技术选型非常重要,随着数据量的不断增加,后续进行架构升级和数据迁移的成本也会增加。在云上使用 HDFS 构建大规模存储系统,已经暴露出来不少问题。HDFS 是 Hadoop 原生的存储系统,经过 10 年来的发展,HDFS 已经成为大数据生态的存储标准,但我们也看到 HDFS 虽然不断优化,但是 NameNode 单点瓶颈