《Hadoop入门学习笔记---part1》中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱。不够系统化,不够简洁。经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建hadoop环境时,需要在linux机器上做一些设置,在搭建Hadoop集群环境前,需要在本地机器上做以下设置:

  1. 修改ip地址;
  2. 关闭防火墙;
  3. Hostname的修改;
  4. Ssh自动登陆的设置(也即:免密码登录);

  **关于以上操作的详细命令可以查看上一篇博客《Hadoop入门学习笔记---part1》  作者:itRed   邮箱:it_red@sina.com  博客:http://itred.cnblogs.com

然后是安装过程,分为两步:

  1. 安装jdk;
  2. 安装hadoop;

Part2的重点就是安装和配置hadoop:在myeclipse中查看Hadoop的源码。

在安装之前,说一说hadoop的版本:

  1. Apache :官方版;
  2. Cloudera: 使用下载最多的版本,稳定,有商业支持,在Apache基础上打上了patch。应该说是比较推荐的一种;
  3. Yahoo :内部使用的版本,发布过两次,已有的版本放到Apache上,后续的还在继续发布,并且是集中在Apache的版本上。

本人使用的Hadoop版本是1.1.2,使用的软件为Hadoop-1.1.2.tar.gz

在以上的设置工作完之后,正式进入安装和配置阶段:

  1. 将该软件放到linux系统中,解压,为了方便,修改一下文件名和权限;
  2. 设置环境变量;
#vi  /etc/profile
加上一行:export HADOOP_HOME=/usr/local/Hadoop
在PATH后添加:$HADOOP_HOME/bin:

然后执行这个命令让其立即生效:

#source /etc/profile

  3. 修改hadoop的配置文件,用以实现伪分布,这里主要修改4个配置文件:

    (1)     Hadoop-env.sh

      主要是修改jdk的路径:

      在该文件的第9行,修改JAVA_HOME的路径,根据自己的实际情况就行。

    (2)     Core-site.xml

      在configuration里面加入一下配置代码,需要注意自己的主机名,即最开始修改的hostname:

<property>
   <name>fs.default.name</name>
   <value>hdfs://hadoop:9000</value>
</property>
<property>
   <name>Hadoop.tmp.dir</name>
   <value>/usr/local/Hadoop/tmp</value>
</property>

    (3)     Hdfs-site.xml:

<property>
   <name>dfs.replication</name>
   <value>1</value>
<property>
<property>
   <name>dfs.permission</name>
   <value>true</value>
<property>

    (4)     Mapred-site.xml

<property>
   <name>mapred.job.tracker</name>
   <value>Hadoop:9001</value>
</property>

  4.  待配置完成后,需要对hadoop进行格式化,很多哦人开始不理解。这样想就行了,因为HDFS是一个文件系统,专门用来存储的。想想U盘什么的都需要格式化。

格式化的命令为:#hadoop namenode –format

    (总结:如果启动后发现有进程没有启动,需要重新格式化,那么首先得把已经启动了的进程停止掉,才能进行操作。#stop-all.sh)

  5. 启动Hadoop:

命令:#start-all.sh  (注意:中间没有空格)很自然能想到关闭停止的命令:#stop-all.sh    

    可以进行单个启动和关闭。

    启动完成后,需要验证是否正确,用命令jps来验证,注意不是jsp:  

#jps

    这时会出现5个java进程(一共6个,其中包含一个jps),分别为:

    SecondaryNameNode     DataNode     TaskTracker    NameNode    JobTracker    Jps   

    

  这样就算安装成功了!如果还不甘心,希望在浏览器中查看,不慌。这就说来。

  如果你的操作界面时命令行模式,首先#startx 进入操作系统的界面模式,然后打开浏览器,在浏览器中输入hadoop:50070或输入 Hadoop:50030就可以看到如下界面:

hadoop:50070页面:

  

  hadoop:50030页面:

  

  关于某进程没有启动的常见解决办法:

    HDFS在安装后没有格式化;

    4个配置文件修改可能存在问题;

    Hostname与ip没有绑定;

    Ssh的免密码登录没有配置成功。

    如果确保没有任何操作失误,或者在多次格式化后,还是不能启动某个进程,那么去删除/usr/local/Hadoop/目录下的tmp文件夹,然后再重新格式化。应该就没有什么问题了。

  

  那么如何在myeclipse中查看Hadoop的源码呢?

    首先解压hadoop软件。我使用的版本是:hadoop-1.1.2.tar.gz

    解压后的文件目录结构如下:

  

    然后打开myeclipse,新建一个java工程,把src目录下的core文件夹,hdfs文件夹,mapred文件夹拷贝到src目录下。然后选择你的jdk,然后把那个src包调一下,就可以打开看到Hadoop的源码了。

作者:itRed
邮箱:it_red@sina.com
博客:http://www.cnblogs.com/itred
***版权声明:本文版权归作者和博客园共有,欢迎转载,但请在文章显眼位置标明文章出处。未经本人书面同意,将其作为他用,本人保留追究责任的所有权利。

Hadoop入门学习笔记---part2的更多相关文章

  1. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  2. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  5. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  6. Scala入门学习笔记三--数组使用

    前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...

  7. OpenCV入门学习笔记

    OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...

  8. stylus入门学习笔记

    title: stylus入门学习笔记 date: 2018-09-06 17:35:28 tags: [stylus] description: 学习到 vue, 有人推荐使用 stylus 这个 ...

  9. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

随机推荐

  1. Android在一个Activity中关闭另一个Activity

    比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA. 解决方案: 1.在 ActivityA 里面设置一个静态的变量instance,初始化为this,在 A ...

  2. C#骏鹏自动售货机接口

    MachineJP类: 第1部分:串口初始化,串口数据读写 using System; using System.Collections.Generic; using System.IO.Ports; ...

  3. 图结构练习——最短路径(floyd算法(弗洛伊德))

    图结构练习——最短路径 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个带权无向图,求节点1到节点n的最短路径.   输 ...

  4. (WPF) 再议binding:点击User Control时,User Control变换颜色或做其他的处理。

    Binding 是前台UI(显示层)和后台代码(数据层)的桥梁.理论上当后台的数据变动时,显示的数据或样式应该随之而变.这些是动态的. 对于Binding的设置可以在前台Xaml,也可以在后台Code ...

  5. LeetCode Valid Number 有效数字(有限自动机)

    题意:判断一个字符串是否是一个合法的数字,包括正负浮点数和整形. 思路:有限自动机可以做,画个图再写程序就可以解决啦,只是实现起来代码的长短而已. 下面取巧来解决,分情况讨论: (1)整数 (2)浮点 ...

  6. 五年26个版本:Linux系统内核全程回顾

    Phoronix.com今天将他们对Linux系统的研究发挥到了极致:从2005年年中的2.6.12,到正在开发中的2.6.37,五年多来的26个Linux内核版本来了个“群英荟萃”! 完成如此庞大规 ...

  7. page,request,session,application四个域对象的使用及区别

    转自:page,request,session,application四个域对象的使用及区别 1.page指当前页面.只在一个jsp页面里有效 .2.request 指从http请求到服务器处理结束, ...

  8. POJ 2195Going Home(网络流之最小费用流)

    题目地址:id=2195">POJ2195 本人职业生涯费用流第一发!!快邀请赛了.决定还是多学点东西.起码碰到简单的网络流要A掉.以后最大流费用流最小割就一块刷. 曾经费用流在我心目 ...

  9. 从 exe.config 读取appSettings 中的配置数据

    右键解决方案,添加引用--> System.Configuration.dll 在exe.config 中添加数据 <appSettings> <add key=" ...

  10. Asp.net MVC Request Life Cycle

    Asp.net MVC Request Life Cycle While programming with Asp.net MVC, you should be aware of the life o ...