PySpark安装与使用

一、Spark On Yarn

1.1 配置Spark On Yarn

步骤一:官网下载spark

步骤二:修改spark/conf/spark-env.sh文件,添加yarn和hadoop的路径即可

HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
YARN_CONF_DIR=/export/server/hadoop/etc/hadoop

测试:先启动hdfs集群和Yarn集群

测试1:以yarn模式启动pyspark客户端,能启动成功说明spark on yarn环境没问题

spark/bin/pyspark --master yarn

测试二:使用spark-submit客户端提交spark任务(Python环境有pyspark)

spark/bin/spark-submit \
--master yarn \
--conf "spark.pyspark.driver.python=/root/anaconda3/bin/python3" \
--conf "spark.pyspark.python=/root/anaconda3/bin/python3" \
/export/server/spark/examples/src/main/python/pi.py \
10

1.2 配置历史服务

作用:可以查看spark程序的历史日志,使用命令查看

export/server/hadoop/bin/yarn logs -applicationId $appid

1、修改spark-default.conf.template名称

mv spark-defaults.conf.template spark-defaults.conf

2、修改spark-default.conf文件,配置日志存储路径(写)

spark.eventLog.enabled          true
spark.eventLog.dir              hdfs://node1:8020/directory

3、修改spark-env.sh文件,添加如下配置,注意:hdfs上必要先创建hdfs://node1:8020/directory 这个路径

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://node1:8020/directory 
-Dspark.history.retainedApplications=30"

参数1含义:WEBUI访问的端口号为18080

参数2含义:指定历史服务器日志存储路径(读)

参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

1.3 配置查看历史日志

为了能从Yarn上关联到Spark历史服务器,需要配置spark历史服务器关联路径。

目的:点击yarn(8088)上spark任务的history按钮,进入的是spark历史服务器(18080),而不再是yarn历史服务器(19888)

1、修改配置文件/opt/module/spark-yarn/conf/spark-defaults.conf

spark.yarn.historyServer.address=node1:18080
spark.history.ui.port=18080

2、重启Spark历史服务

sbin/stop-history-server.sh 
sbin/start-history-server.sh 

3、测试

spark/bin/spark-submit \
--master yarn \
--conf "spark.pyspark.driver.python=/root/anaconda3/bin/python3" \
--conf "spark.pyspark.python=/root/anaconda3/bin/python3" \
/export/server/spark/examples/src/main/python/pi.py \
10

4、Web页面查看日志:http://node1:8088/cluster

点击“history”跳转到http://node1:18080/

1.3 Spark On Yarn使用方式

1.3.1 启动HDFS集群命令
start-dfs.sh
1.3.2 关闭HDFS集群命令
stop-dfs.sh
1.3.3启动YARN集群命令
start-yarn.sh
1.3.4 关闭YARN集群命令
stop-yarn.sh
1.3.5 YARN集群历史服务器的启动和停止
/export/server/hadoop/bin/mapred --daemon start historyserver
/export/server/hadoop/bin/mapred --daemon stop historyserver
1.3.6 启动Spark HistoryServer服务,在node1执行命令
/export/server/spark/sbin/start-history-server.sh
/export/server/spark/sbin/stop-history-server.sh

可以查看历史spark任务的资源情况,DAG图

1.3.7 查看日志
/export/server/hadoop/bin/yarn logs -applicationId $appid
1.3.8 杀掉spar程序
yarn application -kill $appid

二、Spark On Hive

1、MetaStore需要存在并开机

2、Spark知道MetaStore在哪里

2.1 在Spark上配置Hive

前提是hive已经安装好了,在hadoop和yarn上配置好了

步骤一:在spark/conf里新增hive-site.xml,里面放:

<configuration>
    <property>
        <name>hive.metastore.warestore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node1.itcast.cn:9083</value>
    </property>
</configuration>

步骤二:将mysql的驱动jar包放入spark的jars目录

因为要连接元数据,会有部分功能连接到MySQL库,需要mysq驱动包

步骤三:启动hive的MetaStore服务

测试一:在spark的bin/pyspark:在里面直接写spark.sql(“sql语句”).show()即可,也可以bin/pyspark --master yarn运行pyspark测试spark on Yarn的环境

测试二:Python代码测试
在这里插入图片描述

2.2 Hive启动

创建一个hive的日志文件夹

mkdir /export/server/hive/logs

启动元数据管理服务(必须启动,否则无法工作)二选一

方式1:前台启动

bin/hive --service metastore 

方式2:后台启动,先创建日志文件夹

nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

在这里插入图片描述

启动客户端,二选一(当前先选择Hive Shell方式)

方式1:Hive Shell方式(可以直接写SQL): bin/hive
在这里插入图片描述
方式2:Hive ThriftServer方式(不可直接写SQL,需要外部客户端链接使用): nohup bin/hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 & 这就是后台一直开着,可以来连接datagrip等软件

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值