单机模式的hadoop部署

本文详细介绍了如何使用单机模式部署并测试Hadoop,包括所需软件、安装步骤以及提供的示例程序运行过程。重点突出了单机模式在程序测试及调试中的优势,适合初学者快速上手。
部署主要看以下的文档:http://hadoop.apache.org/common/docs/r0.19.2/cn/

开发测试可以使用单机模式部署,以下内容的单机部署和测试参考以下链接:
http://hi.baidu.com/zengjianyuan/blog/item/c86fa10fa3e386e6ab645780.html

就是想了解一下这个东西怎么跑的,为以后工作做准备。

需要软件:
ssh:fedore 9 自带。
jdk:http://java.sun.com/javase/downloads/index.jsp,下最近版本jdk-6u18-linux-i586
hadoop:http://apache.etoak.com/hadoop/core/hadoop-0.20.1/,最新版本0.20.1,据说这个版本jdk必须1.6以上。

三种运行模式:
单机(非分布式)模式,伪分布式运行模式(用不同进程模仿分布式运行中的各类结点),分布式运行模式。

其中前两种运行模式体现不了Hadoop分布式计算的优势,并没有什么实际意义,但对程序的测试及调试很有帮助。现在只有一台机器, 主要想了解基于Hadoop的分布式并行程序是如何运行的。

单机模式安装步骤:
1.解压安装包至:/usr/local/hadoop
如果安装jdk已经设置了路径,安装完毕。否则:
2.cd /usr/local/hadoop/conf,修改hadoop-env.sh,最后一行添加:export JAVA_HOME=/usr/local/jdk1.6.0_18(jdk路径).

看看这玩意怎么跑的:
1.
# mkdir input
# cp conf/*.xml input
# bin/hadoop jar hadoop-0.20.1-examples.jar grep input output 'dfs[a-z.]+'
10/01/26 00:22:54 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/01/26 00:22:54 INFO mapred.FileInputFormat: Total input paths to process : 5
...
# cat output/*
1 dfsadmin
# ls output/
part-00000
程序是hadoop自带的,把conf下的xml文件拷贝到input下作为输入,找到并显示所有与最后一个正则表达式匹配的行,输出到output.
jar 是 bin/hadoop 脚本定义的参数,会调用 Hadoop 自己的一个工具类 RunJar,这个工具类能够执行一个 Jar 文件。
2.
# mkdir test-in
# echo "hello world bye world" > test-in/file1.txt
# echo "hello hadoop googbye hadoop" > test-in/file2.txt
# bin/hadoop jar hadoop-0.20.1-examples.jar wordcount test-in test-out
10/01/26 00:43:46 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/01/26 00:43:46 INFO input.FileInputFormat: Total input paths to process : 2
...
# cat test-out/*
bye 1
googbye 1
hadoop 2
hello 2
world 2
# ls test-out/
part-r-00000
这个程序也是hadoop自带的,统计各个单词出现次数。

刚开始上网搜的结果都是修改fs.default.name,mapred.job.tracker等等,都是分布式运行模式的配置,没想到单机模式这么简单,浪费了不少时间。

参考:
http://blog.youkuaiyun.com/inkfish/archive/2010/01/07/5149858.aspx
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html
Hadoop单机模式的安装部署可以按照以下步骤进行: 1. 创建用户:`sudo useradd -m hadoop -s /bin/bash`,设置密码:`sudo passwd hadoop`,并将用户添加到sudo组:`sudo adduser hadoop sudo`。 2. 切换到hadoop用户:`sudo su - hadoop`。 3. 更新资源库:`sudo apt-get update`。 4. 安装vim:`sudo apt-get install vim`。 5. 安装ssh:`sudo apt-get install openssh-server`。然后生成SSH密钥:`cd ~/.ssh/`,`ssh-keygen -t rsa`,并将公钥添加到授权文件:`cat id_rsa.pub >> authorized_keys`。 6. 安装Java环境:`sudo apt-get install openjdk-8-jre openjdk-8-jdk`。编辑.bashrc文件:`vim ~/.bashrc`,在文件第一行添加以下内容: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native" export JAVA_LIBRARY_PATH=/usr/local/hadoop/lib/native ``` 然后运行`source ~/.bashrc`使变量生效。 7. 安装hadoop:切换到/usr/local目录:`cd /usr/local`,解压下载的hadoop文件:`sudo tar -zxvf ./hadoop-2.10.1.tar.gz`,将解压后的文件夹重命名为hadoop:`sudo mv ./hadoop-2.10.1/ ./hadoop`,并将权限设置为hadoop用户:`sudo chown -R hadoop ./hadoop`。 8. 修改hadoop配置文件:`vim /usr/local/hadoop/etc/hadoop/core-site.xml`,修改以下部分: ``` <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 9. 启动Hadoop:切换到hadoop目录:`cd /usr/local/hadoop`,格式化NameNode:`bin/hdfs namenode -format`,然后启动Hadoop:`sbin/start-dfs.sh`。 10. 检查Hadoop是否成功启动:运行`jps`命令,应该能看到NameNode、DataNode和SecondaryNameNode这三个进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值