一、软件准备

scala-2.11.8.tgz

spark-1.6.1-bin-hadoop2.6.tgz

二、Scala 安装

1、master 机器

(1)下载 scala-2.11.8.tgz, 解压到 /opt 目录下,即: /opt/scala-2.11.8。

(2)修改 scala-2.11.8 目录所属用户和用户组。

1
sudo chown -R hadoop:hadoop scala-2.11.8

(3)修改环境变量文件 .bashrc , 添加以下内容。

1
2
3
# Scala Env
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

运行 source .bashrc 使环境变量生效。

(4) 验证 Scala 安装

2、Slave机器

slave01 和 slave02 参照 master 机器安装步骤进行安装。

三、Spark 安装

1、master 机器

(1) 下载 spark-1.6.1-bin-hadoop2.6.tgz,解压到 /opt 目录下。

(2) 修改 spark-1.6.1-bin-hadoop2.6 目录所属用户和用户组。

1
sudo chown -R hadoop:hadoop spark-1.6.1-bin-hadoop2.6

(3)  修改环境变量文件 .bashrc , 添加以下内容。

1
2
3
# Spark Env
export SPARK_HOME=/opt/spark-1.6.1-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

运行 source .bashrc 使环境变量生效。

(4) Spark 配置

进入 Spark 安装目录下的 conf 目录, 拷贝 spark-env.sh.template 到 spark-env.sh。

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

编辑 spark-env.sh,在其中添加以下配置信息:

1
2
3
4
5
export SCALA_HOME=/opt/scala-2.11.8
export JAVA_HOME=/opt/java/jdk1.7.0_80
export SPARK_MASTER_IP=192.168.109.137
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.6.4/etc/hadoop

JAVA_HOME 指定 Java 安装目录; 
SCALA_HOME 指定 Scala 安装目录; 
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址; 
SPARK_WORKER_MEMORY 指定的是 Worker 节点能够分配给 Executors 的最大内存大小; 
HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目录。

将 slaves.template 拷贝到 slaves, 编辑其内容为:

1
2
3
master
slave01
slave02

即 master 既是 Master 节点又是 Worker 节点。

2、slave机器

slave01 和 slave02 参照 master 机器安装步骤进行安装。

四、启动 Spark 集群

1、启动 Hadoop 集群

Hadoop 集群的启动可以参见之前的一篇文章 Hadoop 2.6.4分布式集群环境搭建,这里不再赘述。启动之后,可以分别在 master、slave01、slave02 上使用 jps 命令查看进程信息。

2、启动 Spark 集群

(1) 启动  Master 节点

运行 start-master.sh,结果如下:

可以看到 master 上多了一个新进程 Master。

(2) 启动所有 Worker 节点

运行 start-slaves.sh, 运行结果如下:

在 master、slave01 和 slave02 上使用 jps 命令,可以发现都启动了一个 Worker 进程

(3) 浏览器查看 Spark 集群信息。

访问:http://master:8080, 如下图:

(4) 使用 spark-shell

运行 spark-shell,可以进入 Spark 的 shell 控制台,如下:

(5) 浏览器访问 SparkUI

访问 http://master:4040, 如下图:

可以从 SparkUI 上查看一些 如环境变量、Job、Executor等信息。

至此,整个 Spark 分布式集群的搭建就到这里结束。

五、停止 Spark 集群

1、停止 Master 节点

运行 stop-master.sh 来停止 Master 节点。

使用 jps 命令查看当前 java 进程

可以发现 Master 进程已经停止。

2、停止 Worker 节点

运行 stop-slaves.sh 可以停止所有的 Worker 节点

使用 jps 命令查看 master、slave01、slave02 上的进程信息:

可以看到, Worker 进程均已停止,最后再停止 Hadoop 集群。

六、遗留问题

设置的 SCALA_HOME 没有生效,Spark 启动时用的是自带的 Scala 2.10.5 版本。

Spark 1.6.1分布式集群环境搭建的更多相关文章

  1. Spark 2.2.0 分布式集群环境搭建

    集群机器: 1台 装了 ubuntu 14.04的 台式机 1台 装了ubuntu 16.04 的 笔记本     (机器更多时同样适用) 1.需要安装好Hadoop分布式环境 参照:Hadoop分类 ...

  2. ZooKeeper 完全分布式集群环境搭建

    1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以  ...

  3. Hadoop完全分布式集群环境搭建

    1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...

  4. Kafka 完全分布式集群环境搭建

    思路: 先在主机s1上安装配置,然后远程复制到其它两台主机s2.s3上, 并分别修改配置文件server.properties中的broker.id属性. 1. 搭建前准备 示例共三台主机,主机IP映 ...

  5. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

  6. 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

    准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...

  7. Hadoop学习(一):完全分布式集群环境搭建

    1. 设置免密登录 (1) 新建普通用户hadoop:useradd hadoop(2) 在主节点master上生成密钥对,执行命令ssh-keygen -t rsa便会在home文件夹下生成 .ss ...

  8. Hadoop+HBase+ZooKeeper分布式集群环境搭建

    一.环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: Hostname IP ...

  9. zookeeper伪分布式集群环境搭建

    step1.下载 下载地址:http://zookeeper.apache.org/releases.html 将下载的压缩包放到用户家目录下(其他目录也可以) step2.解压 $tar –zxvf ...

随机推荐

  1. 用Keytool和OpenSSL生成和签发数字证书

    一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密 ...

  2. Mysql主从数据库架构的复制原理及配置详解

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  3. 【Permutations II】cpp

    题目: Given a collection of numbers that might contain duplicates, return all possible unique permutat ...

  4. Bootstrap的宽度和分辨率的差别

    首先在bootstrap里面所有的样式并在pc上是根据px的单位来判断的,就是我们说的分辨率, @media(min-width:1200px){ ......里面的样式 } 那么就是说当你的屏幕放大 ...

  5. c++ assert

    #include<iostream> #include <assert.h> using namespace std; int main() { ; assert(a == ) ...

  6. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  7. 异步任务(AsyncTask)

    1.Android UI组件更新简介 Android的UI线程主要负责处理用户的按键事件.用户触屏事件及屏幕绘图事件等,因此开发者的其它操作不应该,也不能阻塞UI线程,否则UI界面将会变的停止响应.A ...

  8. nodeJs入门篇之认识nodejs

    摘要:将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开 ...

  9. PHP-Java-Bridge的使用(平安银行支付功能专版)

    去年做平安银行的时候,用到了PHP-Java-Bridge,后来写了一篇博客记录使用PHP-Java-Bridge的一些心得(连接:http://my.oschina.net/kenblog/blog ...

  10. js调试-定位到函数所在文件位置

    原文:http://www.cnblogs.com/52cik/p/js-console-show-source.html 在控制台输入要查找的函数名如votePost 然后回车: 函数源码粗显啦,并 ...