Mac系统下, hadoop 2.6.2 完全分布式 配置

背景

        本人最近在学习hadoop的相关内容,感觉在一个伪分布式环境下研究、学习总是感觉不伦不类的,于是想配一个基于OSX平台的完全分布式环境。在网上看了很多配置教程,发现几乎都是同时开三个虚拟机实现的三节点分布式环境,而我想用我的macbook作为master节点,并在此笔记本上开两个ubuntu虚拟机作为node1,node2节点,一番摸索下终于成功,特此写下此文章,以便不想完全用虚拟机作为分布式节点的同学分享交流。
参考链接:http://www.w2bc.com/Article/19645

环境

        了解一些HDFS知识的同学应该清楚,从HDFS的角度来看,集群中的机器主要分为两种角色: NameNode和DataNode。此次配置的环境中,由macbook本身充当NameNode, 而两个虚拟机中运行的ubuntu系统分别充当两个DataNode。

  • os x EI Capitan 10.11.5
  • 虚拟机:Parallels Desktop
  • ubuntukylin 14.04 64bit * 2
  • hadoop 2.6.2
  • os x上的jdk版本:1.8.0_73,ubuntu上的jdk版本:1.8.0_91(不同机器上的jdk版本不要求一样)

安装虚拟机

  1. 打开Parallels Desktop,点击右上角的“+”号添加虚拟机;
  2. 选择由现有的镜像文件添加系统还是自动下载,如图所示:
    添加虚拟机

安装JDK

        先检查在系统中是否安装有JDK,在控制台输入: java -version,如果出现如下提示,则证明本系统上已安装有JDK,否则需要自己手动安装。这里写图片描述
mac系统上的JDK默认安装路径在:/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home,最好在ubuntu系统上也按如此路径存放JDK,如果对应的文件夹不存在,则自己在ubuntu上创建即可,不使用相同的路径也可,不过需要在各个ubuntu系统上的相关配置文件所有关于$JAVAHOME的位置更改为相应的JDK路径。
        如果需要手动安装JDK,请自行搜索安装JDK的方法,同时配置好相应的环境变量。环境变量输入的位置在:/etc/profile下。

修改各自的hostname

        为了方便起见,最好将三个系统上的hostname修改为:master(mac上)、node1(其中一个ubuntu系统上)、node2(另一个ubuntu系统)。
        可以通过在控制台输入hostname来显示当前系统的hostname。
        1. 在mac上设置hostname:在控制台输入

sudo scutil --set HostName master

        2. ubuntu上设置hostname:
        修改/etc/hostname文件,在其中把之前的名字删除,只留下node1(在另一个ubuntu上修改为node2)。
        修改完hostname后,注销或重启一下系统,以使得新的hostname生效。之后可以通过在控制台输入 hostname 来验证hostname是否更改过来。

修改各个系统的hosts文件

        此方法由于在Mac和ubuntu上步骤相同,所以统一说了,之后需要在每个机器上均执行此过程。
        1. 使用ifconfig命令,查看各个系统的ip地址,并保证通过ping命令互相可以ping通,并记录各自的ip地址。或者,也可以通过手动方式指定各自系统的ip地址。
      2. 修改/etc/hosts文件,在其中添加三条记录:master的IP地址  master,node1的IP地址  node1,node2的IP地址  node2。我自己的配置如下: 这里写图片描述
       注意:此步骤需要在三个系统上均执行一遍,且填入的内容也相同。

安装及测试SSH

        由于hadoop各个节点之间通过ssh方式进行通信,因此必须在各个系统上安装好ssh,并且为了避免每次登录均输入密码,还需要进行一定的配置实现ssh免密码登录。
        1. 在控制台输入:ssh,如果出现如下提示,则证明本系统上已安装好了ssh,无须再去安装。这里写图片描述
        2. mac系统上已经默认安装了openSSH,如果ubuntu上没有安装,可参考如下方式安装:在控制台输入 sudo apt-get install openssh-server ,安装完成后在控制台输入:sudo service ssh start启动ssh服务。
        3. 在控制台输入:ssh localhost 第一次登录会提示让你输入密码,最终显示Last login: ……表示登录成功。
        

配置ssh免密码登录

        此过程在各个系统上均需要执行一遍。
        1. 产生秘钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

        此时会在~/.ssh文件夹下出现如下两个文件:id_dsa    id_dsa.pub

        2. 导入authorized_keys:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#保证authorized_keys的chmod为600

        3. 测试是否安装成功:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值