hadoop开发环境搭建

hadoop 集群调优实践总结

余生长醉 提交于 2019-11-29 17:42:19
调优概述 # 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 分组 数据倒入导出 数据移动和转换 CPU受限例子: 聚类/分类 复杂的文本挖掘 特征提取 用户画像 自然语言处理 我们需要从硬件规划和软件规划等多方面结合实现性能和效率的提升。 硬件规划 # 评估集群规模 # 我们需要搭建多少节点的hadoop集群?回答这个问题考虑的因素比较多:预算?数据量?计算资源? 需要多少计算资源可能不是特别好评估,推荐横向扩展,随业务规模和应用发展再考虑扩展。开始可以就按照数据量来评估数据规模,估计一下每天的数据增量?保存数据的周期是多少?有没有冷数据方案? 假设每天增长的数据为600G、3备份存储,以一年规划为例,大概存储为600G 3 360天=633T, 再考虑增加%20的预留,考虑未来数据增长的趋势,考虑应用计算等空间需求。为节省空间可考虑压缩存储(大概可以节省70%空间)。 同时考虑一定冗余量,如果集群一部分节点不可用也要保证业务正常使用(根据集群规模评估冗余比例)。 然后结合节点硬件规划和预算,确定集群规模。假如我们需要650T存储,可以采用30台12 x 2TB的存储配置或者 60台6 x 2TB配置,但是节点数量翻翻

关于学习Hadoop中未总结的资料

可紊 提交于 2019-11-29 13:50:59
1)Cygwin相关资料   (1)Cygwin上安装、启动ssh服务失败、ssh localhost失败的解决方案   地址: http://blog.163.com/pwcrab/blog/static/16990382220107267443810/   (2)windows2003+cygwin+ssh   地址: http://wenku.baidu.com/view/3777b8bc960590c69ec3765e.html   (3)Cygwin 安裝和SSH設定教學   地址: http://blog.faq-book.com/?p=2731   (4)如何在Cygwin中安装并配置SSH   地址: http://blog.csdn.net/souichiro/article/details/6284172   (5)Cygwin ssh 故障总结   地址: http://blog.sina.com.cn/s/blog_4abbf0ae0100r8gv.html   (6)通用线程: OpenSSH 密钥管理   地址: http://www.ibm.com/developerworks/cn/linux/security/openssh/part1/index.html   (7)SSH无密码登陆问题解决   地址: http://my.oschina.net

Hadoop新手学习指导

北战南征 提交于 2019-11-29 08:24:08
对于我们新手入门学习hadoop大数据存储的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的: 云计算,是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备,主要是基于互联网的相关服务地增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务地交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算也可作为一种商品通过互联网进行流通。 什么是云计算 ? 什么是云计算技术 ? 在世界上云计算已经大面流行,有很流行的 Google Drive、SkyDrive、Dropbox 、亚马逊云服务等等。在国内 百度云 存储、360云存储都是比较流行的。 我们就应该会想到大数据存储,目前开源市场上最流行的应该是hadoop分布式存储,已经有大部分互联网公司已经开始使用,例如百度、360、阿里巴巴,其中一部分公司已经把hadoop作为他们的核心产品例如英特尔、IBM并为部分工作提供过大数据的解决方案

数据框架对比:Hadoop、Storm、Samza、Spark和Flink——flink支持SQL,待看

社会主义新天地 提交于 2019-11-29 05:59:35
简介 大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性、规模,以及价值在最近几年才经历了大规模扩展。 在之前的文章中,我们曾经介绍过 有关大数据系统的常规概念、处理过程,以及各种专门术语 ,本文将介绍大数据系统一个最基本的组件:处理框架。处理框架负责对系统中的数据进行计算,例如处理从非易失存储中读取的数据,或处理刚刚摄入到系统中的数据。数据的计算则是指从大量单一数据点中提取信息和见解的过程。 下文将介绍这些框架: 仅批处理框架: Apache Hadoop 仅流处理框架: Apache Storm Apache Samza 混合框架: Apache Spark Apache Flink 大数据处理框架是什么? 处理框架和处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。 例如Apache Hadoop可以看作一种以MapReduce作为默认处理引擎的处理框架。引擎和框架通常可以相互替换或同时使用。例如另一个框架Apache Spark可以纳入Hadoop并取代MapReduce

Spark开发环境搭建和作业提交

假如想象 提交于 2019-11-29 04:46:41
本次实验要求 JDK安装配置:1.8以上版本 Scala安装配置:Scala 2.11 Intellij IDEA:下载最新版本 参考链接: Spark 开发环境|Spark开发指南 https://taoistwar.gitbooks.io/spark-developer-guide/spark_base/spark_dev_environment.html IDEA中使用Maven开发Spark应用程序 https://blog.csdn.net/yu0_zhang0/article/details/80112846 使用IntelliJ IDEA配置Spark应用开发环境及源码阅读环境 https://blog.tomgou.xyz/shi-yong-intellij-ideapei-zhi-sparkying-yong-kai-fa-huan-jing-ji-yuan-ma-yue-du-huan-jing.html IDEA导入一个已有的项目: 欢迎界面有Import Project,如果在项目中使用下面步骤, 1.File----->Close Project. 2.在欢迎界面点击Import Project. 一、企业开发Spark作业方式 1.Spark开发测试 IDEA通过Spark Local模式开发(不能远程提交到集群) Spark Shell交互式分析

hadoop 开发环境搭建

匆匆过客 提交于 2019-11-29 03:24:55
#hadoop 开发环境搭建 (ubuntu + idea ) @(hadoop笔记)[idea|开发环境] 基于 ubuntu 和 idea 搭建 hadoop开发环境,其实是搭建MR的开发环境。这里简单说一下为什么采用idea,就因为一点,idea比eclipse爽的太多,虽然eclipse有hadoop插件,但是能用idea解决战斗,我宁愿牺牲一点的便利性。 [TOC] ##目的 首先,抛出该开发环境需要达到的目的和效果。 支持debug :首要目的!必须达到!不能调试的程序永远是程序员的噩梦。 单元测试 :方便微调代码逻辑之后的回归测试。 提交到远程集群 :可选,这个可以增加便利性。 基于以上三点,展开对开发环境的搭建。 ##hadoop本地client环境搭建 这个是为了方便本地操作集群,包括管理hdfs和提交作业。由于只是提供了本地客户端的功能,所以配置非常简单(当然,如果远程集群开启了kerberos的话,本地也要初始化相应的Keytab) 第一步:下载与远程集群版本一致的hadoo的tar包,解压 第二步:配置环境变量 vi /etc/profile #配置java环境 export JAVA_HOME=/opt/jdk1.7.0_79 export PATH=$PATH:$JAVA_HOME/bin #配置hadoop环境,HADOOP_CONF

没有编程基础,大数据学习步骤是怎么样的?

无人久伴 提交于 2019-11-29 00:52:51
很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么? 所有萌生入行的想法与想要学习Java的同学的初衷是一样的。岗位非常火,就业薪资比较高,,前景非常可观。基本都是这个原因而向往大数据,但是对大数据却不甚了解。 如果你想学习,那么首先你需要学会编程,其次你需要掌握数学,统计学的知识,最后融合应用,就可以想在数据方向发展,笼统来说,就是这样的。但是仅仅这样并没有什么帮助。 现在你需要问自己几个问题: 对于计算机/软件,你的兴趣是什么? 是计算机专业,对操作系统、硬件、网络、服务器感兴趣? 是软件专业,对软件开发、编程、写代码感兴趣? 还是数学、统计学专业,对数据和数字特别感兴趣。 你自己的专业又是什么? 如果你是金融专业,你可以学习,因为这结合起来你自己的专业,将让你在只有你专业知识的竞争者之中脱颖而出,毕竟现在AI+已经涉及到金融行业了。 说了这么多,无非就是想告诉你,大数据的三个大的发展方向: 平台搭建/优化/运维/监控; 大数据开发/ 设计/ 架构; 数据分析/挖掘。 请不要问我哪个容易,只能说能挣钱的都不简单。如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣群:数字4583+数字45782,私信管理员即可免费领取开发工具以及入门学习资料 说一下大数据的四个典型的特征: 数据量大;

Ubuntu 17.10配置Hadoop+Spark环境

怎甘沉沦 提交于 2019-11-28 17:26:27
一、前言 最近导师带的项目是与大数据相关,感觉这几年大数据技术还挺火的,就想着也去学一下,丰富自己的技能栈。本文主要讲的是hadoop+spark的环境搭建,然后使用自带的examples测试环境,这里不涉及原理介绍。 二、Hadoop的三种运行模式介绍 2.1、 单机模式也叫独立模式(Local或Standalone Mode) 2.2、 伪分布式模式(Pseudo-Distrubuted Mode) Hadoop的守护进程运行在本机机器上,模拟一个小规模的集群 在一台主机上模拟多主机。 Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。 在这种模式下,Hadoop使用的是分布式文档系统,各个作业也是由JobTraker服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop进程的执行是否正确。 修改3个配置文档:core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性) 格式化文档系统 2.3、

零基础学习hadoop到上手工作线路指导(中级篇)

家住魔仙堡 提交于 2019-11-28 15:29:58
此篇是在 零基础学习hadoop到上手工作线路指导(初级篇) 的基础,一个继续总结。 五一假期:在写点内容,也算是总结。上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为 hadoop1.X 、 hadoop2.X ,并且还有 hadoop生态系统 。这里只能慢慢介绍了。一口也吃不成胖子。 hadoop 1.x 分为 mapreduce 与 hdfs 其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑。 我们不知道key代表什么意思,我们不知道为什么会处理这个value。map有key、value,输出了key、value,有时候还会合并,reduce处理完毕之后又输出了key、value。这让我们产生了困惑,分不清。 mapreduce是一种编程模型,那么它能干什么,对我有什么用。它的原理是什么,为什么我们编写了map函数,reduce函数就可以在多台机器上运行。 这些问题或许都给初学者带来了困扰。是的,这些问题同样也困扰了我,这里写出来分享给大家,避免走同样的弯路。 面对mapreduce,有一篇文章,这里总结的很好,包括:该如何入门,该如何理解mapreduce,该如何练习mapreduce,该如何运用mapreduce。这里面介绍的很全。

零基础学习hadoop到上手工作线路指导(编程篇)

半世苍凉 提交于 2019-11-28 11:21:53
问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章 零基础学习hadoop到上手工作线路指导(初级篇) 零基础学习hadoop到上手工作线路指导(中级篇) 如果看过的话,看这篇不成问题,此篇讲hadoop编程篇。 hadoop编程,hadoop是一个Java框架,同时也是编程的一次革命,使得传统开发运行程序由单台客户端(单台电脑)转换为可以由多个客户端运行(多台机器)运行,使得任务得以分解,这大大提高了效率。 hadoop既然是一个Java框架,因为我们必须要懂Java,网上有大量的资料,所以学习Java不是件难事。 但是学到什么程度,可能是我们零基础同学所关心的。 语言很多情况下都是相通的,如果你是学生,还处于打基础的阶段,那么难度对于你来说还是不小的。 1.初学者要求必须有理论基础,并且能够完成一个小项目,最起码能够完成几个小例子,例如图书馆里等。 初学者基本的要求: (1)懂什么是对象、接口、继续、多态 (2)必须熟悉Java语法 (3)掌握一定的常用包 (4)会使用maven下载代码 (5)会使用eclipse,包括里面的快捷键,如何打开项目 传统程序员