Spark- Linux下安装Spark

前期部署

1.JDK安装,配置PATH

可以参考之前配置hadoop等配置

2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压

[root@srv01 ~]# tar -xvzf  spark-1.6.-hadoop2..tgz /usr/spark-1.6.-hadoop2.

3.在 /usr 下创建软链接到目标文件夹

[root@srv01 usr]# ln -s spark-1.6.-bin-hadoop2.   spark

4.修改配置文件,目标目录 /usr/spark/conf/

[root@srv01 conf]# ls
docker.properties.template log4j.properties.template slaves.template spark-env.sh.template
fairscheduler.xml.template metrics.properties.template spark-defaults.conf.template
这里需要把spark-env.sh.template改名为spark-env.sh
export JAVA_HOME=/usr/jdk
#这个是单机版的配置,不能实现高可用
export SPARK_MASTER_IP=srv01
export SPARK_MASTER_PORT=

再配置slaves ,都是我的集群的机器的hostname

srv01
srv02
srv03

5.分发到集群各个机器上,再软链接一下,保持集群一致性,参考step-3

[root@srv01 usr]# scp -r spark-1.6.-bin-hadoop2.  srv02:/usr
[root@srv01 usr]# scp -r spark-1.6.1-bin-hadoop2.6  srv03:/usr

6.Spark-sell

配置好,启动spark-shell,注意记得先关闭防火墙(也可以将spark写进PATH中)

输入 sc ,如果显示下面的,表示安装正常

scala> sc
res0: org.apache.spark.SparkContext = org.apache.spark.SparkContext@18811c42

7.测试单词计算案例

scala> sc.textFile("/root/file.log").flatMap(_.split(" ")).map((_,)).reduceByKey(_+_).collect.toBuffer
res7: scala.collection.mutable.Buffer[(String, Int)] = ArrayBuffer((scala,), (spark,), (hive,), (hadoop,), (mapreduce,), (zookeeper,), (hello,), (redis,), (world,))

8.启动Spark集群模式(前提是3台机器的spark配置一样,配置文件spark-env.sh和slaves文件保持一致)

进入Spark的sbin目录下启动
./start-all.sh

这个脚本文件在sbin目录

通过Jps查看角色

[root@srv01 conf]# jps

13079 Master

13148 Worker  //这个worker的启动通过配置文件slaves

13234 Jps

下面是我的slaves的配置文件

srv01
srv02
srv03

slaves配置的决定了在哪几台机器上启动worker

下面的配置文件决定了在哪台机器上启动Master

启动Spark集群(如果有使用hdfs的场景,需要把hadoop的conf目录下的core-site.xml和dhfs-site.xml拷贝到spark的conf目录下,才能使用高可用的hdfs url)

 

然后在通过网页查看spark的相关信息:

http://192.168.1.88:8080/

执行第一个Spark程序

指定运行程序的主机名(Master)

./spark-submit --class org.apache.spark.examples.SparkPi --master spark://srv01:7077  --executor-memory 1G --total-executor-cores 2 /usr/spark-1.6.1-bin-hadoop2.6/lib/spark-examples-1.6.1-hadoop2.6.0.jar 500

IDEA上面编码使用集群上的spark运行程序

package com.rz.spark.base

import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext} object transactionApp {
def main(args: Array[String]): Unit = {
Logger.getLogger("org.apache.spark").setLevel(Level.OFF)
val conf = new SparkConf().setAppName(this.getClass.getSimpleName)
.setMaster("spark://hdp:7077")
val sc = new SparkContext(conf) val rdd1 = sc.parallelize(Array(1,2,3,4,5,6,7,8,9))
println(rdd1.partitions.length)
sc.stop()
}
}

  

Spark- Linux下安装Spark的更多相关文章

  1. 在linux上安装spark详细步骤

    在linux上安装spark ,前提要部署了hadoop,并且安装了scala. 提君博客原创 对应版本 >>提君博客原创  http://www.cnblogs.com/tijun/   ...

  2. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

  3. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  4. Linux下安装使用Solr

    Linux下安装使用Solr 1.首先下载Solr.mmseg4j分词包.tomcat并解压,这用google.百度都可以搜索得到下载地址. 2.因为要使用到中文分词,所以要设置编码,进入tomcat ...

  5. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  6. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  7. Linux下安装cmake

    cmake是一个跨平台的编译工具,特点是语句简单,编译高效,相对于原有的automake更为高效,接下来说明在Linux下安装cmake工具的过程 首先去cmake官网下载cmake安装包,下载界面网 ...

  8. linux下安装安装pcre-8.32

    linux下安装安装pcre-8.32 ./configure --prefix=/usr/local/pcre 出现以下错误 configure: error: You need a C++ com ...

  9. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

随机推荐

  1. JavaScript中推断一个对象是否为"空对象”

    JavaScript中推断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这种. 详细的代码实现和原理例如以下: / ...

  2. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序         本章节你将学到: SP中工作流的新功能: 理解工作流管理服务 ...

  3. hdu2141Can you find it?

     给你四个集合.要你从这四个集合中 各取出一个数出来,推断,取出的前三个数的和 是否等于第四个数. 数据比較大.我的做法是将 前两个集合全部数全部和的情况取出来, 然后二分查找第四个集合和第三集合 ...

  4. Leetcode Array 15 3sum

      思考的方向不对,即使用了多于别人几倍的时间,也不一定能够达到终点. 我的错误的想法(可以跳过):在leetcode上面做的第四道题,走路一个很大的弯路,收到之前做过的 Container With ...

  5. U-Boot中关于TEXT_BASE,代码重定位,链接地址相关说明

    都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start.S中)在FLASH上运行(一般情况 下),完成对硬件的初始化,包括看门狗,中断缓存等,并且负责把代码搬移到SDRAM ...

  6. 使用mysqld_multi 实现Mysql 5.6.36 + 5.7.18 单机多实例多版本安装

    Mysql 5.6.36 + 5.7.18 单机多实例多版本安装 随着硬件层面的发展,各种高性能服务器如雨后春笋般出现,但高性能服务器不免造成浪费, MySQL单机多实例,是指在一台物理服务器上运行多 ...

  7. web翻译——插件

    很多时候,可能我们web项目中需要的只是机械式的翻译,并不需要什么利用xml或者js json等等实现逼真翻译,那样工作量太大.这时候可能你就需要这几款小工具来帮助你.当然,如果 对翻译或者你的项目外 ...

  8. ios -- 极光推送《1》

    昨天公司项目要加入远程推送功能,自己做显然会很麻烦,所以用了极光的远程推送,下面我会讲如何制作推送证书并使用极光推送进行远程推送. 先讲讲怎么下载推送证书吧(前面的很简单要是知道的可以直接往下滑,简书 ...

  9. MySQL 忘记密码解决办法

    第一步: 关闭MySQL服务.  第二步: 打开DOS窗口,在里面输入安装MqSQL的目录本机为:C:\Program Files\MySQL\MySQL Server 5.6\bin 第三步: 在命 ...

  10. python 基础 2.1 if 流程控制(一)

    一.if  else 1.if 语句     if expression:   //注意if后有冒号,必须有        statement(s)     //相对于if缩进4个空格 注:pytho ...