Hadoop单机部署方法

简介:

安装Java JDK:

到sun网站上下载jdk

chmod +x jdk-6u30-linux-x64.bin

./jdk-6u30-linux-x64.bin

 

下载Hadoop

wget http://labs.renren.com/apache-mirror/hadoop/common/hadoop-0.20.205.0/hadoop-0.20.205.0.tar.gz

tar zxvf hadoop-0.20.205.0.tar.gz

 

安装必要软件

yum install ssh rsync

 

修改配置文件

conf/core-site.xml:

<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>

 

conf/ hadoop-env.sh

export JAVA_HOME=/root/jdk1.6.0_30

 

bin/hadoop

以root用户运行会报-jvm参数不存在的错误,故将

if [[ $EUID -eq 0 ]]; then

HADOOP_OPTS="$HADOOP_OPTS -jvm server $HADOOP_DATANODE_OPTS"

else

HADOOP_OPTS="$HADOOP_OPTS -server $HADOOP_DATANODE_OPTS"

fi

修改为

elif [ "$COMMAND" = "datanode" ] ; then

CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode'

HADOOP_OPTS="$HADOOP_OPTS -server $HADOOP_DATANODE_OPTS"

 

SSH设置

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

启动hadoop

$ bin/hadoop namenode -format
$ bin/start-all.sh

 

此时,通过本地的50070和50030端口就可以分别浏览到NameNode和JobTracker:

  • NameNode  - http://localhost:50070/
  • JobTracker  - http://localhost:50030/

     

     

    测试wordcount

    生成测试数据:

    [root hadoop-0.20.205.0]# mkdir input

    [root hadoop-0.20.205.0]# echo "hello world" >> input/a.txt

    [root hadoop-0.20.205.0]# echo "hello hadoop" >> input/b.txt

    将本地数据复制到HDFS中:

    [root hadoop-0.20.205.0]# bin/hadoop fs -put input in

    执行测试任务:

    [root hadoop-0.20.205.0]# bin/hadoop jar hadoop-examples-0.20.205.0.jar wordcount in out

    12/02/05 21:00:47 INFO input.FileInputFormat: Total input paths to process : 2

    12/02/05 21:00:48 INFO mapred.JobClient: Running job: job_201202052055_0001

    12/02/05 21:00:49 INFO mapred.JobClient: map 0% reduce 0%

    12/02/05 21:01:07 INFO mapred.JobClient: map 100% reduce 0%

    12/02/05 21:01:19 INFO mapred.JobClient: map 100% reduce 100%

    12/02/05 21:01:24 INFO mapred.JobClient: Job complete: job_201202052055_0001

    12/02/05 21:01:24 INFO mapred.JobClient: Counters: 29

    12/02/05 21:01:24 INFO mapred.JobClient: Job Counters

    12/02/05 21:01:24 INFO mapred.JobClient: Launched reduce tasks=1

    12/02/05 21:01:24 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=22356

    12/02/05 21:01:24 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0

    12/02/05 21:01:24 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0

    12/02/05 21:01:24 INFO mapred.JobClient: Launched map tasks=2

    12/02/05 21:01:24 INFO mapred.JobClient: Data-local map tasks=2

    12/02/05 21:01:24 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=10801

    12/02/05 21:01:24 INFO mapred.JobClient: File Output Format Counters

    12/02/05 21:01:24 INFO mapred.JobClient: Bytes Written=25

    12/02/05 21:01:24 INFO mapred.JobClient: FileSystemCounters

    12/02/05 21:01:24 INFO mapred.JobClient: FILE_BYTES_READ=55

    12/02/05 21:01:24 INFO mapred.JobClient: HDFS_BYTES_READ=235

    12/02/05 21:01:24 INFO mapred.JobClient: FILE_BYTES_WRITTEN=64345

    12/02/05 21:01:24 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=25

    12/02/05 21:01:24 INFO mapred.JobClient: File Input Format Counters

    12/02/05 21:01:24 INFO mapred.JobClient: Bytes Read=25

    12/02/05 21:01:24 INFO mapred.JobClient: Map-Reduce Framework

    12/02/05 21:01:24 INFO mapred.JobClient: Map output materialized bytes=61

    12/02/05 21:01:24 INFO mapred.JobClient: Map input records=2

    12/02/05 21:01:24 INFO mapred.JobClient: Reduce shuffle bytes=61

    12/02/05 21:01:24 INFO mapred.JobClient: Spilled Records=8

    12/02/05 21:01:24 INFO mapred.JobClient: Map output bytes=41

    12/02/05 21:01:24 INFO mapred.JobClient: CPU time spent (ms)=2900

    12/02/05 21:01:24 INFO mapred.JobClient: Total committed heap usage (bytes)=398852096

    12/02/05 21:01:24 INFO mapred.JobClient: Combine input records=4

    12/02/05 21:01:24 INFO mapred.JobClient: SPLIT_RAW_BYTES=210

    12/02/05 21:01:24 INFO mapred.JobClient: Reduce input records=4

    12/02/05 21:01:24 INFO mapred.JobClient: Reduce input groups=3

    12/02/05 21:01:24 INFO mapred.JobClient: Combine output records=4

    12/02/05 21:01:24 INFO mapred.JobClient: Physical memory (bytes) snapshot=422445056

    12/02/05 21:01:24 INFO mapred.JobClient: Reduce output records=3

    12/02/05 21:01:24 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1544007680

    12/02/05 21:01:24 INFO mapred.JobClient: Map output records=4

    查看结果:

    [root hadoop-0.20.205.0]# bin/hadoop fs -cat out/*

    hadoop    1

    hello    2

    world    1

    cat: File does not exist: /user/root/out/_logs

    将结果从HDFS复制到本地并查看:

    [root hadoop-0.20.205.0]# bin/hadoop fs -get out output

    [root hadoop-0.20.205.0]# cat output/*

    cat: output/_logs: Is a directory

    hadoop    1

    hello    2

    world    1

     

    此时,从JobTracker网页中也可以看到任务的执行情况:

本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2012/02/05/2339311.html,如需转载请自行联系原作者

相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
83 2
|
1月前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
4月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
297 2
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(二)
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(二)
|
4月前
|
分布式计算 Ubuntu Hadoop
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)
|
4月前
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
4月前
|
分布式计算 Java Linux
centos7通过Ambari2.74部署Hadoop
centos7通过Ambari2.74部署Hadoop
|
4月前
|
SQL 分布式计算 数据可视化
基于Hadoop的大数据可视化方法
【8月更文第28天】在大数据时代,有效地处理和分析海量数据对于企业来说至关重要。Hadoop作为一个强大的分布式数据处理框架,能够处理PB级别的数据量。然而,仅仅完成数据处理还不够,还需要将这些数据转化为易于理解的信息,这就是数据可视化的重要性所在。本文将详细介绍如何使用Hadoop处理后的数据进行有效的可视化分析,并会涉及一些流行的可视化工具如Tableau、Qlik等。
157 0
|
4月前
|
存储 分布式计算 监控
Hadoop在云计算环境下的部署策略
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。随着云计算技术的发展,越来越多的企业开始利用云平台的优势来部署Hadoop集群,以实现更高的可扩展性、可用性和成本效益。本文将探讨如何在公有云、私有云及混合云环境下部署和管理Hadoop集群,并提供具体的部署策略和代码示例。
169 0
|
5月前
|
存储 分布式计算 资源调度
hadoop确认格式化的方法
【7月更文挑战第21天】
94 5