摘要:运行数据准备随便准备一个文档格式不限,上传到上。解决因为原来是用的版本为相应的依赖包官网已经不再支持,所以更新的平台的环境为,相应的文档很少,更改版本为。星期六星期一由为知笔记迁移到。
0x01 环境说明
博客地址:http://www.cnblogs.com/ning-wang/p/7359977.html
1.1 本地1.2 服务器OS: windows 10
jdk: jdk1.8.0_121
scala: scala-2.11.11
IDE: IntelliJ IDEA ULTIMATE 2017.2.1
0x02 windows端配置 2.1 安装jdkOS: CentOS_6.5_x64
jdk: jdk1.8.111
hadoop: hadoop-2.6.5
spark: spark-1.6.3-bin-hadoop2.6
scala: scala-2.11.11
配置环境变量
JAVA_HOME CLASSPATH Path2.2 配置hosts 2.2.1 文件位置
C:WindowsSystem32driversetc
2.2.2 新增内容和集群的hosts文件内容一样
192.168.1.100 master 192.168.1.101 slave1 192.168.1.102 slave22.2.3 安装IntelliJ IDEA
注意插件安装Maven
2.2.4 IDEA中安装scala插件 0x03 服务器端配置 3.1 安装jdk 3.2 安装hadoop配置远程访问权限
3.3 安装spark 0x04 测试 4.1 新建maven项目 4.2 添加依赖包File -> Project Structure -> Libraries添加spark-assembly-1.6.3-hadoop2.6.0.jar(位置在服务器端spark/lib/下)
4.3 新建ConnectionUtil类在srcmainjava目录下新建java类ConnectionUtil
import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; public class ConnectionUtil { public static final String master = "spark://master:7077"; public static void main(String[] args) { SparkConf sparkConf = new SparkConf().setAppName("demo").setMaster(master); JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf); System.out.println(javaSparkContext); javaSparkContext.stop(); } }4.4 编译运行
如果出现上图结果则证明,运行正确。
4.5 运行JavaWordCount 4.5.1 数据准备随便准备一个文档格式不限,上传到hdfs上。
$ vim wordcount.txt hello Tom hello Jack hello Ning # 上传文件 $ hadoop fs -put wordcount.txt /user/hadoop/ # 查看文件是否上传成功 $ hadoop fs -ls /user/hadoop/4.5.2 代码
spark安装包中的example,指定了jar包和输入文件的路径。
import scala.Tuple2; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function2; import org.apache.spark.api.java.function.PairFunction; import java.util.Arrays; import java.util.List; import java.util.regex.Pattern; public final class JavaWordCount { private static final Pattern SPACE = Pattern.compile(" "); public static void main(String[] args) throws Exception { // if (args.length < 1) { // System.err.println("Usage: JavaWordCount4.5.3 打包"); // System.exit(1); // } SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount") .setMaster("spark://master:7077") .set("spark.executor.memory", "512M"); JavaSparkContext ctx = new JavaSparkContext(sparkConf); ctx.addJar("D:workspacesparkJavaWordCount.jar"); String path = "hdfs://master:9000/user/hadoop/wordcount.txt"; JavaRDD lines = ctx.textFile(path); JavaRDD words = lines.flatMap(new FlatMapFunction () { @Override public Iterable call(String s) { return Arrays.asList(SPACE.split(s)); } }); JavaPairRDD ones = words.mapToPair(new PairFunction () { @Override public Tuple2 call(String s) { return new Tuple2 (s, 1); } }); JavaPairRDD counts = ones.reduceByKey(new Function2 () { @Override public Integer call(Integer i1, Integer i2) { return i1 + i2; } }); List > output = counts.collect(); for (Tuple2,?> tuple : output) { System.out.println(tuple._1() + ": " + tuple._2()); } ctx.stop(); } }
非常重要,否则运行会出现各种错误,甚至无法运行
在File -> Project Structure ->Artifacts点击绿色“+”,Add-->JAR-->From Modules with Dependencies
输入main class入口函数名,将Output Layout下所有jar包删掉(因为spark运行环境已经包含了这些包),如果已经存在META-INF要先将这个文件夹删除。然后Apply,OK
编译程序:Build-->Build Artifacts...,然后选择要编译的项目进行编译
在当前工程生成的out目录下就可以找到输出的jar包,放到程序中指定的位置(就是addJar()方法中所设置的路径)
4.5.4 运行程序 0x05 出现的问题 5.1 找不到scala.Cloneable的类文件问题描述:java: 无法访问scala.Cloneable 找不到scala.Cloneable的类文件
原因:原来使用的是spark-2.1.0-bin-hadoop2.4没有spark-assembly-1.6.3-hadoop2.6.0.jar依赖包所致。
解决:因为原来是用的hadoop版本为2.5.2相应的依赖包官网已经不再支持,所以更新的平台的hadoop环境为2.6.5,spark 2.X相应的文档很少,更改版本为1.6.3。
Create: 2017-08-12 10:33:55 星期六
Update: 2017-08-14 20:10:47 星期一
update: 2017.10.17
由为知笔记迁移到SF。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67790.html
摘要:最近研究了一下,正好把配置的一些东西记录下来安装这里假设你已经学会了安装如果没有安装请先参阅其他教程安装。去下载,可能会比较慢。安装完成后,打开压缩包,解压到指定的文件夹,然后设置环境变量。如果设置正确,在目录中输入正好跳转到你安装的目录。 最近研究了一下java,正好把配置的一些东西记录下来 安装Gradle这里假设你已经学会了安装Java,如果没有安装Java,请先参阅其他教程安装...
摘要:最近研究了一下,正好把配置的一些东西记录下来安装这里假设你已经学会了安装如果没有安装请先参阅其他教程安装。去下载,可能会比较慢。安装完成后,打开压缩包,解压到指定的文件夹,然后设置环境变量。如果设置正确,在目录中输入正好跳转到你安装的目录。 最近研究了一下java,正好把配置的一些东西记录下来 安装Gradle这里假设你已经学会了安装Java,如果没有安装Java,请先参阅其他教程安装...
阅读 1573·2021-10-14 09:43
阅读 5400·2021-09-07 10:21
阅读 1253·2019-08-30 15:56
阅读 2099·2019-08-30 15:53
阅读 1211·2019-08-30 15:44
阅读 1984·2019-08-30 15:44
阅读 1296·2019-08-29 17:24
阅读 709·2019-08-29 15:19