Hadoop开发环境搭建及配置Hadoop Eclipse Plugin

RHEL6.1,jdk-6u30-linux-i586-rpm.bin, eclipse-jee-indigo-SR1-linux-gtk.tar.gz, Hadoop-0.20.203.0rc1.tar.gz

   用户: FDC1(192.168.1.108) 对应 NameNode、SecondNameNode、JobTracker

         FDC2(192.168.1.109) 对应 DataNode、TaskTrack

2. 安装JDK与Eclipse

参考:

3. 安装SSH

配置Hadoop集群时需要明确指定那个节点作为Master Node(NameNode and JobTracker),那些节点作为DataNode(DataNode and TaskTracker), 而且MasterNode可以远程访问集群中的每一个节点。 Hadoop 采用SSH来解决这个问题,SSH采用标准的公钥加密技术来创建一对密钥来进行用户验证,一个是公钥,一个是私钥。公钥存储于集群中所有节点上,当MasterNode访问一台远程的机器时,发送一个私钥;远程机器将根据公钥和私钥来验证用户的访问权限。

(1) 定义一个公共的账户

针对Hadoop集群, 对集群中所有的节点应该使用相同的用户名(例如: FDC);若为了进一步加强安全,推荐使   用user-level的账户,这个账户只用于管理Hadoop集群。

(2) 验证已经安装的SSH

$ which ssh

    $ which sshd

    $ which ssh-keygen

如果执行上述命令获取到下面的提示信息:

/usr/bin/which: no ssh in (/usr/bin:/bin:/usr/sbin...

则需要自己动手安装SSH,可安装OpenSSH().

(3) 生成SSH 键值对

A. 生成密钥: $ ssh-keygen -t rsa 或 ssh-genkey -t rsa -P " -f~/.ssh/id_rsa

B. 查看生成的公钥:$ more /home/FDC/.ssh/id_rsa.pub

如果MasterNode和DataNode在同一台机器上时(Local Mode):

C. 加入受信列表: $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果MasterNode和DataNode不在同一台机器上时(Distributed Mode), 详细参考:

C.1.将公钥拷贝至每个Slave Node:

$ scp ~/.ssh/id_rsa.pub FDC2@192.168.1.109:~/master_key

如果拷贝到其它目录下,可能会出现permission denied错误,如拷贝到home下,这是因为其它用户没有写权限。

C.2. 在每个TargetNode上将Master Key作为一个Authorized Key,例如进入FDC2账户下:

$ mkdir ~/.ssh

    $ chmod 700 ~/.ssh

    $ mv ~/master_key ~/.ssh/authorized_keys

    $ chmod 600 ~/.ssh/authorized_keys

C.3 进入/home/FDC2目录执行:$ cat id_rsa.pub >> .ssh/authorized_keys
    这样可以在FDC1上不输入密码直接访问FDC2.

说明:
    若要实现Datanode无密码访问Namenode,只需按照上面的步骤将Datanode的*.pub文件复制到Namenode上, 并追加到authorized_keys中

(4) 验证SSH

ssh localhost  //第一次需输入FDC账目密码

ssh target

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxzfw.html