zoukankan      html  css  js  c++  java
  • 在Ubuntu下搭建Spark群集

    前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集。由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多。

    首先打开三个虚拟机,现在我们需要安装Scala,因为Spark是基于Scala开发的,所以需要安装Scala。在Ubuntu下安装Scala很简单,我们只需要运行

    sudo apt-get install scala

    就可以安装Scala了。

    安装完成后运行scala -version可以看到安装的Scala的版本,我现在2.11版,安装目录是在/usr/share/scala-2.11 。

    接下来下载Spark。到官方网站,找到最新版的Spark的下载地址,选择Hadoop版本,

    http://spark.apache.org/downloads.html

    wget http://spark下载地址

    当下载完毕后解压文件:

    tar xvf spark-2.0.2-bin-hadoop2.7.tgz

    接下来我们需要将解压的文件夹移动到指定目录,因为之前我们Hadoop安装到/usr/local/hadoop,所以我们也可以把Spark放在/usr/local/spark下:

    sudo mv spark-2.0.2-bin-hadoop2.7 /usr/local/spark

    进入spark文件夹下的conf文件夹,里面有个spark-env.sh.template文件,是spark环境变量设置的目标,我们可以复制一个出来:

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

    然后编辑该文件

    vi spark-env.sh

    在文件的末尾我们添加上以下内容:

    export SCALA_HOME=/usr/share/scala-2.11 
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
    export HADOOP_HOME=/usr/local/hadoop 
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
    SPARK_MASTER_IP=master 
    SPARK_LOCAL_DIRS=/usr/local/spark 
    SPARK_DRIVER_MEMORY=1G 
    export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

    这里的内容是根据我虚拟机的环境来的,如果安装的版本和路径不一样,可以根据实际情况更改。

    接下来设置slaves文件。

    cp slaves.template slaves
    vi slaves

    将内容改为

    slave01

    slave02

    Spark在一台机器上就算配置完毕,接下来在另外两台机器上也做一模一样的配置即可。

    启动Spark

    在master上,我们先启动Hadoop,然后运行

    /usr/local/spark/sbin/start-all.sh

    便可启动Spark。

    运行jps看看Java进程:

    2929 Master
    2982 Jps
    2294 SecondaryNameNode
    2071 DataNode
    1929 NameNode
    2459 ResourceManager
    2603 NodeManager

    发现比Hadoop启动的时候多了Master进程。

    切换到slave01节点上,运行JPS,看看进程:

    1889 Worker
    1705 NodeManager
    1997 Jps
    1551 DataNode

    这里比Hadoop的时候多了一个Worker进程。说明我们的Spark群集已经启动成功。

    下面访问Spark的网站:

    http://192.168.100.40:8080/

    可以看到2个worker都启动。

    image

    最后,我们运行一下Spark的示例程序:

    /usr/local/spark/bin/run-example SparkPi 10 --slave01 local[2]

    可以在结果中找到

    Pi is roughly 3.14XXXXX

    说明我们运行成功了。

  • 相关阅读:
    学习笔记008之Task
    问题: ActivityManager: Warning: Activity not started, its current task has been brought to the front
    问题; No label views point to this text field with an android:labelFor="@+id/@+id/editTextNumber1" attribute
    学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件
    学习笔记002之学习资料
    学习笔记001之环境配置
    设计模式之代理模式
    C# Enum转换
    Json数据序列化对象,及对象序列化为Json格式
    groupby以后取每组前n行
  • 原文地址:https://www.cnblogs.com/studyzy/p/6204620.html
Copyright © 2011-2022 走看看