ubuntu部署hadoop之单机模式与伪分布式模式(个人笔记)

来源:互联网 发布:网络摄像头一体机 编辑:程序博客网 时间:2024/04/29 05:05

单机模式(standalone

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

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

一.ubuntu平台上安装JDK

1.将下载好的tar.gz 文件解压到一个文件夹下。

2.然后,配置环境变量。方法如下:

   打开终端输入

sudo gedit /etc/profile

输入密码后可以看到:

配置环境变量(在profile文件到最后加上这些代码):

#set java environment    JAVA_HOME=/home/hadoop/java/jdk1.8.0_05         export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH    export PATH=$JAVA_HOME/bin:$PATH

上面到JAVA_HOME的值是我机器上jdk的文件路径。

最后保存文件即可。

为了是环境变量生效,需要注销一下当前用户,重新登录后在终端中输入(验证是否配置成功)

java -version

二.部署hadoop之单机模式与伪分布式模式

1. 将下载好的hadoop解压,重新命名为hadoop(这是为了方便以后到操作)。

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

现在我们就可以进行单机模式了(省略)。

2. 伪分布式模式安装


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

具体修改内容如下:

a. core-site.xml


<configuration>     <property>         <name>fs.default.name</name>         <value>hdfs://localhost:9000</value>     </property>      <property>         <name>hadoop.tmp.dir</name>         <value>/home/hadoop/hadoop/logs</value>   --日志路径     </property></configuration>

b.mapred-site.xml


<configuration>     <property>         <name>mapred.job.tracker</name>         <value>localhost:9001</value>     </property></configuration>

c.hdfs-site.xml


<configuration>     <property>         <name>dfs.replication</name>         <value>1</value>     </property></configuration>

这样就配置好hadoop了,由于haoop不同结点间到通信是用的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相关进程(一般启动前把logs里面的文件全部删除)

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

(2)查看所有进程

(3)把本地到hadoop/input (自己建立的)文件夹中到文件上传到hdsf文件系统到input文件夹下

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

(4)下面即可运行wordcount了

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

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

   bin/hadoop fs -cat /output/*

(6)关闭进程

 bin/stop-all.sh




0 0
原创粉丝点击