由于Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行需要使用JDK,因此,在Linux安装Hadoop之前必须先安装JDK 1.7或更高版本。
Hadoop需要通过SSH启动salve列表中各台主机的守护进程,因此必须安装SSH。Hadoop没有区分集群式和伪分布式,对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程。伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH也是必需的。
1.安装JDK 1.7
安装JDK的过程很简单,下面以Ubuntu(虚拟机的操作系统,Linux的一种SonLS)为例。
1)下载和安装JDK
确保可以连接到互联网,在Ubuntu提示命令下方输入代码:
输入密码,确认后就可以安装JDK了。
(1)sudo命令:允许普通用户执行某些或全部需要root权限命令,提供详尽的日志,可以记录每个用户使用这个命令所做的操作;提供灵活的管理方式,可以限制用户使用命令。sudo的配置文件为/etc/sudoers。
(2)apt(the Advanced Packaging Tool):Debian计划的一部分,是Ubuntu的软件包管理软件。通过apt安装软件无须考虑软件的依赖关系,可以直接安装所需要的软件,apt会自动下载有依赖关系的包,并按顺序安装,在Ubuntu中安装了apt的图形化界面程序synaptic(中文译名为“新立得”),可以用来安装所需的软件。
2)配置环境变量
在Ubuntu提示命令下方输入代码:
输入密码,打开profile文件。在文件的最下面输入如下内容:
配置环境变量,使系统可以找到JDK。
3)验证JDK是否安装成功
在Ubuntu提示命令下方输入代码:
查看结果如下:
2.配置SSH免密码登录
以Ubuntu为例,设用户名为u。
1)确认已经连接上互联网
在提示命令下方输入代码:
2)配置为可以无密码登录本机
查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:
一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。接下来,输入命令:
ssh-keygen表示生成密钥;-t(注意区分大小写)指定生成的密钥类型;dsa表示dsa密钥认证,即密钥类型;-P提供密语;-f指定生成的密钥文件。
在Ubuntu中,~代表当前用户文件夹,这里即/home/u。
这个命令会在.ssh文件夹下创建文件id_dsa及id_dsa.pub,这是SSH的一对私钥和公钥,把id_dsa.pub(公钥)追加到授权的key里面去。
输入命令:(www.xing528.com)
把公钥加入用于认证的公钥文件,authorized_keys是用于认证的公钥文件。
无密码登录本机设置完成。
3)验证SSH是否已安装成功,以及是否可以无密码登录本机
输入代码如下:
显示结果如下:
上述结果表示SSH已经安装成功了。
输入代码如下:
显示结果如下:
安装成功,第一次登录时会询问你是否继续链接,输入“yes”即可进入。
实际上,在Hadoop的安装过程中,是否无密码登录是无关紧要的,但是如果不配置无密码登录,每次启动Hadoop都需要输入密码才能登录到每台机器的DataNode上。一般的Hadoop集群动辄数百台或上千台机器,配置SSH的无密码登录可以方便登录。
3.安装并配置Hadoop
Hadoop将主机划分为master和slave,从HDFS的角度将主机划分为NameNode和DataNode(在分布式文件系统中,目录的管理很重要,NameNode就是目录管理者),从MapReduce的角度将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。
Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本。Hadoop官方发行版的安装方法如下。
Hadoop有3种运行方式:单节点方式、伪分布式与集群方式。
1)单节点方式配置
安装单节点的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。
2)伪分布式配置
伪分布式的Hadoop可以看作只有一个节点的集群,该节点集群中同时担当两种角色,如master和slave、NameNode和DataNode、JobTracker和TaskTracker。
伪分布式的配置只需要修改几个文件。
进入conf文件夹,修改配置文件的代码如下:
指定JDK的安装位置的代码如下:
Hadoop核心的配置文件,配置HDFS的地址和端口号,代码如下:
Hadoop中HDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中需要将其改为1。代码如下:
Hadoop中MapReduce的配置文件,配置JobTracker的地址和端口。
如果安装0.20之前的版本,则只有一个配置文件,即Hadoop-site.xml。
在启动Hadoop前,需要格式化HDFS。进入Hadoop文件夹,输入下面的代码格式化文件系统:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。