零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结。所以索性就自己学习了。整个过程整理一下,给大家参考,欢迎讨论,共同学习。
从一开始什么都不懂,到能够搭建集群,开发。整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoop,没有太大的困难。
204737q31fk3qou73m4nqo.jpg 
首先整体说一下学习过程给大家借鉴:
首先查阅了资料,什么是hadoop,至于这方面,你可以参考这个帖子hadoop新手学习指导。对这个有了整体的认识之后开始下面内容。(新手请务必参考hadoop新手学习指导,否则后面可能看不懂)

我们知道hadoop,有单机安装,伪分布安装和分布安装。
同时hadoop的环境是Linux,所以我们还需要安装Linux系统。因为我们的习惯是使用windows,所以对于Linux上来就安装软件之类的,困难度很大。并且我们要搭建集群,需要多台硬件的,不可能为了搭建集群,去买三台电脑。

从成本和使用我们需要懂虚拟化方面的知识。这里的虚拟化其实就是我们需要懂得虚拟机的使用。因为hadoop安装在Linux中,才能真正发挥作用。所以我们也不会使用windows。

(这里补充硬件的选择:最关键的是内存,2G内存是有点卡的,4G有点勉强的,8G用起来顺畅)

基于以上内容。所以我们需要懂得
1.虚拟化
2.Linux
3.java基础

下面来详细介绍

1.虚拟化
刚开始学习,上来就安装了虚拟机wmware station,然后创建虚拟机,安装Linux。但是问题来了。虚拟机的网络难住,因为缺乏这方面的知识,所以不得不停下来,学习虚拟机的网络,该怎么搞。虚拟机网络分为三种:
1.briage
2.host-only
3.nat
这不是很简单的吗?网上资料也不少。可是事情并没有想象的那么简单,因为nat虽然能上网,但是虚拟系统无法和本局域网中的其他真实主机进行通讯。桥接模式全都需要手工配置,而且这里还需要明白自己是本机拨号上网,还是路由拨号上网。host-only创建一个与网内其他机器相隔离的虚拟系统,这个更不行。这些都不适合我们的hadoop集群。hadoop要求主机与虚拟机与外部网络(能上网),这三者都是通的,在安装的过程中,才不会遇到麻烦。
所以这就是虚拟化方面的困难。
下面总结了在虚拟化方面需要做的:


虚拟化零基础入门

此文章让你明白为什么虚拟化,虚拟化的价值

虚拟机入门二,虚拟机的三种网络模式


详细介绍了虚拟化三种网络模式

搭建集群必备虚拟化网络知识


上面了解三种网络模式,这三种网络模式该如何才能上网。

对于上面你可能了解的还不够,下面咱们论坛会员具体实践指导,可以与他们相互交流:

集群搭建:主机宽带拨号上网,虚拟机使用桥接模式,该如何ping通外网


集群搭建必备:虚拟机之一实现Host-only方式上网

集群搭建必备:nat模式设置静态ip,达到上网与主机相互通信


上面是三种不同网络模式下,如何达到,虚拟机,主机,网络三者互通。

上面的知识具备了我们开始动手:
第一步:下载软件

VMware Workstation 10.0.0简体中文正式版官方下载地址
ubuntu-desktop 版:是图形界面
ubuntu-12.04-desktop-amd64
链接: http://pan.baidu.com/s/1eQxHLFO 密码: nnkv 

新手指导windows使用虚拟机安装Linux(ubuntu):包括下载及安装指导
上面的帖子很齐全,包括wmware下载Linux桌面版下载。还有安装指导,包括下面需要讲解的Linux安装指导

第二步:
下载我们就需要安装和使用

VMware workstation安装linux(ubuntu)配置详解

在这里我们安装完毕虚拟机,安装完毕Linux,我们需要返回第一步,进行网络设置。但是在网络设置中,我们会遇到各种各样的困难,因为缺乏Linux知识。

同时这里补充一些虚拟化的基础知识:
虚拟网卡概述


VMware虚拟机网络设置方法


虚拟机(Linux操作系统)三种网络模式切换遇到的问题

虚拟机安装Linux视频


2.Linux
2.1、Linux基础知识


对于Linux的学习也是一个过程,因为可能你连最简单的开机和关机命令都不会,更不要谈配置网络。这里面给大家提供刚开始学习所查阅的资料和经验总结。
首先我们需要使用一些命令,进行网络配置,但是在网络配置中,这里面又必须懂得虚拟机的一些知识,所以前面的虚拟机知识需要掌握扎实一些。
对于网络配置:

集群搭建:主机宽带拨号上网,虚拟机使用桥接模式,该如何ping通外网


集群搭建必备:虚拟机之一实现Host-only方式上网

集群搭建必备:nat模式设置静态ip,达到上网与主机相互通信


其实还是上面三个,但是我们会遇到各种不会的命令,即使能查到命令,我们也不能使用。为什么会这样,因为各种有的命令,是需要使用安装包的。我们在配置网络过程中,同样会遇到各种各样的奇怪的配置。在我们的Linux的系统,不能找到文件。这里只举ubuntu。网络配置文件/etc/network/interfaces。我们配置完毕之后,有各种网络重启方式:

  1. /etc/init.d/networking  restart

复制代码

这是一种网络重启方式,但是有时候并不管用。

那么这时候我们遇到困难了,刚接触命令不起作用,该怎么办?

  1. ifconfig eth0 down


复制代码

  1. ifconfig eth0 up

复制代码

(这里同样需要明白,我这里使用的是eth0上网的,如果你使用的是eth1,就需要替换成eth1)

上面的两个命令能达到同样的效果。

在举一例:
我们需要配置网络文件,在很多网络配置是使用下面的命令的

  1. vim /etc/network/interfaces

复制代码

但是我们看到下面错误

  1. The program vim can be found in the following package:

  2. vim

  3. vim -gnome

  4. vim-tiny

  5. vim-gtk

  6. vim-nox

  7. Try:sudo apt-get install <select package>

复制代码

这和我们看到的配置完全不一样。这是因为我们安装Linux之后,并没有安装vim包。所以我们又遇到了困难。如果你熟悉Linux的话,这个根本不是问题。

  1. vi /etc/network/interfaces

复制代码

上面命令迎刃而解。一个vim,一个vi。在我们刚接触这些肯定云里雾里,所以你需要首先有成就感,然后在慢慢接触。下面都是经过实践的内容,也算是经验,大家可以参考。

云技术基础:学习hadoop使用零基础linux(Ubuntu)笔记

搭建集群必知:Linux常用命令及修改文件总结(不断更新)    

Linux网络接口ifconfig命令及认识网络接口lo

linux入门详细介绍


虚拟机安装linux网络配置资料大全


解决遇到Linux网络配置,从熟悉网络配置文件入手(大体了解即可)


linux入门大全:包括零基础入门,Linux详细介绍


Linux重启方式init 0 init1 init 3 init 5 init 6 这几个启动级别都代表什么意思?

Ubuntu常用命令总结及修改DNS的多种方法总结

Linux关机各种关机命令总结


Linux基础必懂:eth0,eth1,eth2,lo是什么意思?

此篇文章帮助认识网卡,判断网卡是否启动,对于网络的也算是常识。

--------------------------------------------------------------------------------------------------------------------------------------------


linux中pwd命令详解
这是了解你所处路径的,起到辅助的作用。


linux之vi编辑器
此篇文章较为关键,因为经常用到,而且需要熟悉
编辑模式
命令模式
如何保存,如何退出等各种操作





linux yum命令详解


Linux下chkconfig命令详解
熟悉他的作用就是能够查看软件安装是否成功


2.1、Linux安装hadoop

上面切记浮躁,因为这也是上面一到两个月的总结。我们不可能一天两天就能完成。所以上面需要我们经过最起码完全一周的时间。我们熟悉了Linux命令,熟悉了网络知识。后面我们进行的快多了。

部署集群,首先需要安装java,然后安装hadoop。

首先我们还是从零基础开始。

我们需要下载和本地电脑相匹配的jdk,是32位的下载32位,是64位的下载64位。这里我们从最简单的入手。在这过程中,可能遇到问题的是环境变量的配置,造成命令不能识别。而这里你需要学习新的Linux知识。不过如果前面你已经配置完网络,有了这个基础,在学习新的知识,压力明显变小了。

下面给大家分享一下,在Linux中如何安装Java和hadoop。
hadoop2搭建参考hadoop2.2完全分布式最新高可靠安装文档



Hadoop安装过程:Hadoop单机环境搭建权威指南(ubuntu) 


安装完毕,我们该怎么用,该怎么测试安装成功。

集群安装完毕,该如何测试和使用集群-hadoop单机



通过上面帖子,我们很容易安装完成,如果是刚熟悉Linux,需要补充下面知识,才能顺利完成。

linux中Java jdk环境变量的含义

linux(ubuntu)安装Java jdk环境变量设置及小程序测试



Linux中source命令学习










今天在写点内容,以上咱们已经会安装集群了,那么我们就需要进入开发了。开发零基础,该如何,咱们提供了相关的内容分别介绍下面文章
学习hadoop----java零基础学习线路指导视频(1)
这一篇我们使用什么开发工具,甚至考虑使用什么操作系统。然后就是Java基础知识篇,包括变量、函数等。

学习hadoop---Java初级快读入门指导(2)
第一篇是属于思想篇,那么这一篇属于实战篇,通过不同的方式,交给你怎么编写第一个小程序。

Java零基础:一步步教你如何使用eclipse创建项目及编写小程序实例
由于上面没有真正抽象出eclipse的使用,所以这里专门介绍了使用eclipse如何创建项目,及如何编写小程序实例


java基础:eclipse编程不得不知道的技巧
eclipse基本知识会了之后,我们在项目,这些技巧相当有用,而且经常用到


hadoop开发方式总结及操作指导
这是第三篇,我们上面熟悉之后,就可以开发hadoop。但是因为hadoop是属于分布式,所以如果对Java越是熟悉,可能产生的问题就会越多。这里总结了hadoop的开发方式。

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

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


文章转自:

http://www.aboutyun.com/thread-6780-1-1.html