文档章节

Spark学习之环境的安装

datapro
 datapro
发布于 2015/06/21 22:15
字数 1573
阅读 118
收藏 0

1、准备工作

    ○ 下载工具  

    scala-2.9.3:一种编程语言,下载地址:http://www.scala-lang.org/files/archive/scala-2.9.3.tgz
    spark-1.4.0:必须是编译好的Spark,如果下载的是Source,则需要自己根据环境使用SBT或者MAVEN重新编译才能使用,编译好的Spark下载地址:http://mirror.bit.edu.cn/apache/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.4.tgz

    ○ 搭建hadoop环境,此处不再详细描述如何搭建,请自行百度。

2、安装scala-2.9.3

解压scala-2.9.3.tgz
#tar -zxvf scala-2.9.3.tgz
配置SCALA_HOME
#vi /etc/profile
添加如下环境
export SCALA_HOME=/home/apps/scala-2.9.3
export PATH=.:$SCALA_HOME/bin:$PATH
测试scala安装是否成功
直接输入 scala

3、安装spark-1.4.0

解压spark-1.4.0.tgz
#tar -zxvf spark-1.4.0.tgz
配置SPARK_HOME
#vi /etc/profile
添加如下环境
export SCALA_HOME=/home/apps/spark-1.4.0
export PATH=.:$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

4、修改Spark配置文件

复制slaves.template和 spark-env.sh.template各一份
#cp  spark-env.sh.template  spark-env.sh
#cp  slaves.template slaves
slaves,此文件是指定子节点的主机,直接添加子节点主机名即可
在spark-env.sh末端添加如下几行:
#JDK安装路径
export JAVA_HOME=/root/app/jdk
#SCALA安装路径
export SCALA_HOME=/root/app/scala-2.9.3
#主节点的IP地址
export SPARK_MASTER_IP=192.168.1.200
#分配的内存大小
export SPARK_WORKER_MEMORY=200m
#指定hadoop的配置文件目录
export HADOOP_CONF_DIR=/root/app/hadoop/etc/hadoop
#指定worker工作时分配cpu数量
export SPARK_WORKER_CORES=1
#指定spark实例,一般1个足以
export SPARK_WORKER_INSTANCES=1
#jvm操作,在spark1.0之后增加了spark-defaults.conf默认配置文件,该配置参数在默认配置在该文件中
export SPARK_JAVA_OPTS
#spark-defaults.conf中还有如下配置参数
SPARK.MASTER    //spark://hostname:8080
SPARK.LOCAL.DIR    //spark工作目录(做shuffle的目录)
SPARK.EXECUTOR.MEMORY //spark1.0抛弃SPARK_MEM参数,使用该参数

5、测试spark安装是否成功

在主节点机器上启动顺序
1、先启动hdfs(./sbin/start-dfs.sh)
2、启动spark-master(./sbin/start-master.sh)
3、启动spark-worker(./sbin/start-slaves.sh)
4、jps查看进程有
    主节点:namenode、secondrynamnode、master
    从节点:datanode、worker
5、启动spark-shell
15/06/21 21:23:47 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/06/21 21:23:47 INFO spark.SecurityManager: Changing view acls to: root
15/06/21 21:23:47 INFO spark.SecurityManager: Changing modify acls to: root
15/06/21 21:23:47 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(root); users with modify permissions: Set(root)
15/06/21 21:23:47 INFO spark.HttpServer: Starting HTTP Server
15/06/21 21:23:47 INFO server.Server: jetty-8.y.z-SNAPSHOT
15/06/21 21:23:47 INFO server.AbstractConnector: Started SocketConnector@0.0.0.0:38651
15/06/21 21:23:47 INFO util.Utils: Successfully started service 'HTTP class server' on port 38651.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.4.0
      /_/

Using Scala version 2.10.4 (Java HotSpot(TM) Client VM, Java 1.7.0_65)
Type in expressions to have them evaluated.
Type :help for more information.
15/06/21 21:23:54 INFO spark.SparkContext: Running Spark version 1.4.0
15/06/21 21:23:54 INFO spark.SecurityManager: Changing view acls to: root
15/06/21 21:23:54 INFO spark.SecurityManager: Changing modify acls to: root
15/06/21 21:23:54 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(root); users with modify permissions: Set(root)
15/06/21 21:23:56 INFO slf4j.Slf4jLogger: Slf4jLogger started
15/06/21 21:23:56 INFO Remoting: Starting remoting
15/06/21 21:23:57 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriver@192.168.1.200:57658]
15/06/21 21:23:57 INFO util.Utils: Successfully started service 'sparkDriver' on port 57658.
15/06/21 21:23:58 INFO spark.SparkEnv: Registering MapOutputTracker
15/06/21 21:23:58 INFO spark.SparkEnv: Registering BlockManagerMaster
15/06/21 21:23:58 INFO storage.DiskBlockManager: Created local directory at /tmp/spark-4f1badf6-1e92-47ca-98a2-6d82f4882f15/blockmgr-530e4335-9e59-45d4-b9fb-6014089f5a00
15/06/21 21:23:58 INFO storage.MemoryStore: MemoryStore started with capacity 267.3 MB
15/06/21 21:23:59 INFO spark.HttpFileServer: HTTP File server directory is /tmp/spark-4f1badf6-1e92-47ca-98a2-6d82f4882f15/httpd-4b2cca3c-e8d4-4ab3-9c3d-38ec579ec873
15/06/21 21:23:59 INFO spark.HttpServer: Starting HTTP Server
15/06/21 21:23:59 INFO server.Server: jetty-8.y.z-SNAPSHOT
15/06/21 21:23:59 INFO server.AbstractConnector: Started SocketConnector@0.0.0.0:51899
15/06/21 21:23:59 INFO util.Utils: Successfully started service 'HTTP file server' on port 51899.
15/06/21 21:23:59 INFO spark.SparkEnv: Registering OutputCommitCoordinator
15/06/21 21:23:59 INFO server.Server: jetty-8.y.z-SNAPSHOT
15/06/21 21:23:59 INFO server.AbstractConnector: Started SelectChannelConnector@0.0.0.0:4040
15/06/21 21:23:59 INFO util.Utils: Successfully started service 'SparkUI' on port 4040.
15/06/21 21:23:59 INFO ui.SparkUI: Started SparkUI at http://192.168.1.200:4040
15/06/21 21:24:00 INFO executor.Executor: Starting executor ID driver on host localhost
15/06/21 21:24:00 INFO executor.Executor: Using REPL class URI: http://192.168.1.200:38651
15/06/21 21:24:01 INFO util.Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 59385.
15/06/21 21:24:01 INFO netty.NettyBlockTransferService: Server created on 59385
15/06/21 21:24:01 INFO storage.BlockManagerMaster: Trying to register BlockManager
15/06/21 21:24:01 INFO storage.BlockManagerMasterEndpoint: Registering block manager localhost:59385 with 267.3 MB RAM, BlockManagerId(driver, localhost, 59385)
15/06/21 21:24:01 INFO storage.BlockManagerMaster: Registered BlockManager
15/06/21 21:24:02 INFO repl.SparkILoop: Created spark context..
Spark context available as sc.
15/06/21 21:24:03 INFO hive.HiveContext: Initializing execution hive, version 0.13.1
15/06/21 21:24:04 INFO metastore.HiveMetaStore: 0: Opening raw store with implemenation class:org.apache.hadoop.hive.metastore.ObjectStore
15/06/21 21:24:04 INFO metastore.ObjectStore: ObjectStore, initialize called
15/06/21 21:24:04 INFO DataNucleus.Persistence: Property datanucleus.cache.level2 unknown - will be ignored
15/06/21 21:24:04 INFO DataNucleus.Persistence: Property hive.metastore.integral.jdo.pushdown unknown - will be ignored
15/06/21 21:24:05 WARN DataNucleus.Connection: BoneCP specified but not present in CLASSPATH (or one of dependencies)
15/06/21 21:24:07 WARN DataNucleus.Connection: BoneCP specified but not present in CLASSPATH (or one of dependencies)
15/06/21 21:24:14 INFO metastore.ObjectStore: Setting MetaStore object pin classes with hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"
15/06/21 21:24:14 INFO metastore.MetaStoreDirectSql: MySQL check failed, assuming we are not on mysql: Lexical error at line 1, column 5.  Encountered: "@" (64), after : "".
15/06/21 21:24:15 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as "embedded-only" so does not have its own datastore table.
15/06/21 21:24:15 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as "embedded-only" so does not have its own datastore table.
15/06/21 21:24:18 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as "embedded-only" so does not have its own datastore table.
15/06/21 21:24:18 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as "embedded-only" so does not have its own datastore table.
15/06/21 21:24:19 INFO metastore.ObjectStore: Initialized ObjectStore
15/06/21 21:24:20 WARN metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 0.13.1aa
15/06/21 21:24:24 INFO metastore.HiveMetaStore: Added admin role in metastore
15/06/21 21:24:24 INFO metastore.HiveMetaStore: Added public role in metastore
15/06/21 21:24:24 INFO metastore.HiveMetaStore: No user is added in admin role, since config is empty
15/06/21 21:24:25 INFO session.SessionState: No Tez session required at this point. hive.execution.engine=mr.
15/06/21 21:24:25 INFO repl.SparkILoop: Created sql context (with Hive support)..
SQL context available as sqlContext.
6、使用wordcount例子测试,启动spark-shell之前先上传一份文件到hdfs
7、代码:
    val file = sc.textFile("hdfs://hadoop.master:9000/data/intput/wordcount.data")
    val count = file.flatMap(line=>(line.split(" "))).map(word=>(word,1)).reduceByKey(_+_)
    count.collect()
    count.textAsFile("hdfs://hadoop.master:9000/data/output")
理解上面的代码你需要学习scala语言
直接打印结果:hadoop dfs -cat /data/output/p*
(im,1)
(are,1)
(yes,1)
(hi,2)
(do,1)
(no,3)
(to,1)
(lll,1)
(,3)
(hello,3)
(xiaoming,1)
(ga,1)
(world,1)

    环境搭建完成了...


© 著作权归作者所有

下一篇: Spark初探
datapro
粉丝 16
博文 37
码字总数 22063
作品 0
广州
高级程序员
私信 提问
加载中

评论(0)

Spark伪分布式环境配置与Scala、Java、Python编程实例

本文通过收集Spark中的基本概念、在Mac上配置伪分布式环境并分别用Python、Scala、Java三种语言独立编程实现了分布式版的WordCount程序以进行测试学习,来熟悉Spark的常用操作。 本文原发布于...

赵大寳Note
03/09
0
0
Spark2.1.0之运行环境准备

学习一个工具的最好途径,就是使用它。这就好比《极品飞车》玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘、用脚感受刹车与油门的力道。在IT领域,在深入了解一个...

beliefer
2018/05/04
0
0
Hadoop完全分布式集群安装Spark

应用场景 当我们安装好Hadoop分布式集群后,默认底层计算是采用MapReduce,速度比较慢,适用于跑批场景,而Spark可以和hadoop完美的融合,Spark提供了更强劲的计算能力,它基于内存计算,速度...

wsc449
2017/11/16
0
0
Spark学习记录(一)Spark 环境搭建以及worldCount示例

安装Spark ------------------- 首先,安装spark之前需要先安装scala,并且安装scala的版本一定要是将要安装的spark要求的版本。比如spark2.1.0 要求scala 2.11系列的版本,不能多也不能少 ...

我爱春天的毛毛雨
2018/11/14
326
0
Spark --最全的安装部署 local本地模式spark安装 spark--standalone集群安装 spark-HA高可用安装 spark on yarn安装

安装部署之前,先来看看为什么要安装它这个版本!!! 我们安装的是 Spark2.2.0 目前企业中使用最多的稳定版 使用Apache版还是CDH版? 1.Apache版直接下载官方编译好的基于Apache Hadoop的Spa...

kismetG
04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Yum命令即将灭亡,快来一起拥抱DNF

一、基本介绍 DNF是Dandified yum的缩写,DNF三个字母却没有一个来自Yum。DNF也是基于RPM的包管理工具,其首先在Fedora系统中出现,已经成为Fedora系统的默认的包管理工具。 CentOS8启用了D...

听风的小猪
5分钟前
5
0
HashMap的实现原理

HashMap的实现原理,一句话概括下:HashMap底层是一个数组,数组的每个元素是一个链表。 下面为HashMap构造函数的源码: public HashMap(int initialCapacity, float loadFactor) {//初...

水木星辰
13分钟前
11
0
如何在悬停而不是单击时使Twitter Bootstrap菜单下拉列表

问题: I'd like to have my Bootstrap menu automatically drop down on hover, rather than having to click the menu title. 我想让我的Bootstrap菜单在悬停时自动下拉,而不必单击菜单标......

javail
17分钟前
11
0
Binomial

题目:https://www.codewars.com/kata/540d0fdd3b6532e5c3000b5b/ 主要思路是提取系数 a和系数b,以及指数e。然后使用二项式定理计算每一项的系数,最后将结果转换成字符串。 在转换过程中,...

reter
22分钟前
10
0
老白学编程 - “autotools” 的实例分析-netdata

概述 学了几天autotool系列的知识, 找个实际项目, 对照着分析一下,由于知识有限,不知道能深入到什么程度, 期待。 Netdata Netdata是个监控软件,做的很不错, "秒级"是他的一个特色,详...

机械猿
26分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部