CDH 使用原生 Apache Spark
前言
需要使用 Spark 2.x 版本
在 Spark 官网中下载的 Spark 包中是有 spark-submit、spark-shell、spark-sql,但是在 Cloudera 版 Spark 中是没有spark-sql的
安装
官网下载原生 Apache Spark 2.x 版本,直接解压即可
1 2
| tar -zxvf spark-2.4.4-bin-hadoop2.7.tgz -C /opt mv spark-2.4.4-bin-hadoop2.7 spark
|
设置环境变量 HADOOP_HOME、HADOOP_CONF_DIR、YARN_CONF_DIR、SPARK_HOME
1 2 3 4 5 6
| vim /etc/profile export HADOOP_HOME=/opt/cloudera/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1470567/lib/hadoop export HADOOP_CONF_DIR=/etc/hadoop/conf export YARN_CONF_DIR=/etc/hadoop/conf export SPARK_HOME=/opt/spark export PATH=$SPARK_HOME/bin:$PATH
|
支持 Hive
1
| cp -r /etc/hive/conf $SPARK_HOME/conf
|
上传本地的 Spark jar 包到 HDFS 上
1 2 3 4 5 6
| hadoop fs -mkdir -p /user/spark/jars hadoop fs -put ${SPARK_HOME}/jars/* /user/spark/jars
# 在spark-default.conf添加一行,如果HDFS 是 HA 的话,请填 nameserver 地址 # spark.yarn.jars hdfs://nameserver1/user/spark/jars/* spark.yarn.jars hdfs://master-240:8020/user/spark/jars/*
|
解决 native 告警
1 2 3 4 5
| vim /etc/profile export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native/
vim $SPARK_HOME/conf/spark-env.sh export LD_LIBRARY_PATH=$JAVA_LIBRARY_PATH
|
使用
spark-sql
1 2 3 4 5
| spark-sql \ --master yarn \ --deploy-mode client \ --executor-memory 1G \ --num-executors 10
|
spark-shell
1 2 3 4 5
| spark-shell \ --master yarn \ --deploy-mode client \ --executor-memory 1G \ --num-executors 10
|
spark-submit
1 2 3 4 5
| spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode client \ /opt/spark/examples/jars/spark-examples_2.11-2.4.4.jar 10
|
最后
如果不知道 HADOOP_HOME 路径
参考链接