前言
本人大三大数据专业,配置的虚拟机为Centos6.7系统,hadoop版本为2.6.0版本,先前已经完成搭建CentOS部署Hbase、CentOS6.7搭建Zookeeper和编写MapReduce前置插件Hadoop-Eclipse-Plugin 安装 。在此基础上完成了Hive详解以及CentOS下部署Hive和Mysql。现在进行Spark的一个安装以及环境配置。
提示:以下是本篇文章正文内容,下面案例可供参考
一、解决兼容问题
首先不同版本的Spark会和之前配置的Hbase或者是Hadoop,Python产生版本不兼容的问题。这个可以根据自己之前安装程序的版本来自行选择相应的版本下载或者更新配置文件。这里给出与Hive兼容版本:
可以进入local(安装)目录查看自己Hive版本:
我的版本是2.3.7的就选择2.0.0版本滴,省的发生一系列兼容问题比较折磨。
二、获取Spark
Spark官网:
https://spark.apache.org/downloads.html
选择自己的版本:
2.4.7一样能用。
放入虚拟机
三、配置Spark环境变量
JDK版本需要在1.8版本以上,没升级的可以先升级一波:JDK1.8安装(Linux系统)
同时也需要安装scala,官网下载地址:https://www.scala-lang.org/download/2.11.12.html
解压:
tar zxvf spark-2.4.7-bin-hadoop2.6.tgz spark-2.4.7
修改名字:
mv spark-2.4.7-bin-hadoop2.6.tgz spark-2.4.7
移动到用户本地目录:
mv spark-2.4.7 /usr/local
移动到conf目录下配置env:
cd /usr/local/spark-2.4.7/conf cp spark-env.sh.template spark-env.sh vi spark-env.sh
修改配置内容:
export JAVA_HOME=/usr/java/defaul export SCALA_HOME=/usr/local/scala-2.11.12 export HADOOP_CONF_DIR=/usr/lib/hadoop/etc/hadoop export SPARK_MASTER_IP=hadoop1 export SPARK_MASTER_PORT=7077 export SPARK_WORKER_MEMORY=512m export SPARK_WORKER_CORES=1 export SPARK_EXECUTOR_MEMORY=512m export SPARK_EXECUTOR_CORES=1 export SPARK_WORKEY_INSTANCES=1 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://hadoop1:9000/spark-logs"
SPARK_MASTER_PORT为Spark主节的端口号。
配置slaves文件:
cp slaves.template slaves vi slaves
我的从者是:
hadoop2 hadoop3
配置spark-default.conf:
cp spark-defaults.conf.template spark-defaults.conf vi spark-defaults.conf
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:9000/spark-logs spark.eventLog.compress true
在主节点把配置好的Spark目录复制到从节点上:
scp -r /usr/local/spark2.4.7 hadoop2:/usr/local scp -r /usr/local/spark2.4.7 hadoop3:/usr/local
创建spark-logs目录:
hdfs dfs -mkdir /spark-logs
配置一下profile的spark路径:
export SPARK_HOME=/usr/local/spark2.4.7 export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
进入spark的sbin目录启动Spark集群:
./start-all.sh
(注process information unavailabele,没问题具体看jps查看进程出现process information unavailable)
我们可以进浏览器看看:
./start-history-server.sh