Hadoop版本:2.2.0
JDK版本:1.7.0_15
MAVEN版本:3.3.3
Scala版本:2.10.5
Spark版本:1.3.1
Hive版本:0.11.0
一:Maven编译Spark
1. 切换到根目录:cd ~
2. 设置Maven运行时内存大小:export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
3. 使用mvn命令编译Spark:mvn -Pyarn -Dyarn.version=2.2.0 -Phadoop-2.2 -Dhadoop.version=2.2.0 -Phive -Phive-0.11.0 -Phive-thriftserver -DskipTests clean package
3-1.编译构建完成以后,可以看到如下内容:
/opt/spark-1.3.1/assembly/target/scala-2.10/spark-assembly-1.3.1-hadoop2.2.0.jar
/opt/spark-1.3.1/lib_managed/*.jar
二:编辑 ~/.bash_profile文件
1. 增加SPARK_HOME环境变量
2. 配置完成后使用source命令使配置生效
三:hive-site.xml这个配置文件放到spark的conf中
四:配置Spark
进入Spark目录中的conf目录
1. 在slave文件中添加slave节点
1-1. 复制生成slaves:cp slaves.template slaves
1-2. 编辑slaves添加slave节点:vi slaves
![]()
2. 配置spark-env.sh
2-1. 复制生成spark-env.sh:cp spark-env.sh.template spark-env.sh
2-2. 配置spark-env.sh
3. 启动spark分布式集群和查看
3-1. sbin目录下运行./start-all.sh
3-2. 在Master中输入jps,可以看到Worker和Master两个进程
在Slave中输入jps,可以看到Worker
五:启动spark-sql,运行SQL语句
进入bin目录,运行./spark-sql进入SQL命令
错误提示1:
org.datanucleus.store.rdbms.datasource.DatastoreDriverNotFoundException:
The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH.
Please check your CLASSPATH specification, and the name of the driver.
解决办法:mysql驱动加载到classpath中
运行时指定mysql驱动:./spark-sql --driver-class-path /opt/spark-1.3.1/mysql-connector-java-5.1.25.jar
或者
在~/.bash_profile指定:SPARK_CLASSPATH=/opt/spark-1.3.1/lib/mysql-connector-java-5.1.25.jar
错误提示2:
java.lang.OutOfMemoryError: GC overhead limit exceeded
错误原因:之前的hadoop中hdfs的数据文件丢失了,会有这个错误
本文指导如何在Hadoop 2.2.0环境下安装配置Spark 1.3.1和Hive 0.11.0,并详细说明了从Maven编译Spark到启动Spark分布式集群的全过程。同时,解决在启动过程中遇到的MySQL驱动未找到和内存溢出等问题。
5205

被折叠的 条评论
为什么被折叠?



