伪分布模式也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类结点 ( NameNode, DataNode, JobTracker, TaskTracker, Secondary NameNode ),分布式运行中的这几个结点的区别:
从分布式存储的角度来说,集群中的结点由一个 NameNode 和若干个 DataNode 组成, 另有一个 Secondary NameNode 作为 NameNode 的备份。
从分布式应用的角度来说,集群中的结点由一个 JobTracker 和若干个 TaskTracker 组成,JobTracker 负责任务的调度,TaskTracker 负责并行执行任务。
TaskTracker 必须运行在 DataNode 上,这样便于数据的本地计算。JobTracker 和 NameNode 则无须在同一台机器上。
伪分布模式安装步骤:
1.解压到某目录下并设置JAVA_HOME。
2.修改配置文件:
a)修改conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
b)修改conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
c)修改conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
#参数 fs.default.name 指定 NameNode 的 IP 地址和端口号。缺省值是 file:///, 表示使用本地文件系统, 用于单机非分布式模式。此处我们指定使用运行于本机 localhost 上的 NameNode。
#参数 mapred.job.tracker 指定 JobTracker 的 IP 地址和端口号。缺省值是 local, 表示在本地同一
Java 进程内执行 JobTracker 和 TaskTracker, 用于单机非分布式模式。此处我们指定使用运行于本机 localhost
上的 JobTracker ( 用一个单独的 Java 进程做 JobTracker )。
#参数 dfs.replication 指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。 在典型的生产系统中,这个数常常设置为3。
注意:由于上面配置的过程中用到来localhost,相当于主机名,通过命令
root@localhost:/usr/hadoop-0.20.2# hostname
查看主机名是否为localhost,如果不是请修改/etc/hostname文件内容为localhost
hadoop
在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost,然后在/etc/hosts文件中进行映射,所以要看看
/etc/hosts文件中的内容localhost对应的ip地址所否为本机
以下的配置操作最好是切换到root目录下操作
3.配置ssh,使得本机ssh登录本机无密码。
[root@localhost hadoop]# ssh-keygen -t rsa 一直按enter,就会按默认的选项将生成的密钥对保存在.ssh/id_rsa文件中
Generating public/private dsa key pair.
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
74:79:98:eb:fa:e0:53:aa:e3:1b:e4:a4:16:7a:6b:31 root@localhost
执行以下命令
[root@localhost hadoop]# cp id_rsa.pub authorized_keys
然后执行ssh localhost,可以实现用ssh连接并且不需要密码连接
(本人自己学习时,重点是参考了这块,ssh的配置,它是在root上,我是在zhangpuego上)
4.格式化hadoop系统并启动。
[root@localhost hadoop]# bin/hadoop namenode -format #第一次启动hadoop先要格式化整个hadoop系统
[root@localhost hadoop]# bin/start-all.sh #bin下有相关启动,停止命令。
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-sword-namenode-localhost.localdomain.out
localhost: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-root-datanode-localhost.localdomain.out
localhost: starting secondarynamenode, logging to
/usr/local/hadoop/bin/../logs/hadoop-root-secondarynamenode-localhost.localdomain.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-sword-jobtracker-localhost.localdomain.out
localhost: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-root-tasktracker-localhost.localdomain.out
故障诊断:
(1) 执行 $ bin/start-all.sh 启动 Hadoop 进程后,会启动5个 java 进程(如上), 同时会在 /tmp
目录下创建五个 pid 文件记录这些进程 ID 号。通过这五个文件,可以得知 namenode, datanode, secondary
namenode, jobtracker, tasktracker 分别对应于哪一个 Java 进程。当你觉得 Hadoop
工作不正常时,可以首先查看这5个 java 进程是否在正常运行。
(2) 使用 web 接口。访问
http://localhost:50030 可以查看 JobTracker 的运行状态。访问 http://localhost:50060
可以查看 TaskTracker 的运行状态。访问 http://localhost:50070 可以查看 NameNode
以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等。
(3) 查看 ${HADOOP_HOME}/logs
目录下的 log 文件,namenode, datanode, secondary namenode, jobtracker,
tasktracker 各有一个对应的 log 文件,每一次运行的计算任务也有对应用 log 文件。分析这些 log 文件有助于找到故障原因。
看看它怎么跑的 :
[root@localhost hadoop]# bin/hadoop dfs -put ./test-in input
#将本地文件系统上的 ./test-in 目录拷到 HDFS 的根目录上,目录名改为 input
#执行 bin/hadoop dfs –help 可以学习各种 HDFS 命令的使用。
[root@localhost hadoop]# bin/hadoop jar hadoop-0.20.1-examples.jar wordcount input output
#下面查看执行结果:
#将文件从 HDFS 拷到本地文件系统中再查看:
[root@localhost hadoop]# bin/hadoop dfs -get output ./output #最后一个参数是本地文件
[root@localhost hadoop]# cat output/*
cat: output/_logs: 是一个目录
bye 1
googbye 1
hadoop 2
hello 2
world 2
#也可以直接查看
[root@localhost hadoop]# bin/hadoop dfs -cat output/*
cat: Source must be a file.
bye 1
googbye 1
hadoop 2
hello 2
world 2
转自:http://www.cnblogs.com/guoyuanwei/archive/2011/10/17/2215769.html
分享到:
相关推荐
在Hadoop生态系统中,了解和配置不同的运行模式是至关重要的,这些模式包括独立模式、伪分布模式、完全分布式模式以及高可用性(HA)配置。接下来,我们将详细探讨这些模式及其相关的配置文件。 1. **独立模式**: ...
Hadoop伪分布模式环境搭建 Hadoop伪分布模式环境搭建是指在单个节点上搭建Hadoop集群环境,主要用于开发调试MapReduce应用逻辑。以下是搭建伪分布模式环境的步骤: 一、SSH协议介绍 SSH(Secure Shell)是一种...
Hadoop伪分布模式是一种在单台机器上模拟分布式环境的方式,通常用于开发测试阶段。这种方式既能够体验到Hadoop的分布式特性,又不需要复杂的多节点集群配置。本文将详细介绍如何在Ubuntu系统上搭建Hadoop伪分布环境...
### JDK的安装与Hadoop伪分布模式配置详解 #### 一、JDK的安装 Java Development Kit(简称JDK)是Sun Microsystems针对Java语言开发的一个软件开发工具包,同时也是运行Hadoop集群的基础环境之一。Hadoop是用Java...
【大数据之Hadoop伪分布模式启动】 在大数据处理领域,Hadoop是一个开源的分布式计算框架,它能够处理和存储海量数据。在学习和测试Hadoop时,为了方便,通常会采用伪分布模式(Pseudo-Distributed Mode),这种...
本实验文档集合了对Hadoop在不同环境下的部署和操作实践,包括单机伪分布和完全分布的模式,以及相关的云计算技术介绍。以下是这些知识点的详细阐述: 1. **Hadoop单机伪分布模式**: 单机伪分布模式是Hadoop初学...
Hadoop 的伪分布式模式是在单机上模拟分布式环境的配置方式。这种配置方式可以模拟分布式环境,方便开发者测试和调试 Hadoop 程序。在伪分布式模式下,数据节点和名称节点均是本身,必须配置 SSH localhost 无密码...
在这个"shell脚本配置Hadoop伪分布式.zip"压缩包中,包含了配置Hadoop伪分布式环境所需的所有资源和指南。伪分布式模式是在单个节点上模拟分布式环境,这对于学习和测试Hadoop功能非常有用,无需复杂的多节点集群...
**二、Hadoop伪分布模式** 伪分布模式是介于单机模式和完全分布式模式之间的一种模式,它在一个单一节点上模拟整个Hadoop集群。每个Hadoop守护进程(如NameNode、DataNode等)都在独立的进程中运行,但仍然在本地...
本文将详细介绍如何在单机环境下搭建Hadoop的伪分布式模式,这是一种模拟分布式环境的配置,适合学习和测试使用。我们将依据《如何搭建hadoop伪分布式》这篇文章,并结合提供的配置文件来探讨相关知识点。 首先,你...
Hadoop伪分布环境的部署涉及一系列详细的步骤,旨在在单个计算机上模拟分布式环境,主要用来测试和学习目的。以下是详细的部署过程和相关知识点: 1. **前期准备**: - **虚拟机软件**:使用VirtualBox创建Linux...
第一步:配置ssh本地登录证书(虽然为伪分布模式,Hadoop依然会使用SSH进行通信) [hadoop@promote ~]$ which ssh /usr/bin/ssh [hadoop@promote ~]$ which ssh-keygen /usr/bin/...
### Hadoop伪分布式模式配置与安装详解 #### 一、前言 在深入探讨Hadoop伪分布式模式的配置与安装之前,我们先简单回顾一下Hadoop的基本概念以及它为何重要。Hadoop是一个开源框架,用于分布式存储和处理大规模...
Hadoop伪分布式模式是一种在单台计算机上模拟分布式环境的配置方式,它通过使用线程来模拟多个节点的分布式工作,但实际上所有的处理仍然运行在同一台机器上。尽管这种方式不是真正意义上的分布式计算,但伪分布式...
在开始配置Hadoop伪分布式之前,需要确保已经完成了基本的环境搭建工作。主要包括: 1. **系统环境准备**:一般情况下,推荐使用Linux操作系统,因为它提供了良好的稳定性和性能。 2. **JDK安装**:Hadoop基于Java...