spark教程(一)-入门与安装

spark 简介 

建议先阅读我的博客 大数据基础架构

spark 一个通用的计算引擎,专门为大规模数据处理而设计,与 mapreduce 类似,不同的是,mapreduce 把中间结果 写入 hdfs,而 spark 直接写入 内存,这使得它能够实现实时计算。

spark 由 scala 语言开发,他能够和 scala 完美结合,同时实现了 java、python、R 等接口。

 

安装与集群搭建

第一步:安装环境

1. 安装java:很简单,请自行百度

2. 安装 hadoop 集群:具体参考我的博客 hadoop 集群搭建

3. 安装 scala:spark tar 包带有 scala 依赖,所以无需专门安装

4. python2.7 以上版本:如果要使用 pyspark 才需要安装

 

第二步:下载并安装

1. 官网下载 spark

下载地址 spark

注意选择 hadoop 对应的版本

spark教程(一)-入门与安装_第1张图片

 

2. 解压 tar 包

上传至集群的每个节点,解压,设置环境变量

export SPARK_HOME=/usr/lib/spark
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$SPARK_HOME/bin:$PATH

 

3. 配置 spark

进入 spark 解压目录,需要配置 conf/slaves,conf/spark-env.sh 两个文件

注意这两个文件是不存在的,需要 cp 复制一下

cp slaves.template slaves
cp spark-env.sh.template spark-env.sh

 

slaves

末尾去掉 localhost,加上以下内容

hadoop10
hadoop11
hadoop12
hadoop13

 

spark-env.sh

加上以下内容

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=1G

设置 spark 的主节点 和 端口;

spark_worker_memory 表示计算时使用的内存,越大越好,spark 是基于内存的计算

 

4. 向其他节点远程下发配置

scp -r conf/ root@hadoop11:/usr/lib/spark
scp -r conf/ root@hadoop12:/usr/lib/spark
scp -r conf/ root@hadoop13:/usr/lib/spark

 

5. 启动 spark

cd /usr/lib/spark/sbin、
./start-all.sh

停止就是对应的 stop

 

6. 验证是否启动成功

6.1 jsp 查看进程

主节点显示 master 和 worker 两个进程

从节点显示 worker 进程

 

6.2 浏览器访问 http://192.168.10.10:8080/

spark教程(一)-入门与安装_第2张图片

 

第三步:操作 spark 集群

客户端操作 hadoop 集群的命令都在 spark 的 bin 目录下

1. spark-shell 模式  【 scala 模式】

输入命令

spark-shell

# 也可以设置参数
spark-shell --master spark://hadoop10:7077 --executor-memory 600m

spark教程(一)-入门与安装_第3张图片 

 

2. pyspark 模式  【python 模式】

输入命令 pyspark 即可

[root@hadoop10 spark]# bin/pyspark 
Python 2.7.12 (default, Oct  2 2019, 19:43:15) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
19/10/02 22:08:17 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.4
      /_/

Using Python version 2.7.12 (default, Oct  2 2019 19:43:15)
SparkSession available as 'spark'.
>>> 

 

如果出现 NameError: name 'memoryview' is not defined,说明 python 版本不对,2.7 及以上

如果出现未导入包什么的,请自行解决,一般是 python 没装好

 

若是想用 python 程序直接启动 pyspark,需配置 /etc/profile

# python can call pyspark directly
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/pyspark:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH

 

 

 

参考资料:

https://www.cnblogs.com/swordfall/p/7903678.html  安装

https://www.jianshu.com/p/5626612bf10c  安装

https://blog.csdn.net/penyok/article/details/81483527   安装

你可能感兴趣的:(spark教程(一)-入门与安装)