软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 云计算 -> spark1.6.0集群安装 -> 正文阅读

[云计算]spark1.6.0集群安装


1. 概述

本文是对spark1.6.0分布式集群的安装的一个详细说明,旨在帮助相关人员按照本说明能够快速搭建并使用spark集群。
 
2. 安装环境

本安装说明的示例环境部署如下:
IP 外网IP hostname 备注
10.47.110.38 120.27.153.137 iZ237654q6qZ Master、Slaver
10.24.35.51 114.55.56.190 iZ23pd81xqaZ Slaver
10.45.53.136 114.55.11.55 iZ23mr5ukpzZ Slaver
10.24.35.76 114.55.56.228 iZ23v8c9mqpZ Slaver

各软件版本:
  • Java:jdk-8u60-linux-x64.tar.gz
  • Scala:2.10.4
  • Spark:1.6.0
  • Hadoop:CDH-5.4.5-1.cdh5.4.5.p0.7

 
3. 安装前准备
3.1 在每台机添加hosts(root用户)
修改文件/etc/hosts(或者/etc/sysconfig/network),添加以下内容:
10.47.110.38       iZ237654q6qZ
10.24.35.51          iZ23pd81xqaZ
10.45.53.136       iZ23mr5ukpzZ
10.24.35.76          iZ23v8c9mqpZ
注意:主机名必须和hosts文件中的名称保持一致!   
 
3.2 每个spark节点上创建一个用户(root用户)
# adduser spark
# passwd spark
密码统一设为:spark
[img]http://img.blog.csdn.net/20160331180528353?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast



3.3 每台机安装java(root用户)
3.3.1 下载java
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u60-oth-JPR
 
3.3.2 解压到指定目录
# tar -zxvf jdk-8u60-linux-x64.tar.gz -C /usr/local/
[img]http://img.blog.csdn.net/20160331180715948?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast


         建立软链接以方便以后更改java版本
         # ln -sf/usr/local/jdk1.8.0_60/ /usr/local/jdk
[img]http://img.blog.csdn.net/20160331180750276?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast


3.3.3 配置环境变量
更改全局配置文件/etc/profile
# vim /etc/profile
在文件最后添加:
export JAVA_HOME=/usr/local/jdk         //添加java home
export PATH=.:$JAVA_HOME/bin:$PATH                 //将scala路径添加进环境变量
[img]http://img.blog.csdn.net/20160331180855027?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

注意:在修改完profile后,需要输入以下命令进行更新,否则不会立即生效:
       # source /etc/profile
 
3.3.4 验证
输入java -version验证是否已配置成功
# java -version
[img]http://img.blog.csdn.net/20160331180937496?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
 
3.4 每台机安装scala(root用户)
3.4.1 下载scala
下载地址:http://www.scala-lang.org/download/2.10.4.html
 
3.4.2 解压到指定目录
# tar -zxvf scala-2.10.4.tgz -C /usr/local/
[img]http://img.blog.csdn.net/20160331181108605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

建立软链接以方便以后更改scala版本
# ln -sf /usr/local/scala-2.10.4/ /usr/local/scala
[img]http://img.blog.csdn.net/20160331181142387?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

 
3.4.3 配置环境变量

更改全局配置文件/etc/profile
# vim /etc/profile
在JAVA_HOME最后添加:
export SCALA_HOME=/usr/local/scala           //添加scala home
更改path路径,添加scala环境
export PATH=.:$JAVA_HOME/bin: $SCALA_HOME/bin:$PATH               //将scala路径添加进环境变量
[img]http://img.blog.csdn.net/20160331181241434?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

注意:在修改完profile后,需要输入以下命令进行更新,否则不会立即生效:
       # source /etc/profile
 
3.4.4 验证
输入scala -version验证是否已配置成功
# scala -version
[img]http://img.blog.csdn.net/20160331181337841?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

 
3.5 每台机安装ssh并配置无密码连接(安装openssh使用root,其他使用spark)
3.5.1 安装openssh
# yum install -y openssh-server
[img]http://img.blog.csdn.net/20160331181446529?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

注意:从这里开始使用spark用户,执行命令su - spark切换到spark用户

3.5.2 生成密钥
# ssh-keygen -t rsa -P ''(然后回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
[img]http://img.blog.csdn.net/20160331181618764?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

 
3.5.3 分享公钥到其他主机

在每台机上将公钥拷贝到要免登陆的机器上
            # ssh-copy-id iZ237654q6qZ
            # ssh-copy-id iZ23pd81xqaZ
            # ssh-copy-id iZ23mr5ukpzZ
            # ssh-copy-id iZ23v8c9mqpZ
[img]http://img.blog.csdn.net/20160331181709905?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
 
3.5.4 验证是否免密码

输入以下命令,如果没有提示输入密码就直接登入,则配置成功:
         # ssh iZ23mr5ukpzZ
[img]http://img.blog.csdn.net/20160331181750858?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
验证成功后退出登录:
         # exit
[img]http://img.blog.csdn.net/20160331181818436?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
3.6 每台机关闭防火墙等服务(root)
# service iptables stop
# chkconfig iptables off                     //关闭开机启动防火墙
 
 
4 spark部署(spark用户)
4.1 下载spark
下载地址:http://mirrors.hust.edu.cn/apache/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz
 
4.2 配置spark环境变量
解压到/home/spark目录
            $ tar -zxvfspark-1.6.0-bin-hadoop2.6.tgz


            建立软链接
            $ ln -sf spark-1.6.0-bin-hadoop2.6spark
[img]http://img.blog.csdn.net/20160331182051797?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
配置环境变量,编辑/home/spark目录下的bash_profile
$ vim ~/.bash_profile
添加以下两行(如果原来里面最后有path相关的两行,先删掉):
export SPARK_HOME=/home/spark/spark
export PATH=.:$SPARK_HOME/bin:$PATH
[img]http://img.blog.csdn.net/20160331182129500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
配置完成后同样的source以下,使之生效
$ source ~/.bash_profile
 
4.3 配置spark
首先新建好spark用到的目录(使用root用户,只有这里使用root用户,每台机):
$ mkdir /data                   //存储数据的总目录
$ mkdir /data/spark                  //spark数据存储主目录
$ mkdir /data/spark/local       //spark存储本地数据的目录
$ mkdir /data/spark/log          //spark存储日志的目录
$ mkdir /data/spark/work      //spark存储worker日志等信息的目录
$ chmod -R 777 /data/            //将/data目录权限设置为最大
[img]http://img.blog.csdn.net/20160331182210266?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
 
4.3.1 配置spark-env.sh
       Spark-env.sh文件中配置了spark运行时的一些环境、依赖项以及master和slaver的资源配置。        
$ cd spark              //进入spark目录        
$ cp conf/spark-env.sh.template conf/spark-env.sh              //将spark-env.sh.template复制一份为spark-env.sh
[img]http://img.blog.csdn.net/20160331182301782?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast 
因为我们是部署standalone模式,可以参考配置文件中注释项的提示:
[img]http://img.blog.csdn.net/20160331182351829?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[img]http://img.blog.csdn.net/20160331182402314?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[img]http://img.blog.csdn.net/20160331182415876?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
添加以下内容:

配置项

说明

SPARK_LOCAL_IP= 10.47.110.38

本机ip或hostname(不同主机配置不同)

SPARK_LOCAL_DIRS=/data/spark/local

配置spark的local目录

 

 

SPARK_MASTER_IP= 10.47.110.38

master节点ip或hostname

SPARK_MASTER_WEBUI_PORT=8080

web页面端口

SPARK_WORKER_CORES=2

Worker的cpu核数

SPARK_WORKER_MEMORY=8g

worker内存大小

SPARK_WORKER_DIR=/data/spark/work

worker目录

 

 

export SPARK_MASTER_OPTS="-Dspark.deploy.defaultCores=4"

spark-shell启动使用核数

export SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.appDataTtl=604800"

worker自动清理及清理时间间隔

 

 

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://systex/user/spark/applicationHistory"

history server页面端口、备份数、log日志在HDFS的位置(注意,需要在HDFS上新建对应的路径)

 

 

SPARK_LOG_DIR=/data/spark/log

配置Spark的log日志目录

 

 

export JAVA_HOME=/usr/local/jdk/

配置java路径

export SCALA_HOME=/usr/local/scala/

配置scala路径

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop

配置hadoop的lib路径

export HADOOP_CONF_DIR=/etc/hadoop/conf

配置hadoop的配置路径

 
4.3.2 配置spark-defaults.conf
Spark-default.conf文件中主要配置的是与在spark上运行任务有关的一些参数,以及对executor等的配置。
[img]http://img.blog.csdn.net/20160331182458705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
添加以下内容:

配置项

说明

spark.eventLog.enabled  true

eventLog是否生效(建议开启,可以对已完成的任务记录其详细日志)

spark.eventLog.compress  true

eventLog是否启用压缩(cpu性能好的情况下建议开启,以减少内存等的占用)

spark.eventLog.dir     hdfs://systex/user/spark/applicationHistory

eventLog的文件存放位置,与spark-env.sh中的history server配置位置一致

 

 

spark.broadcast.blockSize       8m

广播块大小

spark.executor.cores    1

Executor的cpu核数

spark.executor.memory   512m

Executor的内存大小

spark.executor.heartbeatInterval        20s

Executor心跳交换时间间隔

spark.files.fetchTimeout        120s

文件抓取的timeout

 

 

spark.task.maxFailures  6

作业最大失败次数(达到此次数后,该作业不再继续执行,运行失败)

spark.serializer        org.apache.spark.serializer.KryoSerializer

设置序列化机制(默认使用java的序列化,但是速度很慢,建议使用Kryo)

spark.kryoserializer.buffer.max         256m

序列化缓冲大小

 

 

spark.akka.frameSize    128

Akka调度帧大小

 

 

spark.default.parallelism    20

默认并行数

 

 

spark.network.timeout   300s

最大网络延时

 

 

spark.speculation       true

Spark推测机制(建议开启)

[img]http://img.blog.csdn.net/20160331182522064?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast


4.3 配置slaves
在conf目录下有slaves文件,在其中配置slaves的hostname
$ cp conf/slaves.template conf/slaves
$ vim conf/slaves
[img]http://img.blog.csdn.net/20160331182618471?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
添加各个slave节点的hostname:
[img]http://img.blog.csdn.net/20160331182636565?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
至此,我们就将spark需要配置的东西全部配置完成,将spark整个目录复制到其他主机:
            $scp -r /home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23pd81xqaZ:/home/spark/
            $scp -r /home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23mr5ukpzZ:/home/spark/
$ scp -r/home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23v8c9mqpZ:/home/spark/
 
在相应的主机创建对应的spark软链接,并将spark-env.shSPARK_LOCAL_IP改为对应的ip即可。
 
 
5. 启动spark并测试(spark用户)
现在我们启动spark,在master节点执行以下命令:
$ cd /home/spark/spark
$ ./sbin/start-all.sh                    //启动master和slaves
$ ./sbin/start-history-server.sh        //启动history server


使用jps命令查看是否成功启动:
检查进程是否启动【在master节点上出现“Master”,在slave节点上出现“Worker”】
[img]http://img.blog.csdn.net/20160331182726643?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[img]http://img.blog.csdn.net/20160331182735752?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
## 监控页面URL http:// 120.27.153.137:8080/
[img]http://img.blog.csdn.net/20160331182810596?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
运行spark-pi:
spark-submit  --master spark://10.47.110.38:7077 --classorg.apache.spark.examples.SparkPi --name Spark-Pi /home/spark/spark/lib/spark-examples-1.6.0-hadoop2.6.0.jar
能看到如下结果:
[img]http://img.blog.csdn.net/20160331182845956?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[img]http://img.blog.csdn.net/20160331182901222?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
成功!
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-01 16:58:16  
云计算 最新文章
CentOS7上安装Zabbix(快速安装监控工具Zab
十分钟搭建NeuralStyle服务
solr入门之拼写纠错深入研究及代码Demo
3个netty5的例子,简单介绍netty的用法
RedhatOpenshift云平台注册使用
Akka框架——第一节:并发编程简介
Hadoop实战:Linux报tmp磁盘存储不足
linux安装thrift
感觉快更快规划计划高考韩国
solr相似匹配
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-20 7:31:37
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --