文档详情

Linux下Nutch-1.0分布式配置.doc

发布:2018-06-20约9.74千字共12页下载文档
文本预览下载声明
Linux下Nutch-1.0集群配置 詹坤林 中科院研究生院信息学院 2010年5月 目 录 0 集群网络环境介绍 1 1 /etc/hosts文件配置 1 2 SSH无密码验证配置 2 2.1配置所有节点之间SSH无密码验证 2 3 JDK安装和Java环境变量配置 3 3.1 安装 JDK 1.6 3 3.2 Java环境变量配置 3 4 Nutch集群配置 3 5 Nutch集群启动 6 6 Nutch分布式爬虫 8 0 集群网络环境介绍 集群中所有节点均是Cent-OS系统,防火墙均禁用,sshd服务均开启;所有节点上均有一个名为nutch的用户,用户主目录是/home/nutch。 集群包含三个节点:1个namenode,2个datanode,节点之间局域网连接,可以相互ping通。节点IP地址和主机名分布如下: 32 gc03vm12 namenode 42 gc04vm12 datanode01 44 gc04vm14 datanode02 1 /etc/hosts文件配置 namenode节点上vi /etc/hosts,将所有节点的名字和IP地址写入其中,写入如下内容,注意注释掉行: 32 gc03vm12 42 gc04vm12 44 gc04vm14 # centos54 localhost.localdomain localhost /etc/hosts文件需要复制到所有数据节点上。 2 SSH无密码验证配置 Nutch是基于Hadoop的,Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解,datanode之间可能也需要使用SSH协议。假若是,则需要配置使得所有节点之间可以相互SSH无密码登陆验证)。 2.1配置所有节点之间SSH无密码验证 (0)原理 节点A要实现无密码公钥认证连接到节点B上时,节点A是客户端,节点B是服务端,需要在客户端A上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到ssh连接服务端B时,服务端B就会生成一个随机数并用客户端A的公钥对随机数进行加密,并发送给客户端A。客户端A收到加密数之后再用私钥进行解密,并将解密数回传给B,B确认解密数无误之后就允许A进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端A公钥复制到B上。 因此如果要实现所有节点之间无密码公钥认证,则需要将所有节点的公钥都复制到所有节点上。 (1)所有机器上生成密码对 (a)所有节点用nutch用户登陆,并执行以下命令,生成rsa密钥对: zkl@zkl-ubuntu:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/zkl/.ssh/id_rsa): 默认路径 Enter passphrase (empty for no passphrase): 回车,空密码 Enter same passphrase again: Your identification has been saved in /home/zkl/.ssh/id_rsa. Your public key has been saved in /home/zkl/.ssh/id_rsa.pub. 这将在/home/nutch/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。 (b)将所有datanode节点的公钥id_rsa.pub传送到namenode上: cp id_rsa.pub datanode01.id_rsa.pub scp datanode01.id_rsa.pub namenode节点ip地址:/home/nutch/.ssh ...... cp id_rsa.pub datanode0n.id_rsa.pub (c)namenode节点上综合所有公钥(包括自身)并传送到所有节点上 cp id_rsa.pub authorized_keys namenode自己的公钥 cat datanode01.id_rsa.pub authorized_keys ...... cat datanode0n.id_rsa.pub authorized_keys 然后使用SSH协议将所有公钥信息authorized_keys复制到所有DataNode的.ssh目录下 zkl@zk
显示全部
相似文档