hadoop全分布式系统搭建流程

环境:
VM: VMWare Workstation 10.0.1
linux: centOS 6.3
java: jdk7u55


1. 更改主机名:   /etc/sysconfig/network
      设置各节点机器名: /etc/hosts
                master: 192.168.0.100
          slaveA:  192.168.0.101
          slaveB:  192.168.0.102
          slaveC:  192.168.0.103
     
2. 网络配置:
     主机(Win 7):
          网络和共享中心 -> vmnet1 -> 属性 -> TCP/IPv4 -> 属性:
               设置静态IP: IP=192.168.0.1(虚拟机的网关),mask=255.255.255.0;
          VMWare: 虚拟机设置: network adapter: Host-only
     master:   /etc/sysconfig/network-scripts/ifcfg-eth0
          BOOTPROTO="static"  # static ip instead of dhcp
          GATEWAY=192.168.0.1
          NETMASK=255.255.255.0
          IPADDR=192.168.0.100
     slaveA:   /etc/sysconfig/netwo rk-scripts/ifcfg-eth0: 
          BOOTPROTO="static"  # static ip instead of dhcp
          GATEWAY=192.168.0.1
          NETMASK=255.255.255.0
          IPADDR=192.168.0.101
     slaveB/slaveC类似,只是IP地址分别是192.168.0.102和192.168.0.103;
需要注意的是,采用VMWare克隆的方式创建新VM时,网卡eth0会变成eth1,原理在这篇文章中有说明:
" linux中eth0问题,复制虚拟机后eth0变成eth1问题"

我删去/etc/udev/rules.d/70-persistent-net.rules文件中的eth0信息,并把eth1改成eth0,重启VM就OK了。
另外要注意 /etc/sysconfig/network-scripts/ifcfg-eth0和 /etc/udev/rules.d/70-persistent-net.rules文件中的Mac地址要保持一致,否则ifconfig不能产生正确的IP。

3.  设置共享文件夹
     a. 安装VMware Tools
     b. VM -> 设置 -> 选项 -> 共享文件夹:
     c. VM里共享文件夹的路径在:/mnt/hgfs/VMShare

4. 安装java:
     将jdk-7u55....tar.gz复制到/usr/lib/jvm/目录下,解压缩;
     设置环境变量: /etc/profile
          JAVA_HOME
          JRE_HOME
          CLASSPATH
          PATH
[Tip] 运行tar命令需要root权限,否则解压缩失败,各种错误。

5. 安装eclipse:
     将eclipse-...-linux-gtk.tar.gz复制到/usr/lib/eclipse目录下,解压缩;
     在centos桌面创建快捷方式,如这篇文章所述:"CentOS 6.2下安装eclipse"

6. ssh免密码互联:
     centos6已经自带了sshd,所以不需要像ubuntu那样要apt-get install openssh-server
     a. 在每个节点上:
          cd ~/.ssh  # 
          ssh-keygen -t rsa -P "" 
          将生成的id_rsa.pub公钥文件scp追加到master:~/.ssh/authorized_keys
     b. 将master:~/.ssh/authorized_keys scp到各个节点的~/.ssh目录下
     c. 互相ssh。第一次ssh到远程节点时会在~/.ssh/know_hosts文件中加入远程节点的信息。

7. 在master安装hadoop:
     a. 将hadoop-0.20.2.tar.gz复制到master节点某目录下,解压缩;配置HADOOP_HOME/PATH;
     b. 修改配置文件: $HADOOP_HOME/conf/
          hadoop-env.sh:
               设置JAVA_HOME环境变量
          core-site.xml:
               fs.default.name => hdfs://master:9000
               hadoop.tmp.dir => 某个非tmp目录
          hdfs-site.xml:
               dfs.replication => 3
          mapred-site.xml:
               mapred.job.tracker => master:9001
     
8. 将整个$HADOOP_HOME文件夹scp到slave节点相应目录,并设置对应的环境变量。

9. 启动服务
      sudo chkconfig iptables off   # 每个节点都要关闭防火墙,非常重要,否则节点之间通信会莫名其妙地报错
     hadoop namenode -format # 格式化namenode,创建fsimage和edit目录
     start-all.sh #启动所有daemon进程
     jps # 最后,master上面有namenode/second namenode/jobtracker,slave上有datanode/tasktracker

10. enjoy yourself.





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值