任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~

零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。从一开始什么都不懂,到能够搭建集群,开发。整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoop并没有太大的困难。下面整理一下整个学习过程,给大家一个参考。
首先我们要了解hadoop是什么?Hadoop能够做什么?Hadoop的使用场景是什么?Hadoop和大数据、云计算的关系是什么?如何使用hadoop?

当大家对这些问题有了基本的了解之后,接下来我们就要系统性的学习hadoop了。我个人建议大家不要一味的去学习理论知识,最好是理论和实践相结合,可以先跟着视频和文档去操作,先把伪分布式集群搭建起来,把wordcount实例运行起来,对hadoop集群的搭建过程和运行机制有个大概的了解和认知,然后从操作的过程中去发现自己在哪方面是薄弱点,有针对性的去弥补,这样学习就会更有针对性和目的性,学习效果也相对会更好一些,否则学习会很盲目、很痛苦的。

我们知道hadoop有单机模式,伪分布模式和分布式模式。同时hadoop的环境是Linux,所以我们还需要安装Linux系统。因为我们的习惯是使用windows,所以对于Linux上来就安装软件之类的,困难程度会很大。并且我们要搭建集群,需要多台硬件的,不可能为了搭建集群,去买三台电脑。所以从成本和使用的角度我们还需要懂虚拟化方面的知识。这里的虚拟化其实就是我们需要懂得虚拟机的使用。因为hadoop安装在Linux中,才能真正发挥作用。所以我们也不会使用windows。

基于以上内容。所以我们需要懂得

  • 虚拟化
  • Linux
  • java基础

下面我们来详细介绍:

一、

虚拟化:我们选择的是VMware Workstation,这里就要求我们会搭建虚拟机,安装linux(如centos)操作系统,这方面只要按照视频操作应该还是很简单的,难点在于虚拟机网络的配置,尤其是nat模式和bridge模式,因为hadoop要求主机与虚拟机与外部网络(能上网),这三者是相通的,都能够连接上网络,只有这样在安装的过程中,才不会遇到麻烦。

二、
Linux:对于Linux的学习也是一个过程,因为可能你连最简单的开机和关机命令都不会,更不要谈配置网络。常用的linux命令也就20多种,我们需要做的就是在搭建集群的过程中不断地加强练习,在实践中去记忆。但是我们会遇到各种不会的命令,即使能查到命令,我们也不能使用。为什么会这样,因为有的命令,是需要使用安装包的。所以我们也要学会如何下载安装包。

我们需要使用一些命令,进行网络配置,但是在网络配置中,这里面又必须懂得虚拟机的一些知识,所以前面的虚拟机知识需要掌握扎实一些。对于有linux基础的学员也可以选择hadoop运维工程师作为职业选择。

提醒大家切忌浮躁,我们不可能一两天就能完成上面的所有内容,我们至少需要花费一周的时间不断地去训练、强化。只要我们熟悉了Linux命令,熟悉了网络知识。后面我们的学习才会很轻松,很快速。通过以上的学习我们已经会安装集群了,那么接下来我们就需要进入开发阶段。开发零基础,该怎么办呢?
hadoop编程是一个Java框架,同时也是编程的一次革命,使得传统开发运行程序由单台客户端(单台电脑)转换为可以由多个客户端运行(多台机器)运行,使得任务得以分解,这大大提高了效率。

Hadoop既然是一个Java框架,因此就要求我们必须要懂Java,网上有大量的资料,所以学习Java不是件难事。但是学到什么程度,可能是我们零基础同学所关心的。

三、

Java:我们需要具备javaSE基础知识,暂时不需要java Web及各种框架知识。如果没有javaSE基础,建议在学习hadoop之前或过程中要加强这方面的学习和训练。当然有java基础和开发经验的学员学习hadoop就会更快速、更轻松。

总结一下,hadoop相关有很多学习的方向,内容不同,运维的话熟练掌握Linux, java, python以及hadoop周边生态软件的所有原理和配置部署,打patch重新编译是最低的要求。

开发的话java和算法,SQL熟练是最低要求,python 和C是次要要求。Hbase起码熟练掌握java,thrift, rest等相关知识。如果把Hadoop最终用于数据挖掘,机器学习,那常用的算法反而比掌握hadoop本身更重要一些,重点看用hadoop来做什么。

学习Hadoop需要哪些预备知识?Java是否必须会?相关推荐

  1. 学习hadoop需要具备基础知识

    学习hadoop需要具备基础知识 首先整体上了解Hadoop,包括hadoop是什么,能够做什么,使用场景等,不需要考虑细节问题.在有了整体上的了解后,就开始准备系统地学习hadoop.建议:勿一味学 ...

  2. 学习SLAM需要哪些预备知识?

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 编辑:3D视觉工坊 链接:https://www.zhihu.com/question/3518606 ...

  3. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你. --新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份( ...

  4. 【金阳光测试】Android自动化 -- 学习历程:自动化预备知识上下

    章节:自动化基础篇--自动化预备知识上&&下 网易云课堂: 上:http://study.163.com/course/courseLearn.htm?courseId=712011# ...

  5. 学习数据结构的一些预备知识

    数据结构概述 狭义:数据结构是专门研究数据存储问题 数据的存储包含两方面:个体的存储+个体关系的存储 广义:数据结构既包括数据的存储也包含数据的操作 对存储数据的操作就是算法 算法: 狭义:算法是和数 ...

  6. 预备知识---java之泛型的探索

    目录 泛型(了解掌握) 泛型的注意事项 再次证明泛型是编译时期的一种机制 泛型类的定义-类型边界(泛型上界) 泛型上界的第一个小例子 泛型上界的第二个小例子 泛型方法 泛型是没有下界的!!!!! 通配 ...

  7. 学习Identity Server 4的预备知识

    我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去.这里需要使用identity server 4 做单点登陆.下面就简单学习一下相关的预备知识. ...

  8. 学习hadoop需要什么基础

    2019独角兽企业重金招聘Python工程师标准>>> 学习hadoop需要什么基础 "学习hadoop需要什么基础"这已经不是一个新鲜的话题了,随便上网搜索一下 ...

  9. 学习一个新领域的知识的最佳方法和最快时间各是什么?

    Liu Cao ,「学习方法」是个伪命题 玉某人.冷峻.淡之 等人赞同 有个TED演讲简直是为这个问题量身订做的. The first 20 hours-How to learn Anything. ...

  10. 《Java并发编程实践》学习笔记之一:基础知识

    <Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念:  (2)进程:是一种活动,它是由一个动作序列组成 ...

最新文章

  1. Linux下mysql支持中文,linux下mysql环境支持中文配置步骤
  2. 低头族的第三只眼,“赛博朋克”新装备让你走路不再撞树
  3. LSI Raid卡的使用
  4. 图像的打开、修改、显示和保存示例(OpenCV 2.0)
  5. 配置phoenix连接hbase_Phoenix4.14不读取hbase配置文件-问答-阿里云开发者社区-阿里云...
  6. weex 富文本_Weex richtext 富文本某个字加重显示
  7. C#+SQL Server图片存取
  8. netapp管理地址_NetApp常用管理命令总结
  9. js 静止f1到f12 和屏蔽鼠标右键
  10. vux radio 改造为 tree 代码片段
  11. python 魔法方法
  12. 如何编译 opencv3 和 opencv_contrib(Linux)
  13. 一个简单的shell文件备份脚本
  14. 统计学习(四):多重检验与控制程序
  15. 如何在 Mac 上给文件、文件夹和磁盘重新命名?
  16. oracle中的aix,oracle在AIX下的自启动
  17. 打包java项目_Java项目常见打包方式
  18. html转义字符箭头,HTML特殊字符显示(常用到的特殊符号,箭头相关,数学相关,标点,符号相关等)...
  19. 怎么删除微信的手机充值服务器,微信如何一键清空账单?全部删除的方法
  20. 认识 MongoDB 一篇文章就够了

热门文章

  1. 成员变量的隐藏,方法的覆盖,super关键字
  2. 【转】 Android Performance Case Study(安卓绘图性能案例研究)
  3. (LINQ 学习系列)(3)学习Linq的几个基础知识
  4. SharePoint 备忘录(一)
  5. C编程语言中运算符介绍
  6. C# Tostring() 格式大全
  7. MVC 19个通信(请求)管道
  8. svg绘图工具raphael.js的使用
  9. [AIR] 获取U盘,打开U盘
  10. Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库