VMware_CentOS 6.5下一步步搭建Hadoop集群

Hadoop版本:hadoop-1.2.1
JDK版本:jdk-6u45-linux-x64
Linux版本:CentOS 6.5 64位
登录用户:root

1、虚拟机搭建

     我使用了三个节点,依次命名为master、slave1和slave2。在VMware中以NAT模式安装好CentOS 6.5系统的master后,开始利用配置文件创建slave1和slave2。

1.1 复制master的CentOS配置文件

     将master的配置文件CentOS 64位.vmx所在的文件夹VM CentOS 64复制两份到根目录下vm,分别命名为slave1和slave2。
     配置文件所在的位置可将master挂起后,查看到虚拟机详细信息:


在这里插入图片描述

     复制后的文件夹:


在这里插入图片描述

1.2 利用复制后的配置文件创建slave1和slave2

     VMware中依次单击“文件”–“打开”,弹出对话框,找到slave1对应的.vmx配置文件,确定,创建复制后的虚拟机,同样的方法创建slave2。


在这里插入图片描述

1.3 修改slave1和slave2的网络配置

     由于slave1和slave2是从master整体复制而来的,其ip地址和网卡均与master相同,必须修改后才能联网。此时在任意虚拟机上执行ifconfig命令可以看到相同的ip地址和网卡信息:


在这里插入图片描述     对于ip地址,直接在/etc/sysconfig/network-scripts/ifcfg-eth0中修改即可,这里slave1为192.168.230.11,slave2位192.168.230.12。
     对于网卡,在slave1和slave2的虚拟机设置中,将其网络适配器移除后,再添加即可,此时ip地址和网卡已和master不一样了,可以联网:

在这里插入图片描述

在这里插入图片描述

2、安装jdk

     需要在三台机器master、slave1和slave2上安装jdk,jdk安装包在物理机上,利用VMware共享文件夹的功能,将安装包共享到虚拟机master上,再分发到slave1和slave2上,依次安装。

2.1 设置共享文件夹

     对master打开“虚拟机设置”对话框,将物理机上放有jdk安装包和其他程序包的文件夹share folder设置为共享:


在这里插入图片描述

     共享后,可在master的/mnt/hgfs下看到共享文件夹share folder,利用cp命令将安装包复制到/usr/local/java文件夹下,执行安装。

cd /mnt/hgfs/share folder
cp jdk-6u45-linux-x64.bin /usr/local/java
./jdk-6u45-linux-x64.bin

     关于jdk的安装路径,有必要了解linux的软件安装目录,安装程序并不是非要在指定的目录下安装,但从扩展性和管理性上,遵循规则是为了更方便地管理与使用:
     这里参考:http://blog.51cto.com/mystery888/1835223

  • /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
  • /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。主要存放那些手动安装的软件,即不是通过apt-get安装的软件。用户自己编译的软件默认会安装到这个目录下。
  • /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏)。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。举个例子:测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可。
  • /usr/src:系统级的源码目录。
  • /usr/local/src:用户级的源码目录。
2.2 配置环境变量

     在root用户的~/.bashrc文件尾行添加如下环境变量:

  • export JAVA_HOME=/usr/local/java/jdk1.6.0_45
  • export CLASSPATH=.: $ CLASSPATH:$JAVA_HOME/lib
  • export PATH=$ PATH:$JAVA_HOME/bin

     然后执行以下语句使配置文件生效,完成jdk安装:

source ~/.bashrc

     之所以修改~/.bashrc而不是/etc/profile是因为修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置,而修改用户目录下的.bashrc只是限制在用户应用上,属于用户级设置。两者在应用范围上有所区别,建议如需修改的话,修改用户目录下的.bashrc,即无需root权限,也不会影响其他用户。

3、安装hadoop

3.1 修改主机名(master、slave1和slave2)

     第一步:以maser节点为例,修改/etc/sysconfig/network中的hostname=“你的主机名”:


在这里插入图片描述

     第二步:在/etc/hosts行尾添加三台节点的ip地址和“各自主机名”:


在这里插入图片描述

     第三步:执行shutdown -r now重启系统即可。

3.2 解压

     通过共享文件夹功能将/mnt/hgfs/folder/hadoop-1.2.1-bin.tar.gz复制到master节点的/usr/local/hadoop1,在该路径下利用如下命令解压得到hadoop-1.2.1文件夹:

tar xvzf hadoop-1.2.1-bin.tar.gz

     进入hadoop-1.2.1文件夹,建立tmp目录:


在这里插入图片描述

3.3 修改配置文件

     进入conf目录,依次修改master、slaves、core-site.xml、mapred-site.xml、hdfs-site.xml、hadoop-env.sh配置文件:

  • master:
    在这里插入图片描述
  • slaves:
    在这里插入图片描述
  • core-site.xml:
    在这里插入图片描述
  • mapred-site.xml:
    在这里插入图片描述
  • hdfs-site.xml:
    在这里插入图片描述
  • hadoop-env.sh尾行:
    在这里插入图片描述
         注:配置文件中凡是涉及到路径和ip地址的均是填写自己的路径和地址
3.4 从master远程复制到slave1和slave2

     在master节点的/usr/local/hadoop1目录下,利用如下语句将hadoop-1.2.1文件夹复制到slave1和slave2对应路径下:

scp -rp hadoop-1.2.1 slave1:/usr/local/hadoop1
scp -rp hadoop-1.2.1 slave2:/usr/local/hadoop1
3.5 关闭防火墙

     在每个节点上执行以下语句关闭防火墙:

/etc/init.d/iptables stop
setenforce 0
3.6 建立ssh远程互信

     第一步:在master节点上执行下列命令:

ssh-keygen

     第二步:在~/.ssh目录下,将id_rsa.pub复制到authorized_keys:

cat id_rsa.pub > authorized_keys

     第三步:分别在slave1和slave2节点上执行ssh-keygen命令,将其id_rsa.pub内容复制到master的authorized_keys上:


在这里插入图片描述

     第四步:将master的authorized_keys远程复制到slave1和slave2上:

scp -rp authorized_keys slave1:~/.ssh/
scp -rp authorized_keys slave2:~/.ssh/
3.7 启动hadoop集群

     第一步:在master节点上,进入到/usr/local/hadoop1/hadoop-1.2.1/bin目录下,由于是第一次启动,需要执行以下命令格式化:

[root@master bin]# ./hadoop namenode -format

     第二步:启动集群:

[root@master bin]# ./start-all.sh

     第三步:在各节点下输入jps命令,master出现JobTracker、NameMode和SecondaryNameNode进程,slave1和slave2出现DataNode和TaskTracker则搭建成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值