spark2.0.2基于hadoop2.4搭建分布式集群
一、Scala安装
因为spark的版本原因,所以Scala我用的2.11.7。
下载目录http://www.scala-lang.org/download/
拷贝到要安装的地址,我的地址是/usr/local
解压tar zxvf scala-2.11.7.tgz
修改gedit /etc/profile。
export SCALA_HOME=/usr/local/scala-2.11.7
export PATH=/usr/local/scala-2.11.7/bin:$PATH
然后测试
scala -version
Scala code runner version 2.11.7-- Copyright 2002-2013, LAMP/EPFL
二、安装Spark
官网下载地址:http://spark.apache.org/downloads.html
需要下载预编译版本
(1)、拷贝到要安装的地址,我的地址是/usr/local
解压tar zxvf spark-2.0.2-bin-hadoop2.4.tgz spark
(2)、spark-env.sh
安装后,需要在 /usr/local/spark/conf,执行如下命令拷贝一个配置文件:
cd /usr/local/spark/conf
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
这样就有了spark-env.sh,否则只有.template。
编辑 gedit spark-env.sh,在最后面加上如下:
export JAVA_HOME=/usr/local/jdk7
export SCALA_HOME=/usr/local/scala-2.11.7
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_HOST=192.168.1.134 #主节点ip
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
export SPARK_HOME=/usr/local/spark
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
(3)slaves
然后修改slaves
cd /usr/local/spark/conf
cp slaves.template slaves
编辑 gedit slaves,我的hadoop是搭建好了的,主节点名为:master,三个子节点分别为:slave1,slave2,slave3,所以在最后面加上如下:
master
slave1
slave2
slave3
(4)spark-defaults.conf
然后修改spark-defaults.conf
cd /usr/local/spark/conf
cp spark-defaults.conf.template spark-defaults.conf
编辑 gedit spark-defaults.conf,在最后追加(下面的9000端口是我hadoop配置的hdfs的端口,这样spark才能访问hdfs):
spark.executor.extraJavaOptions -XX:+PrintGCDetails -DKey=value -Dnumbers="one two three"
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:9000/historyserverforSpark
spark.yarn.historySever.address Master:18080
spark.history.fs.logDirectory hdfs://master:9000/historyserverforSpark
(5)然后将路径/usr/local 下面的spark文件夹拷贝到各个子节点相同的位置上
(6)在hadoop hdfs上创建历史服务器文件夹,否则打不开18080,开启的时候不提示,关闭的时候提示没有historyserver来关闭。hadoop的历史服务器是JHistoryServer,Spark的服务器是HistoryServer。
hdfsdfs -mkdir /historyserverforSpark
配置完成。
三、测试Spark
启动spark前需启动hadoop
启动hadoop
cd $HADOOP_HOME
sbin/start-all.sh
启动spark
cd /usr/local/spark
sbin/start-all.sh
启动spark的服务器
sbin/start-history-server.sh
启动shell客户端
bin/spark-shell
出现scala>时说明成功。
在浏览器中输入192.168.1.134:8080(master ip)时,会看到如下图,有4个worker
在浏览器中输入192.168.10.1:4040(必须先启动spark-shell,否则打不开4040)
出现如图:
说明spark已启动成功!
文件测试,提供思路。
先创建test.txt文件,里面输入内容123123123,然后hadoop上面创建tmp文件,然后将test.txt上传至tmp文件夹。
然后再spark的shell端输入如图:
然后输入y.first()
这里就将test.txt的文件的内容读取出来了,说明能连接hdfs了
四、总结:
1、master内存必须要大点,不然这个配置会卡死,我用的虚拟机开启4个系统搭建的,我的master是2G的内存,其余是1G的内存。
2、指定同一时间最多可打开的文件数一定要大,不然会出现类似
java.io.IOException: All datanodes 127.0.0.1:50010 are bad. Aborting...
这种错误。通过ulimit -n查看当前的数量,一般默认为1024,零时修改可以通过ulimit -n 65535来修改。
参考:http://www.linuxidc.com/Linux/2016-11/137367.htm
spark2.0.2基于hadoop2.4搭建分布式集群的更多相关文章
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...
- 如何基于Jupyter notebook搭建Spark集群开发环境
摘要:本文介绍如何基于Jupyter notebook搭建Spark集群开发环境. 本文分享自华为云社区<基于Jupyter Notebook 搭建Spark集群开发环境>,作者:apr鹏 ...
- 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试
早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...
- hadoop2.7全然分布式集群搭建以及任务測试
要想深入的学习hadoop数据分析技术,首要的任务是必需要将hadoop集群环境搭建起来,本文主要讲述怎样搭建一套hadoop全然分布式集群环境. 环境配置:2台64位的redhat6.5 + 1台 ...
- 基于zookeeper+leveldb搭建activemq集群--转载
原地址:http://www.open-open.com/lib/view/open1410569018211.html 自从activemq5.9.0开始,activemq的集群实现方式取消了传统的 ...
- 利用vmware搭建分布式集群
背景: 我们需要至少3台服务器来实现分布式,鉴于没那么多钱买真机器,从学习和开发的角度看,只有虚拟机一条路了. 软件选择: 虚拟机使用VMware软件,因为主流而且资料比较多,学习成 ...
- Docker中自动化搭建Hadoop2.6完全分布式集群
这一节将在<Dockerfile完成Hadoop2.6的伪分布式搭建>的基础上搭建一个完全分布式的Hadoop集群. 1. 搭建集群中需要用到的文件 [root@centos-docker ...
- 基于docker的spark-hadoop分布式集群之一: 环境搭建
一.软件准备 1.基础docker镜像:ubuntu,目前最新的版本是18 2.需准备的环境软件包: (1) spark-2.3.0-bin-hadoop2.7.tgz (2) hadoop-2.7. ...
- hadoop-2.7.2 分布式集群搭建
1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper Ensemble HBase Cluster Hadoop01 ...
随机推荐
- mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...
- vue 父子组件属性传递
父子组件属性传递 注意:0.谁被引用,谁就算子组件 1.属性命名最好完全小写,否则需要如下格式转换:myAttr == my-attr 2.引入的vue组件后必须通过 components 注册才能 ...
- 使用pycharm手动搭建python语言django开发环境(一)
1)系统已经安装了python,django,pycharm 2)安装python的virtualenv模块.该模块通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相 ...
- wireshark抓包常见提示含义解析
原文转自:http://blog.sina.com.cn/s/blog_987e00020102wq60.html http://www.cnblogs.com/redsmith/p/5462547. ...
- GoWeb编程之多路复用
GoWeb编程多路复用 在web编程中,比如我们要一个Url对应一个处理函数,或者一个页面对应一个静态文件,这些都需要进行处理,这个时候就是我们多路复用派上用场了. package main impo ...
- CI框架基本配置/教你学习CI框架codelgniter
CI框架现在中国可以说还是不成熟,不像thinkphp那样有那么多的中文手册,在国内,很多国人英语都很烂,CI现在教程还是不多.大家心里都存在这严重想法 CI 框架现在中国可以说还是不成熟,不像thi ...
- ps -aux --sort -rss |head 列出进程拿物理内存占用排序 使用ps aux 查看系统进程时,第六列即 RSS列显示的就是进程使用的物理内存。
ps -a Select all processes -u userlist Select by effective user ID (EUID) or name. ...
- mysql 数据库复制表 create table city1 like city;
-- 只复制表结构 create table city1 like city; INSERT INTO test2 SELECT * FROM test; -- 上面的表必须存在 -- 复制整张表的数 ...
- Linux Linux程序练习一
注意:在Linux中,"*"是一个通配符,代表所有字符,所以"*"必须要使用转义字符"\"
- Linux gcc编译器
GNU CC(通常称为GCC)是GNU项目的编译器,他能够编译C.C++语言编写的程序. 使用gcc,程序员可以对编译过程有更多控制,编译过程分为3个阶段. --预处理 --汇编 --链接 程序员可以 ...