环境:

linux

spark1.6.0

hadoop2.2.0

一.安装scala(每台机器)
 
1.下载scala-2.11.0.tgz
 
放在目录: /opt下,tar -zxvf scala-2.11.0.tgz
 
2.在hadoop用户下
 
vim /etc/profile
3.在profile文件加入Scala路径
 
 export SCALA_JAVA=/opt/scala-2.11.
export PATH=$PATH:$SCALA_JAVA/bin 
 
4.使配置环境生效
source /etc/profile
5.检验scala是否安装成功
[hadoop@testhdp01 ~]$ scala -version
Scala code runner version 2.10.1 -- Copyright 2002-2013, LAMP/EPF
成功
 
 
二.安装spark
 
1.编译spark1.6.0(在linux下编译很多次都编译不成功,所以我放到mac下编译的。)
 
进入spark目录,然后执行以下命令:
build/mvn -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2. -DskipTests clean package
./make-distribution.sh --name custom-spark --tgz -Psparkr -Phadoop-2.2 -Phive -Phive-thriftserver -Pyarn
mvn -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2. -Phive -Phive-thriftserver -DskipTests clean package
 
用idea编译方法:
 
2.配置spark
 
cd /opt/spark-1.6.-bin-hadoop2.2.0/conf

cp spark-env.sh.template spark-env.sh

cp slaves.template slaves

vim spark-env.sh
 
加入
export SCALA_HOME=/opt/scala-2.10.
export JAVA_HOME=/opt/jdk1..0_51
export SPARK_MASTER_IP=192.168.22.7
export HADOOP_HOME=/opt/hadoop-2.2.
export SPARK_HOME=/opt/spark-1.6.-bin-hadoop2.2.0
export SPARK_LIBRARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop/
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
export SPARK_JAR=$SPARK_HOME/lib/spark-assembly-1.6.-hadoop2.2.0.jar

mac 下配置如下,在文件头加入

#jdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1..0_79.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin #scala
export SCALA_HOME=/usr/local/Cellar/scala-2.10.
export PATH=$PATH:$SCALA_HOME/bin #hadoop
export HADOOP_HOME=/usr/local/Cellar/hadoop/2.7./libexec
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #hive
export HIVE_HOME=/usr/local/Cellar/hive/2.0./libexec
export SPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1..jar:$SPARK_CLASSPATH #spark
export SPARK_HOME=/usr/local/Cellar/spark-1.3.-bin-hadoop2.
export PATH=$PATH:$SPARK_HOME/bin

3.配置spark 支持hive

vim spark-env.sh
export HIVE_HOME=/opt/apache-hive-0.13.
export SPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1..jar:$SPARK_CLASSPATH
拷贝apache-hive-0.13.1-bin/conf/hive-site.xml到$SPARK_HOME/conf下
cp /opt/apache-hive-0.13./conf/hive-site.xml conf/
在/etc/profile.d目录下创建hive.sh文件
加入环境变量设置
#!/bin/bash
export HIVE_HOME=/opt/apache-hive-0.13.
export PATH=$HIVE_HOME/bin:$PATH
是环境变量生效
source /etc/profile.d/hive.sh
4.配置集群
进入spark的conf目录
vim slaves
删除localhost
加入子节点的名字
testhdp02
testhdp03
 
配置spark系统环境(三个子节点都要配置)
sudo su - root
sudo vim /etc/profile
export SPARK_HOME=/opt/spark-1.5.-bin-hadoop2.2.0
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
 
3.把配置好的spark打包,发送到子节点
 
 
 
三:错误分析
 
bin/spark-shell
运行
val textFile = sc.textFile("README.md")
textFile.count()
 
出现如下错误:
 
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
at java.lang.reflect.Method.invoke(Method.java:)
at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:)
... more
Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.LzoCodec not found.
at org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:)
at org.apache.hadoop.io.compress.CompressionCodecFactory.<init>(CompressionCodecFactory.java:)
at org.apache.hadoop.mapred.TextInputFormat.configure(TextInputFormat.java:)
... more
Caused by: java.lang.ClassNotFoundException: Class com.hadoop.compression.lzo.LzoCodec not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:)
at org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:)
... more
 
解决方案:
修改saprk-env.sh文件
 
export SCALA_HOME=/opt/scala-2.10.
export JAVA_HOME=/opt/jdk1..0_51
export SPARK_MASTER_IP=192.168.22.7
export HADOOP_HOME=/opt/hadoop-2.2.
export SPARK_HOME=/opt/spark-1.6.-bin-hadoop2.2.0
export SPARK_LIBRARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop/
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
export SPARK_JAR=$SPARK_HOME/lib/spark-assembly-1.6.-hadoop2.2.0.jar
export SPARK_CLASSPATH=$SPARK_CLASSPATH:$HADOOP_HOME/share/hadoop/yarn/*:$HADOOP_HOME/share/hadoop/yarn/lib/*:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/hdfs/lib/*:$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*:$HADOOP_HOME/share/hadoop/tools/lib/*:$SPARK_HOME/lib/*
 
 
 
 
 
 
 
 
 
 
 

linux上配置spark集群的更多相关文章

  1. linux下配置tomcat集群的负载均衡

    linux下配置tomcat集群的负载均衡 一.首先了解下与集群相关的几个概念集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台.在客户端看来,一个集群就象是一个服 ...

  2. 配置spark集群

    配置spark集群 1.配置spark-env.sh [/soft/spark/conf/spark-env.sh] ... export JAVA_HOME=/soft/jdk 2.配置slaves ...

  3. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)--------hadoop环境的搭建

    Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)------https://blog.csdn.net/pucao_cug/article/details/71698903 ...

  4. Linux中安装配置spark集群

    一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...

  5. 安装配置Spark集群

    首先准备3台电脑或虚拟机,分别是Master,Worker1,Worker2,安装操作系统(本文中使用CentOS7). 1.配置集群,以下步骤在Master机器上执行 1.1.关闭防火墙:syste ...

  6. Hadoop2.2集群安装配置-Spark集群安装部署

    配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(19 ...

  7. 本地开发spark代码上传spark集群服务并运行

    打包 :右击.export.Java .jar File 把TestSpark.jar包上传到spark集群服务器的 spark_home下的myApp下: 提交spark任务: cd /usr/lo ...

  8. win系统下的eclipse连接和使用linux上的hadoop集群

    准备工作 先在win系统的hosts文件中加入下面内容 10.61.6.164master     //hadoop集群的master节点 一.首先在eclipse上安装hadoop插件 下载hado ...

  9. Linux 下配置zookeeper集群

    我们首先准备三台服务器,IP地址分别如下(前提是要先安装JDK) 192.168.100.101 192.168.100.102 192.168.100.103 1.配置主机名到IP地址的映射(此步骤 ...

随机推荐

  1. 协程和I/O模型

    1.协程: 单线程实现并发 在应用程序里控制多个任务的切换+保存状态 优点: 应用程序级别速度要远远高于操作系统的切换 缺点: 多个任务一旦有一个阻塞没有切换,整个线程都阻塞在原地 该线程内的其他的任 ...

  2. 生成器的send方法

    send 和next区别 next:唤醒并继续执行 send:唤醒并继续执行 发送信息到生成器内部. def fib(max): n,a,b = 0,0,1 while n < max: msg ...

  3. 小程序canvas截图组件

    最近做一个小程序的过程中,需要用到截图功能,网上搜了一下,发现没有符合要求的,就自己搞了个组件,方便复用. 目前功能很简单,传入宽高和图片路径即可,宽高是为了计算截图的比例,只支持缩放和移动. 实现思 ...

  4. 用JS检测页面加载的不同阶段状态

    这可以通过用document.onreadystatechange的方法来监听状态改变, 然后用document.readyState == “complete”判断是否加载完成. 可以采用2个div ...

  5. element ui select组件和table做分页完整功能和二级联动效果

    <template> <div class="index_box"> <div class="search_box"> &l ...

  6. jmeter 接口测试简介

    前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对 ...

  7. react开启一个项目 webpack版本出错

    npx create-react-app my-app cd my-app npm start 在命令行里执行以上语句就可(前两天刚刚发现,最新版的react对webpack的版本要了新要求,大概是他 ...

  8. js中重载问题

    在js中是没有重载的  但是  Arguments对象(可以实现模拟重载的效果) 利用arguments对象的length属性,可以获取函数接收的参数的个数 例如: function add(){ i ...

  9. 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

    import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author Jame ...

  10. JavaEE-05 分页与文件上传

    学习要点 新闻分页显示数据 新闻图片上传 JSP分页显示数据 分页 数据信息较多的的时候一般采用列表显示,方便展示信息: 数据量较大的时候一般采用列表加分页的方式显示,便于阅读. 分页方式:集合或者s ...