hadoop 0.20.2伪分布式安装详解

adoop 0.20.2伪分布式安装详解

 

hadoop有三种运行模式:

 

 

 

伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式。

完全分布式至少有3个节点,其中一个做master,运行名称节点(namenode)、作业跟踪器(jobtracker)等主要进程,另外两个做datanode,运行tasktracker,最好有两个,否则没有冗余,谈不上集群。

 

 

  

下载hadoop 0.20.2安装包:

http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz

解压后,放置在合适的位置,如/opt/Hadoop-0.20.2,执行以下命令:

tar -zxvf /opt/haddop-0.20.2

x表示展开文件,-x | --extract | --get 从存档展开文件

z表示用gzip对文档进行压缩或解压,-z | --gzip | --ungzip 用gzip对存档压缩或解压

-v | --verbose 详细显示处理的文件

-f | --file [HOSTNAME:]F 指定存档或设备(缺省为 /dev/rmt0)

如果指定解压目录,则最一个字符应当是“/”,否则就是文件了

 

进入Hadoop-0.20.2目录

vim conf/Hadoop-env.sh

其中的conf目录是config的缩写,通常是用来放置配置文件的目录,很多开源软件习惯于使用这个目录名称。Hadoop版本不同,配置文件可能也不同,要根据实际情况有所调整。

 

解压后,进入Hadoop-0.20.2目录,进行配置

 

 

本文配置这四个文件。

 

修改hadoop-env.sh文件

进入conf目录,找到图中的三个文件

vim hadoop-env.sh

 

 

找到JAVA_HOME那一项,或修改,或增加,由你选择,最后使

export JAVA_HOME=你的java目录

这一行生效。

此文件暂时仅配置这一项即可。

修改core-site.xml文件

然后

vim core-site.xml

 

最初的<configuration>项是空的,伪分布式完全按照图中的<property>部分添加即可。

完全分布式要把hdfs:项的主机名部分换成对应的IP或主机名,不管是什么,不会是localhost,此处要注意。

其中的fs.default.name用来指定namenode的IP地址和端口,用于和对应的节点联系。

 

修改hdfs-site.xml文件

vim hdfs-site.xml

 

 

与core-site相同,第一次进入时<configuration>项是空的,伪分布式完全按照红圈部分添加即可。完全分布式要修改dfs.replication部分的value,因为hadoop会往多个节点中复制数据用于备份,此处设置的是最大份数,也就是数据节点的数量,也就是小弟的数量,伪分布式只有一个节点,所以是1,写多了也没用。dfs.data.dir是数据节点的数据的存放位置。

 

 

其它参数不多讲。

 

修改mapred-site.xml

vim mapred-site.xml

 

 

作业跟踪器的位置,端口默认,无须修改。作业跟踪器是整个mapreduce系统调度的核心。

伪分布式照搬上图,完全分布式修改主机名。

 

 

 

其它参数,暂时不动。

 

生成SSH密钥对

 

 

 

  1. 输入su,切换到root用户
  2. cd /root,进入root目录
  3. 运行ssh-kengen -t rsa

 

给root用户创建一对密钥,公钥和私钥,不对称(不一样),公钥可公开,别人拿到公钥后,可对文件需要加密的内容进行加密,然后传给服务器,服务器可用私钥解密。公钥加密的,只有私钥才能解密。反之亦然,可以用私钥加密,用公钥可以解密,私钥本身无法解密,但这样做没有意义。

拿到公钥,反推私钥,基本上不可能,以目前的计算能力,需要几百年。

RSA算法,产生密钥过程时间很短,但反推消耗时间非常长。例如,两个上千位的素数相乘,所得到的结果,如果反推,可能性太多,只能逐一尝试,这样就会消耗非常长的时间。

 

Enter file in which to save the key,这一句是问把生成的公钥和私钥存放在哪个文件,如果输入a,则生成a.pub和a两个文件。如果不输入,直接回车,则生成默认文件名id_rsa.pub和id_rsa。

 

可以使用任何编辑工具查看它们的内容,比如cat id_rsa.pub,里面是人类无法理解的字符串。

 

然后执行命令:

cp id_isa.pub authorized_keys

 

authorized_keys中存在id_rsa.pub公钥,就可以免密码连入

 

至此,hadoop0.20.2的伪分布式就配完了。

 

格式化分布式文件系统

hadoop目录下执行bin/hadoop namenode -format

 

 

此操作的目的在于,在“名称节点”上建立一系列结构,用来存放整个HDFS的元数据,

出现绿圈的提示has been successfully formatted即是配置成功。

 

下面在hadoop目录下执行以下命令:

bin/start-all.sh

(如果进入bin目录,然后执行start-all.sh,会报“未找到命令”)

 

 

如果没有看到denied之类的提示,就是启动成功了。

 

检测守护进程启动情况

在root用户下,使用java的jps,会看到类似以下的提示:

一样的规则,不能进入到java的bin目录下执行jps,而是java目录下执行bin/jps

 

 

 

表示伪分布式hadoop0.20.2配置成功。

posted @ 2019-02-13 14:36  火军刀  阅读(698)  评论(0编辑  收藏  举报