CentOS6.7 下 Hadoop2.7.1 + Spark1.5 环境搭建

2015-09-23· 8073 次浏览
## 准备工作 基于上篇:[CentOS6.7 下搭建 Hadoop2.7.1 单机伪分布式环境](https://baike.xsoftlab.net/view/292.html) ## 安装Scala ### 下载地址 [http://www.scala-lang.org/download/2.11.7.html](http://www.scala-lang.org/download/2.11.7.html) 注:我下载的是scala-2.11.7.tgz,页面翻到底部即可看到。 ### 安装Scala #### 切换至root用户 ```bash su - ``` #### 创建/usr/scala文件夹 ```bash mkdir /usr/scala ``` #### 使用FTP工具上传至服务器 将压缩包上传至/home/hadoop目录 **注:**我这里使用的是FlashFXP,使用hadoop用户连接 #### 将压缩包解压至/usr/scala 目录 ```bash tar zxvf /home/hadoop/scala-2.11.7.tgz -C /usr/scala ``` #### 设置环境变量 ```bash vi /etc/profile #追加如下内容 export SCALA_HOME=/usr/scala/scala-2.11.7 export PATH=$PATH:$SCALA_HOME/bin ``` #### 使环境变量生效 ```bash source /etc/profile ``` #### 测试环境变量设置 ```bash scala -version ``` ## Spark安装与配置 ### 下载地址 [http://www.apache.org/dyn/closer.lua/spark/spark-1.5.0/spark-1.5.0-bin-hadoop2.6.tgz](http://www.apache.org/dyn/closer.lua/spark/spark-1.5.0/spark-1.5.0-bin-hadoop2.6.tgz) ### 安装Spark #### 使用FTP工具上传至服务器 将压缩包上传至/home/hadoop目录 #### 将压缩包解压至/usr目录 ```bash tar zxvf /home/hadoop/spark-1.5.0-bin-hadoop2.6.tgz -C /usr ``` #### 修改文件夹名称 ```bash mv /usr/spark-1.5.0-bin-hadoop2.6/ /usr/spark ``` #### 将spark文件夹授权给hadoop用户 ```bash chown -R hadoop:hadoop /usr/spark/ ``` #### 设置环境变量 ```bash vi /etc/profile #追加如下内容 export SPARK_HOME=/usr/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin ``` #### 使环境变量生效 ```bash source /etc/profile ``` #### 测试环境变量设置 ```bash spark-bash --version ``` #### 运行SparkPi ```bash run-example org.apache.spark.examples.SparkPi 10 ``` ### 配置Spark #### 切换至Hadoop用户 ```bash su - hadoop ``` #### 修改spark-env.sh ```bash cd /usr/spark/conf/ cp spark-env.sh.template spark-env.sh vi spark-env.sh #追加如下内容 export SCALA_HOME=/usr/scala/scala-2.11.7 export JAVA_HOME=/usr/java/jdk1.7.0_80 export SPARK_MASTER_IP=192.168.30.50 export SPARK_WORKER_MEMORY=1024m ``` #### 启动Spark ```bash /usr/spark/sbin/start-all.sh #停止命令 /usr/spark/sbin/stop-all.sh #另一种方式 start-master.sh start-slave.sh spark://192.168.30.50:7077 ``` #### 提交任务到Spark集群 ```bash spark-submit --master spark://192.168.30.50:7077 --class org.apache.spark.examples.SparkPi --name Spark-Pi /usr/spark/lib/spark-examples-1.5.0-hadoop2.6.0.jar ``` ### 使用web查看Spark运行状态 ``` http://192.168.30.50:8080/ ``` ## 在Yarn中运行Spark任务 #### 编辑spark-env.sh ```bash vi /usr/spark/conf/spark-env.sh #追加如下内容 export HADOOP_CONF_DIR=/usr/hadoop/etc/hadoop ``` ### 运行SparkLR 程序 #### 提交Spark任务到yarn中 ```bash spark-submit --master yarn-cluster --class org.apache.spark.examples.SparkLR --name SparkLR /usr/spark/lib/spark-examples-1.5.0-hadoop2.6.0.jar ``` #### 使用web查看任务运行状态 ``` http://192.168.30.50:8088/ ``` **如图:** ![](https://image.xsoftlab.net/baike/articleImages/fbbc24cf244a435caef95700133c3fd9.jpg) ## 在Yarn中结合HDFS运行Spark任务 ### 运行JavaWordCount程序 ``` spark-submit --master yarn-cluster --class org.apache.spark.examples.JavaWordCount --name JavaWordCount /usr/spark/lib/spark-examples-1.5.0-hadoop2.6.0.jar hdfs://192.168.30.50:9000/user/hadoop/input ``` ### 使用web查看任务运行结果 **建议:配置windows下的hosts文件指向(如果你用windows访问web)** ``` 192.168.30.50 hadoop.master #位置C:\Windows\System32\drivers\etc ``` #### 查看运行结果 **说明:因为该示例程序输出结果到控制台,所以我们去查看控制台日志** 1. 点击**History(上图中红色框尾部)** 2. 点击**Logs(位置在右下部,与History类似)** 3. 点击**stdout : Total file length is xxxxx bytes.**