作者:周志湖
网名:摇摆少年梦
微信号:zhouzhihubeyond
操作系统环境准备
hadoop 2.4.1集群搭建
spark 1.5.0 集群部署
注:在利用centos 6.5操作系统安装spark 1.5集群过程中,本人发现hadoop 2.4.1集群可以顺利搭建,但在spark 1.5.0集群启动时出现了问题(可能原因是64位操作系统原因,源码需要重新编译,但本人没经过测试),经本人测试在ubuntu 10.04 操作系统上可以顺利成功搭建。大家可以利用centos 6.5进行尝试,如果有问题,再利用ubuntu 10.04搭建,所有步骤基本一致
ubuntu 10.04操作系统下载地址:
centos 6.5下载地址:
本实验要求装三台:centos 6.5,可以分别安装,也可以安装完一台后克隆两台,具体过程略。初学者,建议三台分别安装。安装后如下图所示:

(1)修改centos_salve01虚拟机主机名:
/etc/sysconfig/network修改后的内容如下:
(2)<code>vim /etc/sysconfig/network</code>命令修改centos_slave02虚拟机主机名
(3)<code>vim /etc/sysconfig/network</code>命令修改centos_slave03虚拟机主机名
在大家在配置时,修改/etc/sysconfig/network-scripts/ifcfg-eth0文件对应的bootprot=static、ipaddr、netmask、gateway及dns1信息即可
(1)修改centos_salve01虚拟机主机ip地址:
修改后内容如下:
(2)修改centos_salve02虚拟机主机ip地址:
(3)修改centos_salve03虚拟机主机ip地址:
/etc/sysconfig/network-scripts/ifcfg-eth0文件内容解析:
设置完成后,使用
命令重新启动网络,配置即可生效。
(1)修改centos_salve01主机名与ip地址映射
设置内容如下:
(2)修改centos_salve02主机名与ip地址映射
具体如下图:
(3)修改centos_salve03主机名与ip地址映射
采用下列命令设置各主机dns(三台机器进行相同的设置)
设置后的内容:
8.8.8.8为google提供的dns服务器
前面所有的配置完成后,重启centos_salve01、centos_salve02、centos_salve03使主机名设置生效,然后分别在三台机器上作如下测试命令:
下面只给出在centos_salve01虚拟机上的测试
测试外网的连通性(我在装的时候,8.8.8.8,已经被禁用….心中一万头cnm):
#### (1) openssh安装
如果大家在配置时,ping 8.8.8.8能够ping通,则主机能够正常上网;如果不能上网,则将网络连接方式重新设置为nat,并修改网络配置文件为dhcp方式。在保证网络连通的情况下执行下列命令:
#### (2) 无密码登录实现
使用以下命令生成相应的密钥(三台机器进行相同的操作)
执行过程一直回车即可
生成的文件分别为/root/.ssh/id_rsa(私钥)、/root/.ssh/id_rsa.pub(公钥)
完成后将公钥拷贝到要免登陆的机器上(三台可进行相同操作):
集群搭建相关软件下载地址:
下载后将所有软件都放置在e盘的share目录下:
设置share文件夹为虚拟机的共享目录,如下图所示:
在linux系统中,采用
命令可以切换到该目录下,如下图
spark官方要求的jdk、scala版本
在根目录下创建sparklearning目前,后续所有相关软件都放置在该目录下,代码如下:
将共享目录中的jdk安装包复制到/sparklearning目录
设置环境变量:
在文件最后添加:
如下图:
测试配置是否成功:
将/etc/profile文件末尾内容修改如下:
测试scala是否安装成功
修改datadir为:
在文件末尾添加如下内容:
如图所示:
创建zookeeper集群数据保存目录
将slave01.example.com(centos_slave01)上的sparklearning目录拷贝到另外两台服务器上:
/etc/profile文件也进行覆盖
修改zookeeper_data中的myid信息:
如此便完成配置,下面对集群进行测试:
使用命令:<code>vim /etc/profile</code> 将环境变量信息修改如下:
使用命令:<code>vim hadoop-env.sh</code> 将环境变量信息修改如下,在export java_home修改为:
利用vim core-site.xml命令,文件内容如下:
vim hdfs-site.xml内容如下:
vim mapred-site.xml修改文件内容如下:
登录slave02.example.com服务器,执行下列命令
至此hadoop集群配置成功
将/etc/profile内容修改如下:
在spark-env.sh文件中添加如下内容:
slaves文件内容如下:
因为本人机器上装了ambari server,占用了8080端口,而spark master默认端是8080,因此将sbin/start-master.sh中的spark_master_webui_port修改为8888
浏览器中输入slave01.example.com:8888
但是在启动过程中出现了错误,查看日志文件
日志内容中包括下列错误:
没找到具体原因,在ubuntu 10.04服务器上进行相同的配置,集群搭建却成功了(心中一万头…..),运行界面如下:
采用下列命上传spark-1.5.0-bin-hadoop2.4目录下的readme.md文件到相应的根目录。
进入/spark-1.5.0-bin-hadoop2.4/bin目录,启动./spark-shell,如下图所示:
执行redme.md文件的wordcount操作:
执行结果如下图:
至此,spark 1.5集群搭建成功。