Chinaunix首页 | 论坛 | 博客
  • 博客访问: 333276
  • 博文数量: 54
  • 博客积分: 446
  • 博客等级: 下士
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-30 17:37
文章分类

全部博文(54)

文章存档

2015年(35)

2014年(19)

我的朋友

分类: HADOOP

2014-04-11 23:30:02

      各操作命令的详细原理性说明请参考 http://www.cnblogs.com/lanxuezaipiao/p/3525554.html,这里只是把关键步骤列一下,方便自己今后安装。该网址上还列出了一些可能的错误,本文略去安装过程中没有出现的错误,按照本文操作步骤若出现错误也首先参考该网址。
      集群环境下最少可以只有两台机器,但建议最少配三台,因为两台机器的话,一台master负责分发任务,一台slave负责执行任务,效果与单机环境没有很大的区别,也就失去了搭建集群的意义。但为简单起见,本文介绍只有两台机器的情况,利用本文的配置方法,可以任意增加多台slave.
       首先如果只配两台机器,hdfs-site.xml文件中value字段要配成“1”,这样可以保证只有一个副本
       1. /etc/hostname与/etc/hosts配置
       我的环境如下:
       一台ubuntu13.10机器,IP:114.212.84.164,作为master, /etc/hostname中写入master
       一台fedora19机器,IP:114.212.85.58,作为slave, /etc/hostname中写入master
       /etc/hosts应当写入:
       127.0.0.1     master
       114.212.84.164   master
       114.212.85.58   slave
       第一行中应填每台机器的/etc/hostname中的主机名,后两行两台机器配置相同
       这项配置完成后要重启机器,重启后先互相ping IP,看是否能ping通,然后再互相ping主机名,如果能ping通,这部分工作完成。
       2. ssh无密码验证配置
       首先是安装,不再多说,下面是master主机上的操作经过:
       1)进入/home/hadoop目录,敲命令ssh-keygen -t rsa,一路回车,会生成一个隐藏文件夹.ssh(命令行下能看到), 进入.ssh目录,看到生成的密钥对id_rsa(私钥)、id_rsa.pub(公钥)
       2)把id_rsa.pub(公钥)追加到授权的key里面去:
          cat id_rsa.pub >> authorized_keys
          查看并修改新生成的authorized_keys文件的权限:chmod 600 authorized_keys
       3)root用户登录并修改/etc/ssh/sshd_config文件的内容:
        RSAAuthentication yes
        PubkeyAuthentication yes
        AuthorizedKeysFile    %h/.ssh/authorized_keys
        以上几行去注释并修改成如上内容
      4)设置完后重启ssh服务:service ssh restart 
      用ssh localhost测试是否可以免密码登录本机,注意测试一定是在hadoop帐户下,别的帐户因为没有生成密钥,所以仍然会要求输密码
      5)将公钥拷贝到slave机器上
      ssh-copy-id hadoop @slave(slave机器名),会提示输入密码
     拷贝完成后,测试ssh hadoop @slave或ssh slave应当都可以免密码登录
      注意:若测试ssh  root@slave应当是要输密码的,这是一个权限问题
然后在slave机器上将1)~5)步重新来一遍
       3. 前两步完成后可以安装hadoop,只需安装master,安装方法参考上一篇博客
       配置文件中需要ip的地方将localhost改为主机IP(114.212.84.164),与单机相比要多配置两个文件,conf下masters与slaves,两个文件均写上真实的master与slave主机名即可,也可以直接写IP
       注意:masters文件一般只有一个值,slaves文件可以有多个值
       配置完后拷贝,两个文件,JAVA与hadoop(注意为避免麻烦,所有机器的java,hadoop目录结构都保持相同),命令:
       scp -r  /home/hdoop(源拷贝目录)root@slave:/home/hadoop(目标目录)
       注意:一定要用root帐户,因为需要有创建目录的权限,会要求输密码
       拷贝后,这两个文件默认是root帐户的,这样使用起来有诸多不便,root下改一下权限:
       chown -R  hadoop:hadoop(用户名:用户组)hadoop(目标文件夹)
       注意:ubuntu下进入root帐户最好使用sudo su或者sudo -s -H临时进入一下,建议不要永久开启此帐号。
       4. 这时可以启动了,只需在主机(master)上启动即可:
       master上三个进程:JobTracker、NameNode、SecondaryNameNode
       slave上两个进程:TaskTracker、DataNode
 

      
      
      
      
      
     
阅读(1389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~