代码改变世界

搭建hdfs服务器集群的搭建+trash

2016-01-03 22:24  Mandylover  阅读(448)  评论(0编辑  收藏  举报

完全分布式搭建需要三台机器:node1、node2和node3

搭建时间之前首先要保持时间一致:date

ntpdate
yum install ntpdate
ntpdate -u ntp.sjtu.edu.cn
date

如果时间不能设置,可以使用以下命令:rdate -s time-b.timefreq.bldrdoc.gov(能使三台主机时间一致)

jdk也要配置好;

三台防火墙全部关掉:service iptables stop

1.解压hadoop-2.5.1_x64.tar到根目录下:

    tar -zvxf hadoop-2.5.1_x64.tar.gz

2.选三台虚拟机node1、node3分别为namenode、secondnamenode,node2为datanode

3.在home下新建install目录

4.ln -sf /root/hadoop-2.5.1 /home/install/hadoop-2.5(创建链接)

5.cd /home/install/hadoop-2.5(进入hadoop-2.5目录)

6.对根目录下的.bash_profile文件进行编辑,即添加一下两行:

  export HADOOP_HOME=/home/install/hadoop-2.5
  export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

7.执行source ~/.bash_profile命令

8.只在第一台上ping一下:

     ping node1
     ping node2
     ping node3

9.三台虚拟机进行公钥、私钥的配置

  ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  然后对node1根目录里的.ssh里删除know_hosts:rm -rf know_hosts

10.将产生的公钥追加到authorized_keys里,然后查看authorized_keys里的内容

     cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
     more authorized_keys

 再将公钥通过网络传递到其它两台虚拟机里的/opt的目录下:

     scp ~/.ssh/id_dsa.pub root@node2:/opt/
     scp ~/.ssh/id_dsa.pub root@node3:/opt/

11.在其它两台虚拟机里进行node1里的公钥的追加:

    cat /opt/id_dsa.pub >>authorized_keys
  more authorized_keys

12.最后在node1中:ssh node2  和  ssh node3,看是否能免密码登录

13.将.bash_profile里的配置文件通过网络复制到node2和node3里

  scp ~/.bash_profile root@node2:~/
      scp ~/.bash_profile root@node3:~/

14.分别编辑三个文件:hadoop-env.sh、core-site.xml、hdfs-site.xml,再新建两个文件:masters(node3)和slaves(node1 node2 node3)

export JAVA_HOME=/usr/java/jdk1.7.0_79

15.在node2、node3里:source ~/.bash_profile

    scp -r /home/install/hadoop-2.5 root@node2:/home/install
    scp -r /home/install/hadoop-2.5 root@node3:/home/install

16.格式化:hdfs namenode -format

17.cd /opt/hadoop-2.5/dfs/name/
    cd current/

    start-dfs.sh

只在node1上启动start-dfs.sh就可以启动集群,是因为前面设置了免密码登录,启动node1的同时,也远程登录了node2和node3。

18.在浏览器里输入http://node1:50070,若出现如下页面则搭建成功: