Hadoop伪分布式安装Spark

时间:2022-09-14 15:52:28

应用场景

搭建部署了hadoop环境后,使用MapReduce来进行计算,速度非常慢,因为MapReduce只是分布式批量计算,用于跑批的场景,并不追求速率,因为它需要频繁读写HDFS,并不能实时反馈结果,这种跑批的场景用的还是比较少的。一般客户最想看到的是输入后立马有结果反馈。那此时我们就需要在Hadoop伪分布式集群上部署Spark环境了!因为Spark是内存计算,它把计算的中间结果存到了内存中,不用频繁读取HDFS,做了极大的优化,当然Spark也是今后的潮流,慢慢将取代Hadoop的很多组件,Spark还有一个优势就是,它是天然与Hadoop完美结合的!

操作步骤

1. 下载Scala和Spark

SCALA2.10.4下载地址
spark1.6.1下载地址

2. 解压并配置环境变量

下载解压scala,添加配置环境变量:

 export SCALA_HOME=/opt/scala-2.10.4
export PATH=$JAVA_HOME/bin$HADOOP_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$PATH

下载解压spark,添加配置环境变量:

 export SPARK_HOME=/opt/spark-1.6.1 
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HIVE_HOME/bin:$PATH

3. 修改spark-env.sh

进入Spark的配置文件路径,
# cd $SPARK_HOME/conf
在spark-env.sh文件中添加如下配置:
export JAVA_HOME=/opt/jdk1.7.0_79
export SCALA_HOME=/opt/scala-2.10.4
export HADOOP_CONF_DIR=/opt/hadoop-2.6.0/etc/hadoop

4. 启动spark:

 # cd /opt/spark-1.6.1
# ./sbin/start-all.sh

5. 验证

启动完毕,命令行输入jps,如果有master,worker那么就是启动成功

浏览器访问:http://192.168.208.110:8080


# ./bin/spark-shell
浏览器访问:http://192.168.208.110:4040
访问spark-shell页面


# ./bin/spark-sql
通过spark-sql连接hive,访问hive中的数据


# ./sbin/start-thriftserver.sh
# ./bin/beeline
重要,启动后,可以直接使用hive的程序,即HQL执行时默认用spark来进行内存计算