Hadoop源代码分析 之hadoop配置及启动(2)—–classpath与启动shell脚本

  categories:hadoop  tags:  author:

原创文章,转载请指明出处并保留原文url地址

hadoop 相关视频下载地址: http://pan.baidu.com/share/link?shareid=223046310&uk=3073578852

hadoop服务器启动,管理命令,启动任务等都由脚本执行,那么hadoop脚本的启动过程是什么,是不是在任何hadoop节点上执行所有的hadoop命令都可以?为什么?本文我们将一起研究hadoop的启动脚本,理解hadoop的启动脚本最后这些问题基本就可以自己回答了。本文是hadoop系列文章之一,系列文章相关信息如下:

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见

 

一.hadoop脚本文件功能简介

Hadoop系统启动脚本在 hadoop的安装目录的bin下,如下图

clip_image001

脚本文件如下

Hadoop,hadoop的实际执行脚本,主要功能都在这个脚本中,很多脚本最终都要调用这个脚本执行相关功能

hadoop-daemon.sh,hadoop后台进程脚本,但最终实际功能的脚本还是调用hadoop脚本进行,如下图

clip_image002

hadoop-daemons.sh, hadoop的脚本执行,最终通过slaves.sh 调用远程服务器上的相应脚本

clip_image003

slaves.sh,hadoop相关服务器节点调用的脚本

start-all.sh, hadoop启动脚本

stop-all.sh, hadoop停止脚本

二.Hadoop启动脚本分析———-调用顺序分析

image

图中,箭头方向就是调用方向及调用顺序, 在跨机器调用时,采用了另一种箭头表示,注意区别。

三.Hadoop脚本简要分析

Hadoop的启动脚本,首先是start-all.sh,我们先来分析这个脚本

1. start-all.sh

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start-all.sh 开始

#!/bin/bash

# Start … 阅读全文

Hadoop源代码分析 之hadoop配置及启动(1)—–classpath与配置文件

  categories:hadoop  tags:  author:

原创文章,转载请指明出处并保留原文url地址

hadoop是基于java平台的,他有自己的启动及管理脚本,他的启动脚本是如何工作,他的程序是如何启动的,启动过程中配置文件如何传递的,他同普通java项目的区别在那里,为什么我们必须用hadoop脚本来启动hadoop系统以及运行我们自定义的程序。从本文开始,我们将正式进入hadoop源代码中,本文重点阐述hadoop启动过程中配置文件的加载,希望通过文章来解答上面的问题。

本文是对分析过程的一个描述,文章后面还会有两个视频文件, 分别是代码静态分析以及动态分析过程,大家根据习惯参考阅读。

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见

http://www.iigrowing.cn/hadoop_src_introduction

希望通过这个能帮助我们理解生产中hadoop。 时间有限,经验不足,疏漏难免,在这里仅分享一些心得,希望对大家能起到一个抛砖引玉的作用,有问题请大家给我留言或者评论等,这样也能对我的工作有很大帮助。感谢您阅读这篇文章!

一.Hadoop文件组成

Hadoop程序解压缩完成后源代码如下图

clip_image001

Bin目录,hadoop脚本,管理及维护hadoop系统,

Conf目录,hadoop配置文件,hadoop系统相关信息等,

Docs目录,文档目录

Lib目录,hadoop依赖的相关jar文件

Src目录,hadoop源代码文件

Webapps目录, hadoop内嵌的webserver的j2ee程序目录

相关文件:

Build.xml文件时hadoop的ant编译配置文件

其他文件略

二.Hadoop基本启动过程

假设hadoop程序安装主目录用${hadoop_home}表示

管理人员可以执行${hadoop_home}\bin\start-all.sh文件启动hadoop系统

这个脚本将根据conf目录中相关配置文件,启动datanode,namenode,tasktracter,jobtracter等程序

Hadoop的几个主要配置文件如下:

clip_image002

那么脚本在启动hadoop程序中,配置文件信息如何传递给java程序,java程序是如何加载的?

本文将以datanode启动过程为例分析hadoop的配置文件传递,然后后续将逐步分析其他启动程序的配置文件的启动情况。

三.程序员角度看待hadoop启动

我们打开hadoop的源代码项目(eclipse的java项目)

clip_image004

如下图,我们打开如上目录及java源代码文件

clip_image006

双击左侧 … 阅读全文

Hadoop源代码分析 之hadoop源代码项目(1)—–创建eclipse下java项目

  categories:hadoop  tags:  author:

原创文档,转载请将原文url地址标明

hadoop 相关视频下载地址: http://pan.baidu.com/share/link?shareid=223046310&uk=3073578852

hadoop是开源项目,他已经提供了完整的源代码。但他的源代码是用ant编译的,没有提供基于ide环境的源代码项目,我们应用ant编译源码很方便,在命令行下分析源代码效率就比较低了,为此我们需要一个ide下java项目来高效分析hadoop的源代码。我们将开始hadoop源代码分析,首先创建java的eclipse项目,主要步骤如下,详情参见附录的 参考视频

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见

一.下载hadoop源代码

下载地址如下

http://archive.apache.org/dist/hadoop/core/

在下载页面中选择需要下载的hadoop源代码,推荐选择下载0.1.0版本

原因如下:

1. 0.1.0版本代码非常少,并且可以运行

2. 经过简单比较,从0.1.0版本到0.20.0版本核心代码及核心结构基本保持不变,对学习hadoop原理无大影响。

3. 我们学习丛简单入手,逐步深入便于学习与入门

具体下载过程可以在附件的视频中看到

 

二. 启动eclipse程序

Hadoop程序是个标准的java程序,他提供了ant编译的脚本, 用户可以采用ant直接编译相关源代码。

但是若分析hadoop的源代码,一个集成的开发环境可以大大提高效率。

另外hadoop程序在linux系统下经过大量生产实践的,并且他本身设计也是主要面向linux环境,因此我们需要一个在linux下的eclipse环境来运行并调试我们的hadoop源程序

在我们提供的虚拟机中提供给的linux环境下已经存在一个eclipse程序。我们可以用如下方法运行它

cd /apps… 阅读全文

Hadoop源代码分析 之环境配置(2)—–虚拟机ip配置

  categories:hadoop  tags:  author:

原创文档,转载请将原文url地址标明

hadoop 相关视频下载地址: http://pan.baidu.com/share/link?shareid=223046310&uk=3073578852

Hadoop是分布式的网络系统,网络环境是hadoop必备环境。尽管hadoop的演示程序或者默认配置是工作在没有网络环境的单机系统下,但那个配置仅仅是为演示某些概念或者特定的调试程序等使用,对于我们向好好研究hadoop系统而言就是比较简单了,我们时间工作工作可以有很多形式组成网络环境来进行hadoop的研究。为了方便起见我们通过vmware虚拟机搭建一个有3个节点的虚拟网络环境,通过这个环境我们可以方便研究hadoop系统。本文是hadoop系统文章的一部分,下面是系列文章的介绍:

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见

http://www.iigrowing.cn/hadoop_src_introduction

希望通过这个能帮助我们理解生产中hadoop。 时间有限,经验不足,疏漏难免,在这里仅分享一些心得,希望对大家能起到一个抛砖引玉的作用,有问题请大家给我留言或者评论等,这样也能对我的工作有很大帮助。感谢您阅读这篇文章!

一.虚拟机网络设置

我们学习hadoop就需要学习明白hadoop的真正原理,这样我们才能更好利用它,因此一个合适的网络环境对我们是必须的。一个网络环境我们可以有很多选择,可以在局域网内找几台linux服务器等。

最简单的办法是采用vmware搭建三个linux服务器系统。让三台系统可以相互访问

如前一篇文章,我们已经创建了3台虚拟机u01,u02,u03。本文重点介绍虚拟机的网络配置。

1. 三台虚拟机需要在同一个虚拟机环境中运行,或者说在同一个pc机上运行

2. 三台虚拟机需要默认采用nat的网络设置

clip_image002

虚拟机网络配置图

这个方式的网络配置,一是可以不占用公司内部局域网的ip地址,又可以保证虚拟机可以正常访问互联网(本次的系列文章中,虚拟机都不需要访问互联网,但是如上需要从网络下载一些资料等,有可能需要)。

我们三台虚拟机都需要采用如上的配置,这样可以保证3台虚拟机都可以相互访问(当然大家可以采用另外配置方式但是要保证网络连通,并且能及时通信等等)。

二.Linux环境中网络设置

默认的虚拟机中网络是采用DHCP方式动态获取的ip地址等。在这种方式下,系统在运行一段时间后,当ip地址租赁期过去后,ip地址有可能会发生更改,因此服务器ip地址有可能发生变化,因此我们采用手动配置ip地址的办法。

(具体操作过程,参见 虚拟机参考配置视频

hadoop-vmware-0.1.0-www.iigrowing.cn.mp4 (37.77M, 2012年11月28日 17:10 到期)… 阅读全文

Hadoop源代码分析 之环境配置(1)—–hadoop虚拟机配置

  categories:hadoop  tags:  author:

 

原创文档,转载请将原文url地址标明

hadoop 相关视频下载地址: http://pan.baidu.com/share/link?shareid=223046310&uk=3073578852

hadoop是个工作集群,是个分布式的复杂系统,我们若直接在hadoop自身系统上分析hadoop系统不是一件容易的事情, 本文及后面几篇文章将引领您构建一个hadoop的分析环境,通过这个环境您将像开发eclipse项目一样研究hadoop程序了,只是稍微复杂了点。同时本文也是hadoop系列文章的一部分,系列文章介绍如下

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见

1. Hadoop工作环境

Hadoop系统工作环境是linux系列的操作系统,在windows下无法进行工作集群的相关工作,尽管可以采用一些方法进行配置,但是仅仅作为开发调试环境使用,并且比较麻烦,相关内容可以到搜索引擎中去搜索,已经有很多文章进行介绍,这里不在多言。

大家可以自行准备一个linux环境,具体要求如下

1) Linux服务器 3台(>=3)

2) 3台处于同一个内网

3) 每台服务器上安装java,ant,eclipse等环境

Linux服务器可以采用vmware虚拟机进行搭建或者模拟,也可以采用其他虚拟机程序进行。

这里为了开发调试hadoop系统方便,采用linux系统搭建了一个linux虚拟机系统,系统中已经包括了,java,ant,eclipse等环境,大家可以直接下载。

2. 虚拟机文件下载

地址如下:

clip_image002

hadoop.0.1.0.part02.rar (700.00M, 2012年11月21日 00:19 到期)

进入下载页面

clip_image002[1]

hadoop.0.1.0.part01.rar (700.00M, 2012年11月21日 00:19 … 阅读全文

Hadoop源代码分析 之概念介绍(2)—–初学者眼中的hadoop

  categories:hadoop  tags:  author:

原创文档,转载请将原文url地址标明

hadoop 相关视频下载地址: http://pan.baidu.com/share/link?shareid=223046310&uk=3073578852

本文将以一个刚刚接触hadoop的程序员视角,来考虑hadoop是什么事物,他有何特点,同时我们应该如何理解hadoop,他的总体结构及特点。

系列文章简介,hadoop代表一种新的编程思想,基于hadoop有很多衍生项目,充分利用他们是非常必要的,同时hadoop又是一个复杂系统,若能理解他的工作原理对我们将有非常大的帮助,我们以hadoop 0.1.0版本为基础逐步分析他的基本工作原理、结构、思路等等,本文是系统文章的一部分,系列文章详情参见希望通过这个能帮助我们理解生产中hadoop。 时间有限,经验不足,疏漏难免,在这里仅分享一些心得,希望对大家能起到一个抛砖引玉的作用,有问题请大家给我留言或者评论等,这样也能对我的工作有很大帮助。感谢您阅读这篇文章!

 

1. hadoop基本情况

下面我们简单介绍hadoop的一些基本情况,我们可了解相关情况,如下图

image

对于管理者、开发者,首先应该了解到hadoop由两个系统组成:

一个是统一的文件系统(一个分布式存储的文件系统,对外提供统一的访问接口,开发者就像使用一个统一的文件系统一样方便,简单)。

另一个是分布式的计算集群,可以简单看为一个计算能力超强的服务器。

管理者的任务是将必要的数据等通过客户端传输到统一的文件系统中。

开发者任务是编写程序,程序在统一的文件系统中获取数据,然后进行处理,最后处理结果存储到统一的分布式文件系统中(为什么

处理结果需要存储到分布式文件系统中?我们后面文档来回答这个问题)。

最后管理者可以对程序结果做各种处理等。

管理者及开发者是一个简单逻辑感念,通常两者可能是同一个人。

2.hadoop常用命令

Hadoop对集群的管理者提供了一系列的管理命令行工具。

当hadoop系统配置完毕后,在hadoop服务器上(任何一台正确配置的hadoop服务器包括:Namenode,Datanode,jobtracter,tasktracter)输入hadoop命令(在hadoop安装系统的bin目录下),系统就会显示相关命令行信息

clip_image004

常见的hadoop命令如下

[sch@s02 ~]$ hadoop

namenode -format 格式化一个文件系统,请慎用… 阅读全文

20款WordPress统计插件

  categories:wordpress  tags:  author:

做中文网站我们一般都采用中文第三方统计,比如51.la,cnzz等,yahoo量子恒,等等。但是这些统计工具在统计英文网站或者非中文语种网站的时候统计准确度有待改进。因此在进行数据分析的时候,英文网站往往有一定的难度。如果我们网站采用的是 wordpress内核,我们可以选择一两款wp统计工具进行插入使用。下面介绍20款wordpress统计插件。

第一,Social Traffic Monitor – 监视来自多个社会性网站的访问。

第二,Stats – 浏览者数据统计插件。

第三,Statraq – 相当强大的博客统计插件,可以记录访问者的IP、搜索关键字、访问人数等等。

第四,Ultimate Google Analytics – 更方便的添加Google Analytics统计脚本。

第五,WordPress.com Stats – WordPress官方的统计插件,需要Wordpress API Key。(现在需要付费)

第六,WP OnlineCounter – 在线用户统计。

第七,WordPress Reporter – 方便地在后台查看Google Analytics 和 Feedburner统计数据。

第八,WP-SlimStat – 提供所有的标准统计数据,而且不会对服务器产生过大的负载。

第九,WP-Stats … 阅读全文

15款免费IDE,推荐给开发者

  categories:资料  author:

本文为您推荐大量的开源、免费的IDE,推荐给大家。列表如下:

Cocos Code IDE功能:全流程提升开发效率
Cocos Code IDE更为开发者们带来“实时代码调试”、“资源名自动提示& 预览”、“真机调试”等独有特性。· “写代码”环节—CocosCode IDE提供“代码自动补全”、“代码提示”等便捷功能,包含所有的Cocos 2d-x API与变量名,并同步显示API文档;

  GameRes报道 / CocosCode IDE是Cocos引擎官方团队开发的代码编辑器,是基于 Eclipse 的跨平台、永久免费的 IDE ,为 Cocos 2d-x的Lua与t开发者们打造一款强大而便捷的“开发者神器”,自发布以来已迅速获得数万名开发者采用。

“新建项目写代码加资源调试发布”—Cocos Code IDE针对代码编写的五个主要环节均提供多项便利功能,解决了目前市面上大多相关产品只针对部分开发环节的现状,提供一套“完整的、全流程的”高效解决方案。

除了应有的基本功能之外,Cocos Code IDE更为开发者们带来“实时代码调试”、“资源名自动提示& 预览”、“真机调试”等独有特性。

(Cocos Code IDE高效工作流)

(Cocos Code IDE高效工作流)

  Cocos Code IDE“全流程”解决方案:

· “新建项目”环节—CocosCode IDE提供便捷的Lua/t工程创建方式;

· “写代码”环节—CocosCode

阅读全文

windows live writer

  categories:资料  tags:,   author:

writer是非常好 blog撰写软件。

1. 到微软下载 软件http://explore.live.com/windows-live-essentials-xp

image

选择语言,简体中文

image

 

image

 

选择语言 点击下载

2. 下载完成软件后进行安装, 软件安装过程中会有很多选项,包括msn等,可以根据需要进行选择,推荐不选择

下载完成后 运行安装程序,如下图

image

 

安装中 可以仅仅选择 writer一项, 如下图

image

 

3. 软件安装需要微软 .net平台,软件在安装中会自动下载

4. 软件进行安装下载

5. 安装完毕后,启动软件

image

 

image

 

image

 

image

 

image

 

6. 软件启动后需要配置 blog,请选择其他blog,给出 blog地址,用户名,密码等

7. 以上配置完成后可以进行发布了!… 阅读全文

windows live writer 插件搜索与安装

  categories:livewriter  tags:  author:

一. Windows live Writer简介

Windowslive Writer 即(WLW) 是一个免费的桌面应用程序,您可以使用它轻松发布丰富的内容到您的网络日志。

使用 WLW,您可以轻松地在所有日志服务上共享照片和视频 — Windows Live、WordPress、Blogger、Live Journal、TypePad 等。

二. Windows live Writer 特点

  • 与网络日志服务兼容

WLW 可以将博客发布到Windows Live Spaces 、Sharepoint 等众多网络日志服务。有了它,您可以轻松的在多个博客服务和博客帐号之间转换,不用登录即可编辑和发表博客。

  • 所见即所得的编辑方式

WLW 可以自动侦测并保存您的网络日志的视觉主题。所以,您可以在博客发布之前,在写日志的过程中真切地看到日志的外观和排版,再也不必浪费时间来联机预览了。

  • 丰富的媒体发布

WLW 可以在博客中轻松加入各种元素,插入并自定义照片、地图、标注或其他诸多酷炫的内容, 然后单击“发布”按钮即可 —— 就这么简单。

  • 强大的编辑功能

WLW 能像 Word … 阅读全文



快乐成长 每天进步一点点