完全分布式搭建需要三台机器: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,若出现如下页面则搭建成功:

最新文章

  1. springmvc学习笔记--ueditor和springmvc的集成
  2. python——请求服务器(http请求和https请求)
  3. Linux-LNMP LAMP LNMPA
  4. [SQL]SQL中把一个字段的数据分多行显示
  5. 转 @RenderBody()和@RenderSection()
  6. 一步一步学数据结构之n--n(Prim算法)
  7. SQL 用中文的拼音和笔画排序
  8. expect ------提供用户名和密码的SSH自动登录脚本
  9. MySQL之增_insert-replace
  10. [Codeforces 864D]Make a Permutation!
  11. 内置函数 filter zip map
  12. 使用别名访问MSSQL Express
  13. mysql无法生成log文件
  14. 除了/etc/init.d/加启动脚本 或者在/etc/rc.local中加启动命令,还可以通过crontab来完成服务器重启后自动启动服务的操作
  15. 一、ZooKeeper学习
  16. iis 发布asp.net mvc 网站时候js css 压缩问题,图片不加载问题
  17. 数据加密 - TDE透明数据加密原理
  18. 创建 maven web 项目时 ,更改 为 Dynamic web module 为 3.0 时 项目报错
  19. RSS是什么,RSS怎么玩,RSS原理是什么 (zhuan)
  20. [CSAPP] Chapter 1 Overview of Computer

热门文章

  1. spring data mongodb中,如果对象中的属性不想加入到数据库字段中
  2. ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order
  3. JDBC链接
  4. 企业生产环境下不同业务的linux分区建议
  5. Python 出现需要使用fPIC重新编译的问题
  6. margin负值的使用
  7. C#导入导出数据到Excel的通用类代码
  8. 基于协同过滤的个性化Web推荐
  9. 批处理:遍历输出指定后缀格式的文件名.bat
  10. android 提示用户是否退出应用程序 提升用户体验