在ubuntu部署hadoop之单机模式与伪分布式模式部署

简介: <p>这几天刚接触<span style="font-family:DejaVu Serif,serif"><span style="font-size:14px"><span lang="en-US">Hadoop</span></span></span>,在学习如何搭建一个<span style="font-family:DejaVu Serif,serif"><span style=

这几天刚接触Hadoop,在学习如何搭建一个Hadoop集群。对于初学者来说,环境搭建还是比较麻烦的,我这里说一下我的配置方法,仅供大家参考。

我的环境是ubuntu12.10+hadoop1.1.0.

Hadoop运行模式有以下三种。

单机模式(standalone

单机模式是 Hadoop 的默认模式。当首次解压 Hadoop 的源码包时, Hadoop 无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有 3 XML 文件均为空。当配置文件为空时, Hadoop 会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用 HDFS ,也不加载任何 Hadoop 的守护进程。该模式主要用于开发调试 MapReduce 程序的应用逻辑。
伪分布模式( Pseudo-DistributedMode
伪分布模式在“单节点集群”上运行 Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况, HDFS输入输出,以及其他的守护进程交互。
全分布模式( FullyDistributed Mode

Hadoop守护进程运行在一个集群上。


Step 1.

由于hadoop是用java语言编写的,所以第一步我们需要安装JDK。

建议大家去oracle到官网去下载,不要去apt-get到方法,因为apt-get得到到jdk不是官方到版本,在以后到调试中会有意想不到的问题。

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

我这里给出了官网下载地址,大家根据自己到系统下载相应版本即可。我这里下载到是tar.gz格式的。

将得到到tar.gz 文件解压到一个文件夹下。然后,配置环境变量。方法如下:

首先

sudo gedit /etc/profile

打开profile文件在文件到最后加上这些代码;

#set java environment

JAVA_HOME=/home/liujiacai/program/jdk1.7.0_09     

export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH 
上面到JAVA_HOME的值是我机器上jdk的文件路径,大家改为自己到即可。最后保存文件即可。

为了是环境变量生效,需要注销一下当前用户,重新登录后在控制台中输入

java -version
如果能到的jdk到版本信息说明已经配置成功

这是我机器上得到到信息。

对于hadoop到三种运行模式都需要配置jdk路径,所以首先介绍这个到配置

将下载好的hadoop解压,重新命名为hadoop(这是为了方便以后到操作)。进入conf文件夹下,在hadoop-env.sh文件中做修改,在第九行左右到位置中有#export JAVA_HOME=*******这样到字样,首先将#(这里#为注释到作用)去掉,修改JAVA_HOME的值为你机器中jdk到文件路径即可,这里到值和/etc/profile是相同的。

Step 2.单机模式安装

我这里假设你的控制台的当前路径是hadoop文件夹

在这中模式下直接运行wordcount例子即可

bin/hadoop jar hadoop-ex*.jar wordcount conf output

这样就可以在output文件夹中看到统计到结果。

Step 3.伪分布式模式安装

这里需要修改conf文件夹中到三个文件。分别是core-site.xml、mapred-site.xml、hdfs-site.xml三个文件

具体修改内容如下:

conf/core-site.xml:

<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property> 
     <property>
         <name>hadoop.tmp.dir</name>
         <value>/home/liujiacai/hadoop/logs</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>

这样就配置好hadoop了,由于haoop不同结点间到通信是用的ssh,所以我们还需要安装ssh

ssh原理解释:点这里

在ubnuntu下直接在控制台中输入

sudo apt-get install openssh-server

如果提示找不到源,更新ubuntu到软件中心即可

sudo apt-get update

这样就安装完成了ssh。下面需要设置免密钥登录ssh了。输入下面两行代码即可:

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

这样以后登录本地ssh就不需要密码了。

这里稍微解释一下:ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型,dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。然后把id_dsa.pub(公钥)追加到授权的key里面去。

下面就可以运行wordcount了

(1)首先格式化namenode并,开启hadoop相关进程

bin/hadoop namenode -format

bin/start-all.sh
输入上面两条命令后hadoop就已经开启了。

(2)运行wordcount例子

首先把本地到conf文件夹中到文件上传到hdsf文件系统到input文件夹下

bin/hadoop fs -mkdir /input
bin/hadoop fs -put conf/* /input

下面即可运行wordcount了

bin/hadoop jar hadoop-examples-*.jar wordcount /input /output

查看结果可用下面这条命令

bin/hadoop fs -cat /output/*
这样就可以看到统计以后到结果


关闭hadoop进程到命令是

bin/stop-all.sh

Step 4.全分布式模式安装

这种模式比较复杂,请大家熟悉上面两种模式后再进行配置。

具体方式参照我的另一篇文章:

Hadoop全分布式环境搭建


最后祝你好运。Good Luck


PS:参考文章

http://www.linuxidc.com/Linux/2012-02/53927.htm




目录
相关文章
|
4月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
983 1
|
7月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
515 12
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
318 2
|
9月前
|
Ubuntu 安全 Docker
Ubuntu下部署及操作Docker技巧
以上就是在Ubuntu下部署及操作Docker的具体步骤。但这只是冰山一角,Docker的魅力远不仅如此。你可以将其视为存放各种工具的小箱子,随时随地取用,极大地提升工作效率。你也可以私人订制,适应不同的开发环境,就像一个拥有各种口味冰淇淋的冰箱,满足各种各样的需求。好了,现在你已经掌握了基本的Docker运用技巧,快去尝试使用吧!记住,沉浸在探索中,你会找到无尽的乐趣和满满的收获。
439 23
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
286 3
Ubuntu系统下部署flatpress轻量级博客系统
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
466 1
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
383 0
|
10月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
526 79
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
542 6
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
732 4

相关实验场景

更多