hadoop安装配置文档.docx

上传人:b****5 文档编号:3255766 上传时间:2022-11-21 格式:DOCX 页数:30 大小:763.67KB
下载 相关 举报
hadoop安装配置文档.docx_第1页
第1页 / 共30页
hadoop安装配置文档.docx_第2页
第2页 / 共30页
hadoop安装配置文档.docx_第3页
第3页 / 共30页
hadoop安装配置文档.docx_第4页
第4页 / 共30页
hadoop安装配置文档.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

hadoop安装配置文档.docx

《hadoop安装配置文档.docx》由会员分享,可在线阅读,更多相关《hadoop安装配置文档.docx(30页珍藏版)》请在冰豆网上搜索。

hadoop安装配置文档.docx

hadoop安装配置文档

Hadoop安装配置

1.集群部署

集群的部署情况涉及到系统的权限以及添加hadoop用户操作,因此用“root”身份进行比较合适。

1.1环境说明

集群中包括3个节点:

1个Master,2个Salve,节点之间局域网连接,可以相互ping通。

节点IP地址分布如下:

机器名称

IP地址

Master.Hadoop

192.168.1.2

Slave1.Hadoop

192.168.1.3

Slave2.Hadoop

192.168.1.4

3个节点上均是CentOS6.0系统,并且创建一个相同的用户hadoop。

以192.168.1.2机器为例,创建hadoop用户的命令为:

[root@Masterhadoop]#groupaddhadoop(创建hadoop用户组hadoop)

[root@Masterhadoop]#useradd-ghadoophadoop(创建hadoop用户,并将其加入hadoop组内)

[root@Masterhadoop]#passwdhadoop(为hadoop用户创建密码)

linux系统中,对用户的权限设计完善。

root用户拥有最高权限,普通用户(如hadoop)权限较低。

涉及系统的操作,用hadoop用户可能无法执行,这就需要在hadoop用户和root用户之间进行切换。

从root用户切换到hadoop用户的命令为:

suhadoop,不需要输入密码直接切换。

从hadoop用户切换到root用户的命令为:

suroot,需要输入密码,验证后才能切换。

普通用户要获取root的权限,也可以不suroot,而是在命令前加上sudo字符,具体用法,可参考互联网。

1.2网络配置

下面的例子我们将以Master机器为例,即主机名为"Master.Hadoop",IP为"192.168.1.2"进行一些主机名配置的相关操作。

其他的Slave机器以此为依据进行修改。

1)修改当前机器名称

假定我们发现我们的机器的主机名不是我们想要的,通过对"/etc/sysconfig/network"文件修改其中"HOSTNAME"后面的值,改成我们规划的名称。

通过上面的命令我们从"/etc/sysconfig/network"中找到"HOSTNAME"进行修改,查看内容如下:

其他机器也变为对应的机器名称Slave1.Hadoop和Slave2.Hadoop

2)修改当前机器IP

假定我们的机器连IP在当时安装机器时都没有配置好,那此时我们需要对"ifcfg-eth0"文件进行配置,该文件位于"/etc/sysconfig/network-scripts"文件夹下。

查看"/etc/sysconfig/network-scripts/ifcfg-eth0"内容,如果IP不与环境说明的不符合,就行修改。

如果上图中IP与规划不相符,用下面命令进行修改:

vim/etc/sysconfig/network-scripts/ifcgf-eth0

修改完之后可以用"ifconfig"进行查看。

3)配置hosts文件(必须)

"/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostName和IP]用的。

当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。

我们要测试两台机器之间知否连通,一般用"ping机器的IP",如果想用"ping机器的主机名"发现找不见该名称的机器,解决的办法就是修改"/etc/hosts"这个文件,通过把LAN内的各主机的IP地址和HostName的一一对应写入这个文件的时候,就可以解决问题。

例如:

机器为"Master.Hadoop:

192.168.1.2"对机器为"Salve1.Hadoop:

192.168.1.3"用命令"ping"记性连接测试。

测试结果如下:

从上图中的值,直接对IP地址进行测试,能够ping通,但是对主机名进行测试,发现没有ping通,提示"unknownhost——未知主机",这时查看"Master.Hadoop"的"/etc/hosts"文件内容。

发现里面没有"192.168.1.3Slave1.Hadoop"内容,故而本机器是无法对机器的主机名为"Slave1.Hadoop"解析。

在进行Hadoop集群配置中,需要在"/etc/hosts"文件中添加集群中所有机器的IP与主机名,这样Master与所有的Slave机器之间不仅可以通过IP进行通信,而且还可以通过主机名进行通信。

所以在所有的机器上的"/etc/hosts"文件末尾中都要添加如下内容:

192.168.1.2Master.Hadoop

192.168.1.3Slave1.Hadoop

192.168.1.4Slave2.Hadoop

192.168.1.5Slave3.Hadoop

用以下命令进行添加:

vim/etc/hosts

添加结果如下:

现在我们在进行对机器为"Slave1.Hadoop"的主机名进行ping通测试,看是否能测试成功。

从上图中我们已经能用主机名进行ping通了,说明我们刚才添加的内容,在局域网内能进行DNS解析了,那么现在剩下的事儿就是在其余的Slave机器上进行相同的配置。

然后进行测试。

(备注:

当设置SSH无密码验证后,可以"scp"进行复制,然后把原来的"hosts"文件执行覆盖即可。

用下面命令进行修改当前机器的主机名(备注:

修改系统文件一般用root用户)

1.3所需软件

1)JDK软件

jdk-8u5-linux-i586.rpm可以去官网上下载

2)Hadoop软件

hadoop-2.2.0.tar.gz可以去官网上下载

2、SSH无密码验证配置

Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(SecureShell)来启动和停止各个DataNode上的各种守护进程的。

这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。

由于是对hadoop用户进行无密码验证,所以该过程主要部分用“hadoop”身份进行。

图片中[hadoop@Master~]代表此时操作用户为hadoop,[root@Master~]代表操作用户为root,可仔细参考图片。

2.1安装和启动SSH协议

在"Hadoop集群(第1期)"安装CentOS6.0时,我们选择了一些基本安装包,所以我们需要两个服务:

ssh和rsync已经安装了。

可以通过下面命令查看结果显示如下:

rpm–qa|grepopenssh

rpm–qa|greprsync

假设没有安装ssh和rsync,可以通过下面命令进行安装。

yuminstallssh安装SSH协议

yuminstallrsync(rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)

servicesshdrestart启动服务

确保所有的服务器都安装,上面命令执行完毕,各台机器之间可以通过密码验证相互登。

2.2配置Master无密码登录所有Salve

1)SSH无密码原理

Master(NameNode|JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode|Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。

当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。

Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。

这就是一个公钥认证过程,其间不需要用户手工输入密码。

重要过程是将客户端Master复制到Slave上。

2)Master机器上生成密码对

在Master节点上执行以下命令:

ssh-keygen–trsa–P''

这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。

生成的密钥对:

id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。

查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。

接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

在验证前,需要做两件事儿。

第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能),另一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。

使其无密码登录有效。

(1)修改文件"authorized_keys"

chmod600~/.ssh/authorized_keys

备注:

如果不进行设置,在验证时,扔提示你输入密码,在这里花费了将近半天时间来查找原因。

在网上查到了几篇不错的文章,把作为"Hadoop集群_第5期副刊_JDK和SSH无密码配置"来帮助额外学习之用。

(2)设置SSH配置

用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。

RSAAuthenticationyes#启用RSA认证

PubkeyAuthenticationyes#启用公钥私钥配对认证方式

AuthorizedKeysFile.ssh/authorized_keys#公钥文件路径(和上面生成的文件同)

设置完之后记得重启SSH服务,才能使刚才设置有效。

servicesshdrestart

退出root登录,使用hadoop普通用户验证是否成功。

sshlocalhost

从上图中得知无密码登录本级已经设置完毕,接下来的事儿是把公钥复制所有的Slave机器上。

使用下面的命令格式进行复制公钥:

scp~/.ssh/id_rsa.pub远程用户名@远程服务器IP:

~/

例如:

scp~/.ssh/id_rsa.pubhadoop@192.168.1.3:

~/

上面的命令是复制文件"id_rsa.pub"到服务器IP为"192.168.1.3"的用户为"hadoop"的"/home/hadoop/"下面。

下面就针对IP为"192.168.1.3"的Slave1.Hadoop的节点进行配置。

(1)把Master.Hadoop上的公钥复制到Slave1.Hadoop上

从上图中我们得知,已经把文件"id_rsa.pub"传过去了,因为并没有建立起无密码连接,所以在连接时,仍然要提示输入输入Slave1.Hadoop服务器用户hadoop的密码。

为了确保确实已经把文件传过去了,用SecureCRT登录Slave1.Hadoop:

192.168.1.3服务器,查看"/home/hadoop/"下是否存在这个文件。

从上面得知我们已经成功把公钥复制过去了。

(2)在"/home/hadoop/"下创建".ssh"文件夹

这一步并不是必须的,如果在Slave1.Hadoop的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1