1、下载spark安装包
http://spark.apache.org/downloads.html
高版本不存在cdh的编译版本,可以从官网下载源码版本,指定高版本hadoop进行编译
编译步骤:
1,安装java(JDK 1.7及以上)
export JAVA_HOME=/xxx
export JRE_HOME=/xxx
export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:
J
R
E
H
O
M
E
/
l
i
b
:
JRE_HOME/lib:
JREHOME/lib:CLASSPATH
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
2,安装Maven, 版本为3.3.9或者以上
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache//maven/maven-3/3.3.9/binaries
配置MAVEN_HOME
export MAVEN_HOME=/xxx
export PATH=
M
A
V
E
N
H
O
M
E
/
b
i
n
:
MAVEN_HOME/bin:
MAVENHOME/bin:PATH
3,下载spark源码
s1
4,增加cdh的repository
解压spark的源码包,编辑pom.xml文件, 在repositories节点 加入如下配置:
cloudera https://repository.cloudera.com/artifactory/cloudera-repos/ 5,编译设置内存:
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
开始编译:
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0 -DskipTests clean package
源码编译后,bin目录下的文件可能不存在可执行权限,需要通过chmod指令添加可执行权限
chmod +x xxx
2、规划spark安装目录
3、解压安装包
4、重命名安装目录
5、修改配置文件
spark-env.sh(需要将spark-env.sh.template重命名)
配置hadoop的CONF目录,spark会将hadoop中的配置文件进行加载
HADOOP_CONF_DIR=/root/bigdata/hadoop-2.6.0-cdh5.7.0/etc/hadoop
配置java环境变量
export JAVA_HOME=java_home_path
配置PYTHON环境
PYTHON_HOME=/usr/local/python3/bin
export PYSPARK_PYTHON=/xx/pythonx_home/bin/python3
配置spark的日志目录(注:需要先在hadoop上创建一个目录(directory,spark不会主动创建这个目录))
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop:8020/spark_directory"
配置master的地址(可选)
export SPARK_MASTER_HOST=hadoop
配置master的端口(可选)
export SPARK_MASTER_PORT=7077
配置spark-defaults文件
spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop:8020/spark_directory
6、配置spark环境变量
export SPARK_HOME=/root/bigdata/spark-2.3.0-bin-2.6.0-cdh5.7.0
export PATH=
S
P
A
R
K
H
O
M
E
/
b
i
n
:
SPARK_HOME/bin:
SPARKHOME/bin:PATH
3、spark启动和停止
启动pyspark
在节点上执行
./pyspark