真正的分布式计算实验需要好多台服务器,因此我暂时只在本机做了1和2两种模式,这里做个笔记,发表是最好
的记忆嘛。
apahce的网站上有hadoop的安装文档,非分布式计算安装文档说明:http://hadoop.apache.org/common/docs/current/single_node_setup.html
hadoop的运行模式有三种:
1 单节点模式
2 伪分布式模式
3 分布式模式
关于hadoop配置文件的使用说明和常用命令,这里有篇文章,是中文的哦:
http://www.iteye.com/topic/284849
关于平台的支持
hadoop对linux支持得非常好,但是对于win32,按照apache的说法,可以是开发环境,对于生产环境没有做很好的测试,因此我也是基于linux系统来做实践的,我装的是ubantu。
必须准备的软件
1:jdk1.6以上(包括1.6),必须的
2:ssh,如果没有安装,在ubantu环境下,只需要输入ssh,系统会提示你安装。或者直接执行以下两行命令
sudo apt-get install ssh
sudo apt-get install rsync
3:hadoop发行包,到http://hadoop.apache.org去下载,我下的是hadoop-0.20.2,下载到本地的文件是hadoop-0.20.2.tar.gz,我解压的目录是/home/james/devlopment/hadoop-0.20.2。
单机模式启动
在hadoop根目录依次执行以下命令
mkdir input
cp conf/*.xml input
bin/hadoop jar hadoop-*-examples.jar grep input output
'dfs[a-z.]+'
cat output/*
上面这几个命令的意思是:
第一行,在hadoop根目录新建一个input目录
第二行,将conf目录下的所有xml文件复制到刚才新建的input目录
第三行,执行hadoop命令,统计input目录包含正则表达式'dfs[a-z.]+'匹配的字符串数量,并将结果输出到output目录
第四行,打印出统计结果
单机模式不可能用在实际的分布式环境中,它一般被用来检验MapReduce程序是否有问题。这个比较简单,就不多说了。
执行单机模式的时候,必须保证hadoop的配置文件没有被修改过。
伪分布式启动
所谓伪分布式,其实是模拟分布式。在实际的分布式计算环境中,每个节点都是一台独立服务器,在伪分布式里,只是启动了多个java进程,模拟了几个必须的节点。
在hadoop根目录
修改conf/core-site.xml
,加入以下信息到<configuration>标签对里面:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
加完之后如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改conf/hdfs-site.xml为如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改conf/mapred-site.xml为如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
设置没有密码验证的ssh
先测试下,在本机命令行下执行 ssh localhost,如果要求你输入密码,那就要设置没有密码验证的ssh,依次输入如下命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>
~/.ssh/authorized_keys
启动
先格式化hdfs文件系统
bin/hadoop namenode -format
再启动hadoop进程
bin/start-all.sh
如果配置没什么问题,那么hadoop就启动了,启动过程中,有一些信息打印出来,告诉你日志的输出目录。下面做个测试,执行以下命令
bin/hadoop fs -put conf inpu
这个命令的意思是将当前目录下的conf目录的内容拷贝到hdfs文件系统的input目录
再执行这个命令
bin/hadoop jar hadoop-*-examples.jar grep input
output 'dfs[a-z.]+'
再执行这个命令
bin/hadoop fs -get output output
这句意思是将hdfs文件系统的output目录你内容拷贝到本地的output目录
cat output/*
打印本地output目录内容,其实就是打印执行结果拉。
或者直接在hdfs文件系统上查看:
bin/hadoop fs -cat output/*
web界面
下面是默认地址和端口
NameNode
http://localhost:50070/
JobTracker
http://localhost:50030/
NameNode界面,主要显示以下信息:
启动时间
编译时间
版本
HDFS文件目录结构
NameNode日志信息
分布式集群节点信息,如果死亡的节点,活动的节点,HDFS空间大小和使用率以及存储状态
JobTracker界面,其实是一个MapReduce管理界面,里面描述了以下信息
分布式计算的任务调度信息
集群分布式计算信息
如 正在运行的计算
已经完成的计算
失败的计算
本地的日志
分享到:
相关推荐
Hadoop分布式文件系统的模型分析,Hadoop 分布式文件系统是遵循Google 文件系统原理进行开发和实现的,受到了业界极大关注,并 已被广泛应用。 鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从 Hadoop ...
《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...
分布式计算的部署实践,很好的文章。分布式计算的部署实践,很好的文章。
hadoop分布式计算开源框架Hadoop入门
hadoop分布式计算平台搭建的详细过程。 hadoop是一个开源的项目,由Apache开发。
《HDFS—Hadoop分布式文件系统深度实践》 。带书签,非扫描高清文字完整版。
#资源达人分享计划#
Hadoop分布式文件系统翻译
高可用性的HDFS:Hadoop分布式文件系统深度实践
基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统。使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注用户、我的分享、我...
基于Hadoop分布式计算平台,给出一种适用于大数据集的并行挖掘算法。该算法对非结构化的原始大数据集以及中间结果文件进行垂直划分以确保能够获得完整的频繁项集,将各个垂直分块数据分配给不同的Hadoop计算节点进行...
针对磁流体动力学(MHD)仿真需要高计算能力的问题,设计了一种基于Hadoop分布式计算平台的MHD仿真器。将Spark和Hama两种分布式并行计算模型整合到Hadoop生态系统中,分别用于支持内存计算和整体同步并行计算。将...
工作中搭建的hadoop分布式文件系统和hive ,mysql等的搭建的具体步骤
关于hadoop的分布式缓存的源码,用于大家的学习,改进hadoop的分布式缓存
hadoop分布式网络爬虫的实现, 采用mapreduce和java,能实现深度搜索
完整的Hadoop分布式文件系统架构,以及源码分析报告
《HDFS——Hadoop分布式文件系统深度实践》
Hadoop分布式文件系统使用指南.pdf
第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件...