在master和slave上都修改,添加机器名和对应ip
2.ssh无密码登录本机和其他机器
3.JDK环境
4.安装hadoop
5.配置hadoop
6.运行hadoop
1) 在master上启动
bin下运行 ./start-all.sh
如果一切正常启动的话,jps应如下面示
在master上,jps
7786 NameNode
9969 Jps
8102 SecondaryNameNode
8196 JobTracker
在slave上,jps
6654 TaskTracker
6707 Jps
6463 DataNode
问题:
master上jps如下示
13136 SecondaryNameNode
13227 JobTracker
13530 Jps
slave上jps如下示
6654 TaskTracker
6707 Jps
6463 DataNode
即
master上jps看不到namenode,可能namenode有问题,查看logs下namenode日志,如下示
2012-05-31 22:04:31,872 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = guxu-Lenovo-B460/127.0.1.1
STARTUP_MSG: args = []
STARTUP_MSG: version = 1.0.3
STARTUP_MSG:
build =
https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r
1335192; compiled by 'hortonfo' on Tue May 8 20:31:25 UTC 2012
************************************************************/
2012-05-31 22:04:32,034 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2012-05-31
22:04:32,046 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter:
MBean for source MetricsSystem,sub=Stats registered.
2012-05-31 22:04:32,048 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2012-05-31 22:04:32,048 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system started
2012-05-31 22:04:32,237 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2012-05-31 22:04:32,242 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2012-05-31 22:04:32,258 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source jvm registered.
2012-05-31 22:04:32,259 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source NameNode registered.
2012-05-31 22:04:32,298 INFO org.apache.hadoop.hdfs.util.GSet: VM type = 32-bit
2012-05-31 22:04:32,298 INFO org.apache.hadoop.hdfs.util.GSet: 2% max memory = 17.77875 MB
2012-05-31 22:04:32,298 INFO org.apache.hadoop.hdfs.util.GSet: capacity = 2^22 = 4194304 entries
2012-05-31 22:04:32,298 INFO org.apache.hadoop.hdfs.util.GSet: recommended=4194304, actual=4194304
2012-05-31 22:04:32,335 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: fsOwner=guxu
2012-05-31 22:04:32,335 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: supergroup=supergroup
2012-05-31 22:04:32,335 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true
2012-05-31 22:04:32,342 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: dfs.block.invalidate.limit=100
2012-05-31
22:04:32,342 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:
isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s),
accessTokenLifetime=0 min(s)
2012-05-31 22:04:32,674 INFO
org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Registered
FSNamesystemStateMBean and NameNodeMXBean
2012-05-31 22:04:32,695 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Caching file names occuring more than 10 times
2012-05-31
22:04:32,700 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage
directory /home/guxu/hadoop_tmp_dir/dfs/name does not exist.
2012-05-31 22:04:32,702 ERROR
org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Directory /home/guxu/hadoop_tmp_dir/dfs/name is in an inconsistent
state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:303)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
2012-05-31
22:04:32,704 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode:
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Directory /home/guxu/hadoop_tmp_dir/dfs/name is in an inconsistent
state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:303)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
2012-05-31 22:04:32,705 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at guxu-Lenovo-B460/127.0.1.1
************************************************************/
注:先前我在配置hadoop时,将conf/core-site.xml里的hadoop.tmp.dir的value设为/home/guxu/hadoop_tmp_dir,然后format了。
现在将conf/core-site.xml里的hadoop.tmp.dir改为
/tmp/hadoop-guxu/dfs/name,
再次执行hadoop namenode -format。
输出如下:
12/06/09 11:07:33 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = guxu-Lenovo-B460/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.0.3
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1335192; compiled by 'hortonfo' on Tue May 8 20:31:25 UTC 2012
************************************************************/
12/06/09 11:07:33 INFO util.GSet: VM type = 32-bit
12/06/09 11:07:33 INFO util.GSet: 2% max memory = 17.77875 MB
12/06/09 11:07:33 INFO util.GSet: capacity = 2^22 = 4194304 entries
12/06/09 11:07:33 INFO util.GSet: recommended=4194304, actual=4194304
12/06/09 11:07:33 INFO namenode.FSNamesystem: fsOwner=guxu
12/06/09 11:07:33 INFO namenode.FSNamesystem: supergroup=supergroup
12/06/09 11:07:33 INFO namenode.FSNamesystem: isPermissionEnabled=true
12/06/09 11:07:33 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
12/06/09 11:07:33 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
12/06/09 11:07:33 INFO namenode.NameNode: Caching file names occuring more than 10 times
12/06/09 11:07:34 INFO common.Storage: Image file of size 110 saved in 0 seconds.
12/06/09 11:07:34 INFO common.Storage: Storage directory /tmp/hadoop-guxu/dfs/name/dfs/name
has been successfully formatted.
12/06/09 11:07:34 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at guxu-Lenovo-B460/127.0.1.1
************************************************************/
问题
在执行 ./start-all.sh时,
namenode的日志()输出如下错误
2012-06-09 10:27:02,534 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:guxu cause:java.io.IOException: File /tmp/hadoop-guxu/dfs/name/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
2012-06-09 10:27:02,537 INFO org.apache.hadoop.ipc.Server: IPC Server handler 5 on 9000, call addBlock(/tmp/hadoop-guxu/dfs/name/mapred/system/jobtracker.info, DFSClient_1766397871, null) from 192.168.0.105:45917: error: java.io.IOException: File /tmp/hadoop-guxu/dfs/name/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
java.io.IOException: File /tmp/hadoop-guxu/dfs/name/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
然后通过对master和slave jps,发现一切正常!
上面出现的异常是什么原因导致的呢?
a.关闭master和slave的防火墙
b.
$./hadoop dfs -ls 查看当前用户路径/user/guxu下的内容
$./hadoop dfs -ls xx_dir 查看xx_dir路径下文件
$./hadoop dfs -cat xx_file 查看文件内容
$./hadoop dfs -mkdir newDIr 在hdfs中新建一个目录
Q:output能否多次建?
7.测试hellowrold
//在hdfs中建立一个input目录
$ hadoop fs -mkdir hello_input
$ hadoop dfs -ls
Found 1 items
drwxr-xr-x - guxu supergroup 0 2012-06-09 19:17 /user/guxu/hello_input
//删除hdfs中已有的目录(如hello_input)
$ hadoop dfs -rmr /user/guxu/hello_input
Deleted hdfs://192.168.0.105:9000/user/guxu/hello_input
hdfs里面文件的路径与linux文件路径是两套系统。
//将file0*拷贝到hdfs中
hadoop dfs -copyFromLocal /home/guxu/JavaLib/hadoop/test/hellowrold/file0* hello_input
//运行
$hadoop jar hadoop-examples-1.0.3.jar wordcount hello_input hello_output
//查看文件内容
$./hadoop dfs -cat xx_file
web管理
namenode:http://guxu-lenovo-b460:50070/dfshealth.jsp
map reduce:http://guxu-lenovo-b460:50030/jobtracker.jsp
参考
http://www.infoq.com/cn/articles/hadoop-config-tip
分享到:
相关推荐
### Hadoop开发环境搭建知识点详解 ...综上所述,通过搭建Hadoop开发环境并使用HadoopEclipse插件,开发者可以更加高效地开发和管理Hadoop程序。这不仅简化了开发流程,还提高了程序的可维护性和扩展性。
在Windows环境下搭建Hadoop开发环境是一项复杂但必要的任务,尤其对于初学者和开发者来说,能够直接在本地系统上运行和调试Hadoop程序是极其有用的。本文将详细介绍如何在Windows上配置Hadoop,以便使用Eclipse进行...
本文将详细介绍如何在 Ubuntu 操作系统下搭建 Hadoop 的单机版与伪分布式环境。 #### 2.1 Hadoop 的单机搭建 ##### 2.1.1 准备工作 1. **安装 Ubuntu 虚拟机**:首先,需要在虚拟机中安装 Ubuntu。推荐使用 ...
总结起来,Ubuntu下搭建Hadoop是一个涉及多步骤的过程,包括操作系统安装、用户和权限管理、Java环境配置、网络通信安全设置以及Hadoop自身环境的构建。每个步骤都需要细心操作,以确保Hadoop能够稳定运行。在实际...
7. 在 Ubuntu 操作系统上搭建 Hadoop 单节点需要完成环境准备、软件安装和配置过程。 8. 配置 SSH 免密钥登录可以确保可以无需密码登录。 9. 修改配置文件,包括 core-site.xml 和其他文件,是搭建 Hadoop 单节点的...
在Ubuntu上搭建Hadoop是一个常见的任务,特别是在学习和实验分布式计算环境时。本文将详细讲解在Ubuntu 12.04上安装Hadoop伪分布式模式的过程,这将帮助你理解Hadoop的基础设置,并为日后扩展到完全分布式环境打下...
本文主要介绍了在Ubuntu系统上Hadoop单机版测试环境的搭建过程。
以上就是Ubuntu环境下搭建Hadoop的基本步骤。在实际操作中,可能还需要考虑网络配置、安全性设置、高可用性部署等问题,这些都需要根据具体需求和环境来调整。对于大型集群,还需要关注监控、日志管理和资源调度策略...
### Ubuntu上搭建Hadoop2.x详细文档 #### 背景与动机 随着大数据时代的到来,数据处理的需求急剧增加,传统的数据库系统难以满足大规模数据处理的要求。因此,Apache Hadoop作为一个开源的大数据处理框架,凭借其...
hadoop开发环境搭建 hadoop开发环境搭建 hadoop开发环境搭建 hadoop开发环境搭建 hadoop开发环境搭建
在Ubuntu环境下搭建Hadoop伪分布式模式,主要是为了模拟多节点Hadoop集群的环境,以便于学习和测试Hadoop的功能。这个过程涉及到多个步骤,包括必要的资源下载、软件安装、环境配置以及Hadoop服务的启动与验证。以下...
### 使用虚拟机在Ubuntu上搭建Hadoop平台单机模式 #### 概述 本文旨在详细介绍如何在虚拟机环境下,利用Ubuntu系统搭建Hadoop平台的单机模式。通过本教程,您可以掌握从安装虚拟机到配置Hadoop环境的全过程。本文...
一个描述环境搭建的文档,我用的Vmware10和Ubuntu14.04,Hadoop2.7
小白搭建hadoop完全分布式环境笔记,步骤详细,原创
DESCRIPTION:本文将指导读者如何在Ubuntu系统上搭建Hadoop环境,并在Windows上使用Eclipse连接Ubuntu系统上的Hadoop环境进行开发和测试。 TAGS:cs CONTENT: 1. 前言 本文的目标是要在Ubuntu系统上搭建...
### 在Ubuntu下搭建Hadoop环境的关键步骤 #### 1. 安装JDK 在Ubuntu系统上搭建Hadoop环境的第一步是安装Java Development Kit (JDK)。这是因为Hadoop是用Java编写的,所以需要JDK来运行Hadoop。 ##### 1.1 下载与...
ubuntu18.04或者centos7搭建hadoop集群,可以参考博客https://blog.csdn.net/u013305783/article/details/83744122
搭建Hadoop开发环境是进行Hadoop编程和应用开发的第一步,这对于理解和实践大数据处理至关重要。 标题“Hadoop开发环境搭建”指的是配置一个适合进行Hadoop应用开发的本地或集群环境。这个过程通常涉及安装Java运行...