`

Spark学习环境搭建-虚拟机版

 
阅读更多

计划2个月内能精通spark开发,今天起开始努力!

1、环境准备

  虚拟机采用visualbox,https://www.virtualbox.org

     在上面搭建ubuntu server 集群,下载ubuntu server 光盘镜像,http://www.ubuntu.com/download/server

  在visualbox上安装 ubuntu server,从中选择英文语言,如果中文可能会有乱码,按提示基本一路回车。

  装好ubuntu server第一件事是安装增强功能,visualbox光驱设置成为VBoxGuestAdditions.iso,进入虚拟机

$ sudo mount /dev/cdrom /media/cdrom 
$ sudo aptitude install build-essential  linux-headers-$(uname -r) -y
$ cd  /media/cdrom
$ sudo ./VBoxLinuxAdditions.run

 安装成功的标志是鼠标可以随便拖动。

 安装ssh服务器

$ sudo apt-get install openssh-server

 visualbox中设置本虚拟机的网络为“桥接网络" ,这样就可以通过ssh客户端链接到虚拟机中。

新装的ubuntu server开始并不好用,为了让下载速度更快一点需要更新ubuntu的软件源

根据官方文档 http://wiki.ubuntu.org.cn/Qref/Source

 

新建用户名sparker

ubuntu建用户最好用adduser,虽然adduser和useradd是一样的在别的linux糸统下,但是我在ubuntu下用useradd时,并没有创建同名的用户主目录。
例子:adduser user1
这样他就会自动创建用户主目录,创建用户同名的组。
root@ubuntu:~# sudo adduser sparker
[sudo] password for xx:
输入xx用户的密码,出现如下信息
正在添加用户"sparker"…
正在添加新组"sparker" (1006)…
正在添加新用户"sparker" (1006) 到组"sparker"…
创建主目录"/home/sparker"…
正在从"/etc/skel"复制文件…
输入新的 UNIX 口令:
重新输入新的 UNIX 口令:
两次输入db的初始密码,出现的信息如下
passwd: password updated successfully
Changing the user information for db
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Full Name []:等信息一路回车
这个信息是否正确? [Y/n] y
到此,用户添加成功。如果需要让此用户有root权限,执行命令:
root@ubuntu:~# sudo vim /etc/sudoers
修改文件如下:
# User privilege specification
root ALL=(ALL) ALL
sparker ALL=(ALL) ALL
保存退出,sparker用户就拥有了root权限。

 

 

1、安装jdk

      

1.删除自带的
2.安装Oracle官方的
sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java8-installer
3.管理
sudo update-alternatives --config java

 2、下载需要的安装包,我在sparker用户目录下面新建了一个~/bigdata文件夹,用于存放需要的安装包;

 

 

wget http://apache.osuosl.org/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz
wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.9/sbt-0.13.9.tgz
wget http://apache.claz.org/hadoop/common/hadoop-2.6.3/hadoop-2.6.3.tar.gz
wget http://apache.mirrors.tds.net/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
wget http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
wget http://mirror.reverse.net/pub/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
 

 

2、对所有安装包进行解压,重命名

 

比如:
tar -zxf hadoop-2.6.3.tar.gz 
mv hadoop-2.6.3 hadoop
    依次对所有的包进行解压,解压完的目录结构如下:

 

 

 

3、环境变量设置

$ vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export SBT_HOME=$HOME/bigdata/sbt
export MAVEN_HOME=$HOME/bigdata/maven
export SPARK_HOME=$HOME/bigdata/spark/
export HADOOP_HOME=$HOME/bigdata/hadoop/
export HADOOP_CONF_DIR=$HOME/bigdata/hadoop/etc/hadoop
export SCALA_HOME=$HOME/bigdata/scala/
export PATH=$PATH:$MAVEN_HOME/bin:$SBT_HOME/bin:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

$source  .bashrc

 

验证一下
$sbt sbt-version
[info] Set current project to sparker (in build file:/home/sparker/)
[info] 0.13.9

$mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /home/sparker/bigdata/maven
Java version: 1.8.0_66, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-25-generic", arch: "amd64", family: "unix"

$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

 

 4、关闭当前虚拟机,复制虚拟机2台,组成一个3台的集群。

   进入每台机器,

   修改 /etc/hostname 定义机器名列表为:

 

master
slave1
slave2
   修改 /etc/hosts 如下,IP为实际的机器IP

 

 

192.168.3.10 master
192.168.3.11 slave1
192.168.3.12 slave2
 

 

 

 

 

 

5、打通各个服务器的ssh免密码登陆

 

1:生成密钥
ssh-keygen -t rsa
2:把本机的公钥追到slave1,slave2的 .ssh/authorized_keys 里
ssh-copy-id -i ~/.ssh/id_rsa.pub jifeng@feng02
3:测试 
ssh slave1
 

 6、zookeeper配置

 

1、在master 机器的zookeeper home目录下
   mkdir data
   mkdir logs

   cd conf
   cp zoo_sample.cfg zoo.cfg
   
   vim zoo.cfg #在最后面增加如下代码:
   dataDir=/home/sparker/bigdata/zookeeper/data
   dataLogDir=/home/sparker/bigdata/zookeeper/logs
   server.1=master:2888:3888
   server.2=slave1:2888:3888
   server.3=slave2:2888:3888

  
3、设置serverid
   cd data
   echo "1">myid   #在data目录下生成myid文件,内容为1
4、copy zookeeper 到另两个节点
   cd /usr/local
   scp -r ./zookeeper root@slave1:/usr/local/
   scp -r ./zookeeper root@slave2:/usr/local/
   
   登录到slave1:
   cd data  #zookeeperhome目录下的data文件夹
   echo "2">myid
   登录到slave2:
   cd data
   echo "3">myid
5、运行zookeeper:
   ./bin/zkServer.sh start  #zookeeper每个节点需要单独启动运行

 

 

 7、修改spark配置,并同步到所有机器。

 

$ cd ~/bigdata/spark/conf
$ cp spark-env.sh.template spark-env.sh
$ vim spark-env.sh
export SCALA_HOME=$HOME/bigdata/scala
#export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=1G
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export MASTER=spark://master:7077
export export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,slave1:2181,slave2:2181 -Dspark.deploy.zookeeper.dir=/spark"

 

8、Spark Standalone HA运行:

 

  1、分别启动三个节点的zookeeper:
  ./bin/zkServer.sh start   #关闭服务,把start换成stop

  2、在master启动Spark
  ./sbin/start-all.sh

  3、启动StandBy Spark Master,假设为Slave1
  ./sbin/start-master.sh

  4、用jps查看进程
  master节点包含:  Master、Worker、Jps、QuorumPeerMain
  Standby节点(slave1):Master、Worker、Jps、QuorumPeerMain
  slave2节点:Worker、Jps、QuorumPeerMain

 

9、完了我们写个spark程序验证一下整个集群是否可用,参照 http://spark.apache.org/docs/latest/quick-start.html#self-contained-applications 写个程序来计算某个txt文件中含字母a的总行数和含字母b的总行数。新建mvn 工程myfirstsparkapp(可到附件下载),代码如下。然后通过 mvn clean package打出一个jar包MySimpleSpark-1.0-SNAPSHOT.jar

 

package com.jinn.spark;

/**
 * @author zhanjun.
 * @version MyFistSparkApp, v 0.1 2016  16-1-18 上午7:34 zhanjun Exp $$
 * @description
 */

import org.apache.spark.api.java.*;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.function.Function;

/**
 * 计算txt 中含a 含b的总行数
 */
public class SimpleApp {
    public static void main(String[] args) {
        /**
         * 保证这个readme.txt在集群的各个节点上都有
         */
        String logFile = "file:///home/sparker/bigdata/worksparce/readme.txt";
        SparkConf conf = new SparkConf().setAppName("Simple Application");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> logData = sc.textFile(logFile).cache();

        long numAs = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) {
                return s.contains("a");
            }
        }).count();
        long numBs = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) {
                return s.contains("b");
            }
        }).count();
        System.out.println("------Lines with a: " + numAs + ", lines with b: " + numBs);
    }
}

 
 

把生成的jar 上传到spark集群的某个节点,并要求集群中所有节点都有我们的测试数据readme.txt(含英文的文本) 通过spark-submit提交任务:

spark-submit --class "com.jinn.spark.SimpleApp" --master spark://master:7077 ~/bigdata/worksparce/MySimpleSpark-1.0-SNAPSHOT.jar 

 可以看到执行结果:



 
 

  恭喜您,部署成功了!

  

  • 大小: 65.8 KB
  • 大小: 75.8 KB
  • 大小: 160.5 KB
  • 大小: 37.2 KB
  • 大小: 248.9 KB
分享到:
评论

相关推荐

    Spark集群及开发环境搭建(完整版)

    ### Spark集群及开发环境搭建(完整版) #### 一、软件及下载 本文档提供了详细的步骤来指导初学者搭建Spark集群及其开发环境。首先需要准备的软件包括: - **VirtualBox-5.1**:虚拟机软件,用于安装CentOS操作...

    hadoop 2.6.0 及Spark1.3.1平台搭建20150505-优化版

    本指南将详细介绍如何在基于 Hadoop 2.6.0 的环境中搭建 Spark 1.3.1 平台,以实现高效的数据处理。 首先,我们需要进行虚拟化环境的准备。这里推荐使用 VMware Workstation 11 作为虚拟化软件,它为开发和测试提供...

    集群环境搭建-Centos+kafka+zookeeper+hadoop+Spark

    通过VirtualBox安装多台虚拟机,实现集群环境搭建。 优势:一台电脑即可。 应用场景:测试,学习。 注意事项:请严格按照文档操作,作者已经按照文档操作实现环境搭建。 内附百度网盘下载地址,有hadoop+zookeeper+...

    2.5.Spark集群环境搭建1

    Spark 集群环境搭建 在大数据处理中,Spark 集群环境的搭建是非常重要的一步。今天,我们将学习如何搭建 Spark 集群环境,并了解整个过程中的关键步骤。 什么是 Spark 集群环境? Spark 集群环境是指一组计算机...

    大数据基础和应用-虚拟机安装

    2. **集群模拟**:通过虚拟机技术,可以模拟大数据集群环境,这对于学习和研究Hadoop、Spark等大数据框架非常有帮助。 3. **资源管理**:虚拟机技术还能够帮助管理员更好地管理数据中心资源,实现动态资源分配,提高...

    大数据学习之路 Hadoop篇(一):超简单的虚拟机搭建Hadoop+Hive+Spark+HBase环境-附件资源

    大数据学习之路 Hadoop篇(一):超简单的虚拟机搭建Hadoop+Hive+Spark+HBase环境-附件资源

    hadoop2.7.4 spark2.2.1 最新版本环境搭建

    ### Hadoop 2.7.4 与 Spark 2.2.1 集群环境搭建详解 #### 一、概述 本文档旨在提供一份关于如何在三台虚拟机上搭建基于Hadoop 2.7.4 和 Spark 2.2.1 的大数据集群环境的详细指南。该文档适合于那些希望了解并实践...

    大数据环境搭建(java, hadoop, hbase, spark, miniconda, jupyte)

    本环境搭建主要包括以下几个核心部分:Java、Hadoop、HBase、Spark、Miniconda以及Jupyter。 首先,Java是大数据处理的基础,因为许多大数据工具依赖于Java运行时环境。在Ubuntu中,首先需要下载JDK的压缩包,将其...

    Hadoop+Spark本地集群环境搭建

    本文主要是学习大数据的常用工具框架,搭建Hadoop3.4.0 + Spark3.5.1 on Yarn的集群环境,本集群用到4台虚拟机(物理机也可以),1主3从。 实验环境:VMWare WorkStation + CentOS8.5 + JDK17 + Hadoop3.4.0 + Spark...

    Spark 编程基础(Scala 版)-机房上机实验指南

    - **环境搭建**: - **安装Scala**:确保Scala版本与Spark兼容。 - **安装Spark**:下载并解压Spark二进制包,配置环境变量。 - **IDE支持**:推荐使用IntelliJ IDEA或Eclipse with the Scala plugin。 - **配置...

    spark部署和基础代码的编写

    - **机器部署**:为了搭建Spark集群,你需要多台服务器或者虚拟机,确保它们之间网络通信畅通,并配置好硬件资源以满足Spark应用的需求。 - **下载Spark安装包**:从Apache官方网站下载最新版本的Spark,根据你的...

    大数据技术开发环境搭建.docx

    本教程涵盖了大数据技术开发环境的搭建,涉及多个重要组件,包括Hadoop、Spark、HBase、Hive等。以下将详细介绍这些技术的安装与配置过程。 首先,搭建开发环境通常从软件下载开始,这里可能包括虚拟机管理器(如...

    Linux下搭建spark.docx

    **四、Spark的分布式环境搭建** 1. **下载Spark**:从Spark官方网站(https://spark.apache.org/downloads.html)获取所需版本,例如Spark 2.4.0,解压至合适目录。 2. **配置Spark**:修改`conf/spark-env.sh`,...

    Spark大数据处理学习笔记

    本篇笔记主要涵盖了 Spark 大数据处理的学习笔记,包括了 Spark Standalone 集群的搭建、RDD 的创建和算子、RDD 的分区、RDD 典型案例、IDEA 开发词频统计项目等方面的知识点。 一、Spark Standalone 集群的搭建 *...

    大数据学习环境搭建系列(一)大数据集群平台介绍.docx

    在搭建过程中,通常会用到虚拟机技术,如Vmware,通过虚拟机在个人计算机上模拟多台服务器环境。在这个案例中,我们将搭建一个包含四个虚拟机的集群:一个用于伪分布式的`single_node`,另外三个`master`、`slave1`...

    大数据学习环境搭建系列(一)大数据集群平台介绍.pdf

    在搭建大数据集群时,通常会在虚拟机上运行Linux操作系统,如Ubuntu或CentOS,因为Linux提供了稳定且可定制的环境,适合大数据服务的部署。文中提到了Vmware虚拟机,它是广泛使用的虚拟化软件,允许我们在一台物理...

    spark入门教程

    ### Spark入门教程知识点详解 ...通过以上步骤的学习,读者应该能够成功搭建起一个简单的Spark集群,并对Spark的基本操作有所了解。随着进一步的学习和实践,可以深入探索Spark的各种高级功能,如流处理、机器学习等。

    2021_新版本软件安装_v5_20211002_192.168.88.2_安装Spark-NoSQL-Flink1

    这个过程将涉及使用Vmware虚拟机作为基础平台,并在其中安装CentOS操作系统,为后续的大数据处理组件搭建环境。以下是你需要了解的关键知识点: **1. Vmware虚拟机的安装与配置** 1.1. 安装Vmware虚拟机:通常,...

    Spark实验:On Yarn模式安装部署(带答案)1

    首先,我们需要准备实验环境,这里包括三台虚拟机,操作系统为CentOS 7.5,Hadoop版本为2.7.3,Spark版本为2.1.1。这些版本的兼容性对于实验的成功至关重要。 实验的步骤如下: 1. **解压Spark安装包**:在master...

Global site tag (gtag.js) - Google Analytics