spark

提示:在配置集群之前,提醒大家对集群的系统安装以及配置文件的一些注意事项:

1.系统最好全部统一,如我们集群的ubuntu server 16.04

2,由于安装过程中经常需要重启机器,因此,对应的

a.ip与mac地址之间的固定(路由器设置,进入路由器进行设置;

b.以及ip开机自动获取,sudo vim /etc/init.d/rc.local 在最近加入一行 dhclient即可。(rc.local可以理解为开机root运行的脚本,所以所有你想开机启动的服务都可以在这里面加入)

下面进入正文:

1.hosts文件配置

a.要想配置过程中省点力气,我们一开始就要建立好ip与主机名称之间的映射(主机名的更改,参考.html);

b.更改主机名结束之后,vim /etc/hots,把对应的映射加入即可,如我们的集群如下(左边ip,右边主机名):


2.java8u101安装

a.下载对应java版本的linux 二进制压缩文件,由于java官网界面上只挂着最新的版本的下载路径,如果你需要下载早点的版本,进入.html,拉到最下面,进入此界面下载;


b.下载完成之后,通过xftp上传到ubuntu机器上,进行解压;

c.解压完成之后,把jdk目录加入环境变量中,vim /etc/profile 在文件末尾加入jdk安装目录,如下图所示,接着source /etc/profile即可。


3.hadoop 安装与配置

a.下载对应的hadoop压缩包,进行解压;


b.更改hadoop配置文件(之前较老版本的hadoop版本都是在hadoop目录下的conf下,但是现在的版本都是在hadoop目录下的etc/hadoop/下),需要更改的有master,slavers,hdfs-site.xml,yarn-site.xml,core-site.xml共5个文件;

--master:hadoop集群的主节点,如我们的主节点是master1(只能有一个)


这里写入对应的ip与主机名是一样的,由于个人疏忽,写入了ip

--slavers里面存入的是这个集群里所有的datanode节点,也可以理解为从节点(可以有很多个,一行一个)


hdfs-site.xml(文件夹是没有的,你可以新建一个)里存放的是一些hdfs(分布式存储)的配置,对应的参数与对应的意义参考,我们这里的配置如下:


对应的意义分别如下:

dfs.replication每份数据在分布式集群存储中保留几份

dfs.datanode.du.reserved每一个数据节点留下多少空余空间

dfs.data.dir  分布式存储系统hdfs存储的数据在各个节点的目录(如果不设置,那么会默认存在于系统的临时文件下,电脑一重启,hdfs的数据也就没了,因此,自己设置一个文件还是很有必要的)

dfs.secondary.http.address 可以不用管

dfs.http.address hdfs web ui接口

dfs.permissions dfs用户权限,设置为false即可


core-site.xml配置


对应的解释一下:

hadoop.tmp.dir hadoop集群的临时文件夹

fs.default.name 访问hdfs的路径

dfs.name.dir 这里需要注意!  集群其实也是有名字的,但是我怎么知道当前节点和哪些节点是一个集群呢?就是通过这个来辨别的


yarn-site.xml


照着改成自己主节点ip就好了。


至此为止,要改的五个文件就已经改好了。

然后把该文件发给集群内所有节点

c.改好之后把对应的hadoop目录放入系统配置文件中,vim /etc/profile


加入这两条即可,接着,同样的,让系统配置文件生效,source /etc/profile(每个节点都要做哦!)

d.当每台机器全都弄好之后,接下来我们就要启动集群啦!

在主节点下:

1.我们要干的第一件事情就是给集群一个名字,直接命令行下执行hadoop namenode -format 这就相当于给集群一个名字了;

2.接着进入hadoop目录下sbin/  执行 ./start-dfs.sh 进入网页查看 输入 192.168.10.1:50070 查看即可(输入你自己的主节点ip)。



4.scala安装

与java同样,需要把scala目录放到系统变量中,


5.spark集群安装

a.同样的,下载spark-2.0.1对应hadoop2.7.3的版本,


b.解压之后,同样需要配置,进入spark目录下的conf文件,配置slaves以及spark-env.sh文件(如若没有,自己创建)(spark没有master配置文件,在哪个节点启动全部,则那个节点就是master)

slaves文件写入整个集群所有节点


spark-env.sh写入如下:


其中SPARK_WORKER_MEMORY根据自己机器配置进行填写

c.上述配置成功之后,将spark_home写入系统配置/etc/profile中


source /etc/profile

到此,环境就配置成功,接着启动spark即可。

从主节点进入spark目录下的sbin文件夹,./start-all.sh

查看192.168.10.1:8080,如出现以下网页,则成功,


5.为了测试是否可以运行程序,可以跑一下spark自带的程序。直接命令行下 run-example SparkPi 执行成功会打印Pi值,对应如下:


至此,全部搞定!!!!!!