《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. ArcGIS Engine开发之属性查询

    属性查询即基于空间数据的属性数据的查询,通过用户提交SQL语言中的where语句定义的查询条件,对属性数据进行搜索,从而得到查询结果的操作. 相关的类与接口 与属性查询功能相关的类主要有QureyFi ...

  2. [转]Hibernate3如何解决n+1 selects

    摘自: http://blog.chinaunix.net/uid-20586655-id-287959.html     Hibernate3中取得多层数据的所产生的n+1 selects问题的解决 ...

  3. echart 图表 在.net中生成图片的方法

    经过中午近两个小时的努力,终于可以实现了:echart 图表 在.net中生成图片 以下源代码: 前台页面: <!DOCTYPE html><html><head> ...

  4. POJ1163 The Triangle: 倒三角形问题

    经典的DP问题,DP思想也很直接: 直接贴代码: #include<iostream> #include<cstdio> #include<algorithm> # ...

  5. poj1182 食物链(种类并查集)详解

    poj 1182   http://poj.org/problem?id=1182 分析:这个题大意说的非常清楚了,就是求出假话的个数,题目中给的假话要求有三个 ① 当前的话与前面的某些真的话冲突,是 ...

  6. 20162318 实验二《Java面向对象程序设计》实验报告

    北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级:1623班 姓名:张泰毓 指导老师:娄老师.王老师 实验日期:2017年4月14日 实验密级:非密级 实验器材:带Lin ...

  7. CI持续集成系列之(九)代码发布脚本模板书写

    前言 前面我们介绍了Jenkins来发布项目通过nginx来展示流程,那里只是提供了一个简单的测试脚本,接下来呢介绍一下一个比较完善的发布脚本,该脚本可实现从gitlab服务器获取代码,打包,部署到W ...

  8. ThinkPhp5 出现访问出现 No input file specified. 问题

    今天复习一下ThinkPhp5,在官网下载了核心版,windows下配置了虚拟域名之后出现了神奇的现象 如下图 直接访问域名能访问到index模块下的index控制器下的index方法 但是我输入完整 ...

  9. hessian的简单使用以及与spring整合

    Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议.和其他Web服务的实现框架不同的是,Hessian是一个使用二进制格式传输的Web服务协议的框架,相对传统soap ...

  10. Asp.net Mvc Ajax.BeginForm提交表单

    之前Mvc中一直用Html.BeginForm提交表单,即如下: @using (Html.BeginForm("Add", "News", FormMetho ...