天天看点

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

作者:周志湖

网名:摇摆少年梦

微信号: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,可以分别安装,也可以安装完一台后克隆两台,具体过程略。初学者,建议三台分别安装。安装后如下图所示:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建
Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(1)修改centos_salve01虚拟机主机名:

/etc/sysconfig/network修改后的内容如下:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(2)<code>vim /etc/sysconfig/network</code>命令修改centos_slave02虚拟机主机名

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(3)<code>vim /etc/sysconfig/network</code>命令修改centos_slave03虚拟机主机名

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

在大家在配置时,修改/etc/sysconfig/network-scripts/ifcfg-eth0文件对应的bootprot=static、ipaddr、netmask、gateway及dns1信息即可

(1)修改centos_salve01虚拟机主机ip地址:

修改后内容如下:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(2)修改centos_salve02虚拟机主机ip地址:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(3)修改centos_salve03虚拟机主机ip地址:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

/etc/sysconfig/network-scripts/ifcfg-eth0文件内容解析:

设置完成后,使用

命令重新启动网络,配置即可生效。

(1)修改centos_salve01主机名与ip地址映射

设置内容如下:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(2)修改centos_salve02主机名与ip地址映射

具体如下图:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

(3)修改centos_salve03主机名与ip地址映射

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

采用下列命令设置各主机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目录下:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

设置share文件夹为虚拟机的共享目录,如下图所示:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

在linux系统中,采用

命令可以切换到该目录下,如下图

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

spark官方要求的jdk、scala版本

在根目录下创建sparklearning目前,后续所有相关软件都放置在该目录下,代码如下:

将共享目录中的jdk安装包复制到/sparklearning目录

设置环境变量:

在文件最后添加:

如下图:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

测试配置是否成功:

将/etc/profile文件末尾内容修改如下:

测试scala是否安装成功

修改datadir为:

在文件末尾添加如下内容:

如图所示:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建
Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

创建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修改为:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

利用vim core-site.xml命令,文件内容如下:

vim hdfs-site.xml内容如下:

vim mapred-site.xml修改文件内容如下:

登录slave02.example.com服务器,执行下列命令

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建
Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

至此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

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

但是在启动过程中出现了错误,查看日志文件

日志内容中包括下列错误:

没找到具体原因,在ubuntu 10.04服务器上进行相同的配置,集群搭建却成功了(心中一万头…..),运行界面如下:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

采用下列命上传spark-1.5.0-bin-hadoop2.4目录下的readme.md文件到相应的根目录。

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

进入/spark-1.5.0-bin-hadoop2.4/bin目录,启动./spark-shell,如下图所示:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

执行redme.md文件的wordcount操作:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

执行结果如下图:

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

至此,spark 1.5集群搭建成功。

继续阅读