赞
踩
步骤一:官网下载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
作用:可以查看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历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
为了能从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/
start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh
/export/server/hadoop/bin/mapred --daemon start historyserver
/export/server/hadoop/bin/mapred --daemon stop historyserver
/export/server/spark/sbin/start-history-server.sh
/export/server/spark/sbin/stop-history-server.sh
可以查看历史spark任务的资源情况,DAG图
/export/server/hadoop/bin/yarn logs -applicationId $appid
yarn application -kill $appid
1、MetaStore需要存在并开机
2、Spark知道MetaStore在哪里
前提是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代码测试
创建一个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等软件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。