前言
最近刚接触Spark,想在实验室配一个小规模的Spark分布式集群做实验。虽说只配一个单机版(standalone)的伪分布式集群也可以做实验,但感觉意义不大,同时也为了逼真还原真实的生产环境,查阅了一番资料之后,知道Spark的运行需要外部的资源调度系统来支持,主要有:Standalone Deploy mode、Amazon EC2、Apache Mesos、Hadoop YARN。因为YARN比较流行的缘故,于是,我决定在Hadoop YARN之上配置Spark分布式集群。
对于Hadoop和Spark的一些比较浅显的,初步的认识,大家可以看我写的这篇博文《对于Hadoop和Spark的一些浅显认识》。说的不对的地方或有补充的地方还请各位博友多多提出~我也会在今后的学习当中不断地修改和更新。
本篇文章主要介绍的是在Ubuntu14.04下Hadoop2.7.2的集群配置。
环境介绍
- 系统:Ubuntu14.04 64位
- JDK版本:jdk 1.7
- Hadoop版本:hadoop 2.7.2
集群环境:
角色 hostname IP master wlw 192.168.1.103 slave zcq-pc 192.168.1.105
创建hadoop用户
需要特别注意的是,hadoop集群要求每个master和slave节点上的用户名是相同的。在这里我统一使用名为“hadoop”的用户。
如果你的节点上用户还不统一,则可以使用如下命令来新建用户:
创建用户,名为“hadoop”
sudo adduser hadoop设置密码
sudo passwd hadoop给hadoop用户创建目录,方可登陆
sudo mkdir /home/hadoop将指定目录的拥有者改为hadoop用户
sudo chown hadoop /home/hadoop可考虑为hadoop用户增加管理员权限,方便部署,避免一些权限不足的问题
sudo adduser hadoop sudo切换到hadoop用户登录
安装ssh server、配置ssh无密码登陆
ubuntu默认安装好了ssh client,我们还需要安装ssh server。
sudo apt-get install openssh-serverHadoop集群需要用到ssh无密码登陆,我们进行设置
cd ~/.ssh
ssh-keygen -t rsa #一直按回车就可以
cp id_rsa.pub authorized_keys设置完之后,我们无密码登录本机进行测试
ssh localhost
网络配置
在 /etc/hosts 中添加如下集群信息:
192.168.1.103 wlw 192.168.1.105 zcq-pc
需要注意的是,该集群信息需要在所有主机(master和slave)上都添加
常规的配置jdk就不说了,唯一需要注意的是在 /ect/environment 中添加JAVA_HOME