CentOS 7 安装Spark-2.1.1-bin-hadoop-2.7(standalone & yarn)

CentOS 7 安装Spark-2.1.1-bin-hadoop-2.7

1 local模式(1台节点)

这种版本主要是用来自己测试,自己玩一下内部Hive的连接与外部Hive的连接,这种模式安装很简单 ,官网下载地址

  1. 从官网下载对应的离线安装版本,上传到服务器。
  2. 解压tgz格式的离线安装包指定的目录。
  3. 更改目录名称
  4. 进入spark_home目录,在bin目录下启动spark-shell,不报错说明正常本地模式安成功

1.1 使用local模式访问内部Hive

# 解压
tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module/

# 进入并启动spark-shell
cd /opt/module
mv spark-2.1.1-bin-hadoop2.7/ spark2.1.1-hadoop2.7
cd /opt/module/spark2.1.1-hadoop2.7

# 启动spark sql查询内置的Hive
[shufang@shufang101 spark2.1.1-hadoop2.7]$ bin/spark-shell
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).
21/01/15 22:00:54 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
21/01/15 22:01:10 WARN ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.0
21/01/15 22:01:10 WARN ObjectStore: Failed to get database default, returning NoSuchObjectException
21/01/15 22:01:12 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException
Spark context Web UI available at http://192.168.93.101:4040
Spark context available as 'sc' (master = local[*], app id = local-1610719256707).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.1.1
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_144)
Type in expressions to have them evaluated.
Type :help for more information.

scala> spark.sql("show tables").show
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
+--------+---------+-----------+

1.2 验证是否成功

会在当前SPARK_HOME的目录下创建

  • 数据存储本地仓库: spark-warehouse
  • 元数据目录:metastore_db
  • 以及元数据库derby的日志:derby.log

具体目录结构如下图。
在这里插入图片描述

到这里你的local模式就完毕了,解压即用!

2 standalone模式(3台节点)

解压命名操作与local模式一致!!,假设这里命名为:spark_alone

2.1 vim slaves指定worker

# vim slaves  
shufang101
shufang102
shufang103

2.2 vim spark-env.sh 配置依赖的环境

# vim spark-env.sh 
EXPORT JAVA_HOME=/opt/module/jdk1.8.0_144
SPARK_MASTER_HOST=shufang102  #指定master的节点
SPARK_MASTER_PORT=7077 #此处的7077类似于hadoop的8020|9000通信端口

# 分发spark目录到其它节点
xsync spark

2.3 配置历史服务器【可选配】

# 历史服务器hdfs日志地址
hadoop fs -mkdir /spark_directory

# 1、vim spark-default.conf 
spark.eventLog.enabled 		    true
spark.eventLog.dir   		    hdfs://shufang101:9000/spark_directory

# 2、vim spark-env.sh
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://shufang101:9000/spark_directory
-Dspark.history.retainedApplication=30
"

# 3、启动服务于历史服务器
sbin/start-all.sh
sbin/start-history-server.sh 

# 4、通过master ip与配置的端口18080进行访问
https://shufang102:18080  #historyserver

2.4 standalone配置HA高可用【建议配置】

依赖Zookeeper服务,所以得事先启动ZK集群。

# vim spark-env.sh 

export JAVA_HOME=/opt/module/jdk1.8.0_144
# 1、高可用将这2行注释掉
# SPARK_MASTER_HOST=SHUFANG102 
# SPARK_MASTER_PORT=7077 #此处的7077类似于hadoop的8020通信端口

# 2、配置ZK和WebUI访问端口
SPARK_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=shufang101,shufang102,shufang103
-Dspark.deploy.zookeeper.dir=/spark
"
# 3、分发配置到其它节点
xsync conf
start-all.sh   shufang102:8989

# 4、切换到其它节点启动standby的master节点
ssh shfuang103  
start-master.sh shfuang103  #此时就高可用了,STANDBY,可以使用shufang103:8989访问

2.5 测试standalone

cd /opt/module/spark_alone
# 测试pi,`\`是linux中的换行连续符号,将多行shell连接成一个指令
bin/spark-submit \    
--class org.apache.spark.examples.SparkPi \
--master spark://shufang102:7077 \
example/jars/spark-examples_2.11-2.1.1.jar \
10

3 yarn模式(1台节点)

yarn是在spark后面出来的一个调度框架,调度策略比spark自身更加完善,国内使用较多,下面将讲解怎么配置和使用yarn模式。

3.1 vim spark-env.sh添加Yarn相关的配置

# vim spark-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
YARN_CONF_DIR=/opt/module/hadoop-2.7.7/etc/hadoop

3.2 配置历史服务器

与上面2.3的standalone模式一致,同时还需要添加一个配置

# vim spark-default.conf
spark.yarn.historyServer.address=shufang101:18080
spark.history.ui.port=18080

#启动历史服务器
sbin/start-history-server.sh

#通过webui页面进行访问 
http://shufang101:18080

3.3 基于yarn-cluster模式提交spark任务

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
examples/jars/spark-examples_2.11-2.1.1.jar \
10
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值