【大数据组件学习笔记】——Win10 Hadoop2.7.1+Spark2.2.0+Scala2.11.11 环境搭建与测试

Win10 Hadoop2.7.1+Spark2.2.0+Scala2.11.11 环境搭建与测试

一、文件准备

1.apache-maven-3.2.5.zip

说明:用于构建Maven项目

链接:https://pan.baidu.com/s/1t3o3d-20dC7rUrV3fQSPPA

          bdvy

2.spark-2.2.0-bin-hadoop2.7.tgz

说明:本文主角

链接:https://pan.baidu.com/s/1liGb1qg9pWrDPpbvGJNuWQ

          orvb

3.scala-2.11.11.msi

说明:Spark常用编写语言

链接:https://pan.baidu.com/s/1Dz8AORWxDqyQaozyQcOvgg

          ck5p

4.hadoop-2.7.1.rar

说明:Spark资源管理可以采用Mesos或者Yarn,这里选用Hadoop-Yarn

链接:https://pan.baidu.com/s/1aFwxor_f51Rleka9KLL6cQ

          nn1c

5.hadooponwindows-master.zip

说明:Hadoop对Windows不是很友好需要修改写文件

链接:https://pan.baidu.com/s/1Av5OQXdmn420xaqQaZo5zg

          ecp3

6.总说明:网上的确有很多最新版本的Hadoop、Spark啊的安装,还有勇士开荒成功发帖分享。不过信我,别装最新的,第一最新的官方没维护多久,大家也都没用多久,出了什么Bug问都没处问,当然你有精力EMail官方我不反对。其次,现在企业里用的也普遍是旧的,因为这个东西升级一次基本就是整个服务器升级,普遍企业还在用稳定的1.6的Hadoop,所以不急学新的。

二、安装搭建

1.安装须知

1)请在非C盘新建一个文件夹(记作‘FolderNoSpace’),文件夹名字一定要 英文无空格!英文无空格!英文无空格!别问为什么,问就是Windows是个****。

2)文件下载后,需要解压一定要选择 “解压到XXX”尽量不要用“解压文件...”

2.Java安装配置测试

1)如我刚才所说,Java(JDK)也要安装在这个没有空格的英文文件夹下,如果你已经装到别的地方了,别担心,很简单删了重装就好了。

2)具体安装配置测试我就不赘述了,想必都安腻了吧

3.Hadoop安装

1)将hadoop-2.7.1.rar拷贝至FolderNoSpace下解压

2)进入hadoop-2.7.1,新建文件夹“warehouse”,再进入warehouse新建文件夹“temp”、“name”、“data”,最终目录结构

hadoop-2.7.1---|hadoop-2.7.1---|bin

                         |                         |etc

                         |                         |... ...

                         |warehouse---|data

                                               |name

                                               |temp

3)解压hadooponwindows-master.zip,拷贝其中的bin、etc目录覆盖hadoop-2.7.1中的bin、etc目录

4.Hadoop配置

1)修改环境变量,在系统变量中新建“HADOOP_HOME”值为内层 hadoop-2.7.1的路径(下面是bin);在Path中添加 %HADOOP_HOME%\bin

2)进入hadoop-2.7.1\hadoop-2.7.1\etc\hadoop修改一以下文件,没有的property添加上,value对应自己的改一下,注意路径前边的‘/’别忘了

core-site.xml

<configuration>
 <property>
        <name>hadoop.tmp.dir</name>
        <value>/‘上边temp目录的路径’</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/‘上边name目录的路径’</value>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
    </property>
           <property>
       <name>mapred.job.tracker</name>
       <value>hdfs://localhost:9001</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
 <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
        <property>
        <name>dfs.data.dir</name>
        <value>/‘上边data目录的路径’</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/‘上边warehouse目录的路径’/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/‘上边warehouse目录的路径’/datanode</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
    <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

hadoop-env.cmd 找到set JAVA_HOME

set JAVA_HOME=‘java(jdk)路径’

3)初始化(格式化)namenode,控制台,进入“hadoop-2.7.6\bin”路径下输入“hdfs namenode -format”出来一大堆最后

5.Hadoop测试

1)进入“hadoop-2.7.6\sbin”路径下输入“start-all”,弹出来的任何窗口都不要关闭!!弹出来的任何窗口都不要关闭!!弹出来的任何窗口都不要关闭!!

2)打开浏览器查看

http://localhost:8088/cluster

http://localhost:50070/

3)找到输入“start-all”的窗口,输入“stop-all”关闭

6.Spark安装配置与测试

1)将spark-2.2.0-bin-hadoop2.7.tgz拷贝至FolderNoSpace下解压

2)系统变量中添加“SPARK_HOME”值为内层spark-2.2.0-bin-hadoop2.7的路径,Path中添加“%SPARK_HOME%\bin”

3)控制台输入“spark-shell”

7.Scala 安装与测试

1)运行scala-2.11.11.msi,注意选择安装位置,你懂的

2)控制台输入“scala”

8.Maven安装配置与测试

1)apache-maven-3.2.5.zip拷贝至FolderNoSpace下解压

2)添加系统变量“MAVEN_HOME”值为内层apache-maven-3.2.5路径,Path里添加%MAVEN_HOME%\bin

3)控制台输入“mvn -v”

三、创建Spark项目

1.IDEA预配置环境,在欢迎界面(如果不是就File >> Close Project)

1)Maven,依次选择Configure >> Setting >> Build,Execution,Deployment >> BuildTools >> Maven,并配置路径

2)Scala支持插件安装,Configure >> Plugins >> Browse Repositories 搜索Scala,安装

3)JDK与SDK配置,Configure >> Project Defaults >> Project Structure 在 Platform Setting 里选择SDKs >> 加号  >> JDK >> 选择JAVA_HOME。在Global Libraries >> 加号 >> Scala SDK >> 选择Location 为 System的

2.新建Maven项目

1)Create New Project >> Maven >> 输入GroupId(开发者)和ArtifactId(项目名) >> 选择路径 >> Finish

2)右下角选择“Enable ... ”

3)右键单击项目目录的项目名,Add Framework Support,勾选Scala

4)(可选)右键单击项目目录的‘java’>> Refactor >> Rename >> 改为‘scala’

5)新建 Scala Class “Test”(注意选择Kind为Object),输入

Def main(args: Array[String]):Unit = {
    println("Hello World!")
}

右键 >> Run ,搞定 Scala 的 hallow world

3.导入Spark依赖

1)打开pom.xml 添加properties 和 dependencies

参考文件链接:https://pan.baidu.com/s/1DmiEEmvQogAA0xhb0_kkKA

                         5byn

2)导入Jars,File >> Project Structure >> Libraries >> 加号 >> Java >> 选择“spark-2.2.0-bin-hadoop2.7/jars”

4.Spark开发测试

1)新建 Scala Class “Pi”(注意选择Kind为Object),输入

import scala.math.random
import org.apache.spark._
object Pi {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Pi").setMaster("local")
    val spark = new SparkContext(conf)
    val slices = if (args.length > 0) args(0).toInt else 2
    val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow
    val count = spark.parallelize(1 until n, slices).map { i =>
      val x = random * 2 - 1
      val y = random * 2 - 1
      if (x * x + y * y < 1) 1 else 0
    }.reduce(_ + _)
    println("Pi is roughly " + 4.0 * count / n)
    spark.stop()
  }
}

2)右键 >> Run

搞定

四、打包与任务提交测试

1.File >> Project Structure >>Artifacts >> 加号 >> JAR >> from...

2.Main Class 选择 “Pi”,OK

3.因为扔到Spark上跑,所以删除不必要依赖,剩下有用的

4.Build >> Build Artifacts >> Build

5.在out/artifacts/Spark_jar下收获jar包

6.控制台进入这个jar包的路径,输入

spark-submit --class Pi --master spark://localhost:7077/ Spark.jar

7.结果

 

五、补充

1.本文并没有提到:

1)没有详细介绍Spark的配置【二.6】

2)采用Maven而不是常用的SBT框架【三.2】

3)没有解释Spark提交任务参数【四.6】

2.有问题或纠错欢迎大家评论区交流

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值