Hadoop安装配置超详细步骤

  • 格式:pdf
  • 大小:545.98 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop的安装

1、实现linux的ssh无密码验证配置.

2、修改linux的机器名,并配置/etc/hosts

3、在linux下安装jdk,并配好环境变量

4、在windows下载hadoop 1.0.1,并修改hadoop-env.sh,core-site.xml,

hdfs-site.xml, mapred-site.xml,masters,slaves文件的配置

5、创建一个给hadoop备份的文件。

6、把hadoop的bin加入到环境变量

7、修改部分运行文件的权限

8、格式化hadoop,启动hadoop

注意:这个顺序并不是一个写死的顺序,就得按照这个来。如果你知道原理,可以打乱顺序来操作,比如1、2、3,先哪个后哪个,都没问题,但是有些步骤还是得依靠一些操作完成了才能进行,新手建议按照顺序来。

一、实现linux的ssh无密码验证配置

(1)配置理由和原理

Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,(datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解)。大概意思是,namenode 和datanode之间发命令是靠ssh来发的,发命令肯定是在运行的时候发,发的时候肯定不希望发一次就弹出个框说:有一台机器连接我,让他连吗。所以就要求后台namenode和datanode 无障碍的进行通信。

以namenode到datanode为例子:namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode 进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到datanode上。

(2)具体操作

生成密钥的方法,是操作在namenode上的,在linux上输入ssh-keygen -t rsa 一直回车,可以生成密钥。我们办公室的namenode上已经有了生成好的密钥,所以不用生成。只需将namenode上的密钥copy下来,复制到需要装hadoop的电脑上即可。

1、在namenode上找到/root/.ssh 文件,会看到两个文件id_rsa.pub,id_rsa。

然后执行cp id_rsa.pub authorized_keys

然后ssh localhost验证是否成功,第一次要你输入yes,以后就不需要了。(这是自我验证,把id_rsa.pub 文件拷贝到authorized_keys,然后自我检验,自己连自己看看能否成功)

2、拷贝密钥

方法一:你可以使用WinSCP软件,将authorized_keys文件复制到datanode的/root/.ssh文件里。

方法二:你可以在linux上输入

[root@namenode1 ~]# cd /root/.ssh

[root@namenode1 .ssh]# ls

authorized_keys id_rsa id_rsa.pub known_hosts

[root@namenode1 .ssh]# sz authorized_keys(将文件下载到你电脑)

然后在你要装datanode上输入

[root@datanode1_3 ~]# cd /root/.ssh

[root@datanode1_3 .ssh]# rz(选择文件上传到datanode的对应文件上)将authorized_keys传到datanode的/root/.ssh 上。

方法三:输入命令行:

[root@namenode1 .ssh] #scp authorized_keys 192.168.1.109(datanode的IP):/root/.ssh

这是拷贝命令,将namenode上的authorized_keys 拷贝到datanode

的/root/,ssh 上。

(3)验证配置成功的方法

在namenode上输入:ssh datanode的IP地址(或者在hosts文件配置好后,也可以使用datanode的机器名)

第一次连接时,会出现一个问题,输入yes,就可以连到datanode的机子上了,无需密码。

root@namenode1 ~]# ssh datanode1_2

The authenticity of host 'datanode1_2 (192.168.1.117)' can't be established.RSAkeyfingerprintis2b:3b:84:66:fb:bd:b1:a7:77:ae:49:7 7:52:a8:53:7d.Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'datanode2' (RSA) to the list of known hosts.

Last login: Wed Apr 25 15:57:15 2012

[root@datanode1_2 ~]#

我们可以看到我们已经转到了datanode上了。

注意:

(1)当你ssh连到datanode之后,也就是你已经转到了该datanode下,不在原来的机器上了。你可以输入命令行:#exit 回到原来的机器。

(2)namenode ssh到datanode是不需要密码的,但是datanode ssh到namenode上是需要密码的。

二、修改linux机器名

(1)查看主机名

在命令行输入:hostname

[root@namenode1 /]# cd

[root@namenode1 ~]# hostname

namenode1

这是你的主机名。

(2)修改主机名(这一步主要是修改主机,让主机记住分机)

1、执行cd /etc/sysconfig,进入/etc/sysconfig目录下

2、执行vi network,修改network文件,

NETWORKING=yes

HOSTNAME=hadoopName(修改成你需要的)

把HOSTNAME改成你想要的机器名,办公室的电脑是改成namenode 和datanode,保存。