学习笔记二:spark单节点搭建

0 前言

关于hadoop搭建可参见hadoop单节点搭建。当然你有多服务器或设备支持,也可直接参见搭建Spark集群

1 安装scala

  • 下载scala-2.11.8
$ wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
  • 解压scala
$ sudo tar -C /usr/local -xzf scala-2.11.8.tgz
  • 配置环境变量
$ sudo vim /etc/profile

写入如下内容

export SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH

应用环境变量

$ source /etc/profile
  • 查询版本
$ scala -version
[hadoop@hadoop ~]$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
[hadoop@hadoop ~]$ 

2 安装spark

  • 下载spark-2.3.0
$ wget http://mirrors.shu.edu.cn/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz
  • 解压spark
$ sudo tar -C /usr/local -xzf spark-2.3.0-bin-hadoop2.7.tgz
  • 配置环境变量
$ sudo vim /etc/profile

写入如下内容

#spark
export SPARK_HOME=/usr/local/spark-2.3.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH

应用环境变量

$ source /etc/profile
  • 运行spark-shell
$ spark-shell
[hadoop@hadoop ~]$ spark-shell
2018-04-06 16:30:52 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://hadoop:4040
Spark context available as 'sc' (master = local[*], app id = local-1523003463742).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.0
      /_/
         
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

spark管理页面http://hadoop:4040

3 配置spark

  • 修改host-user
$ vim ~/.ssh/config

没有该文件就新建,添加如下内容

Host hadoop
  user hadoop

host 以你自身主机名为准,user以你的用户名为主,笔者这里host主机名为hadoop,使用的用户也为hadoop。如你的主机为master,用户为abc,则修改为

Host master
  user abc
  • 修改spark主目录用户所有者
$ sudo chown -R hadoop spark-2.3.0-bin-hadoop2.7

这样不需要以root权限来启动spark

接着尝试以单本机部署master和slaves节点在master节点主机上进行如下操作:

  • 编辑slaves
    将slaves.template copy到slaves
$ cd $SPARK_HOME/conf
$ cp slaves.template slaves

slaves文件设置Worker节点。编辑slaves内容,

$ vim slaves

把默认内容localhost替换成如下内容:

hadoop
  • 编辑spark-env.sh
    将 spark-env.sh.template 拷贝到 spark-env.sh
$ cp spark-env.sh.template spark-env.sh
$ vim spark-env.sh

编辑spark-env.sh,添加以下内容

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-3.0.1/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop-3.0.1/etc/hadoop
export SPARK_MASTER_IP=192.168.56.101
export SPARK_MASTER_HOST=192.168.56.101
  • 启动spark
    启动spark集群前,要先启动Hadoop集群。在master节点主机上运行如下命令:
$ $HADOOP_HOME/sbin/start-all.sh
  1. 启动master节点
    在master节点主机上运行如下命令:
$ $SPARK_HOME/sbin/start-master.sh
  1. 启动所有slave节点
    在master节点主机上运行如下命令:
$ $SPARK_HOME/sbin/start-slaves.sh

输入http://192.168.56.101:8080/即可查看网页端

    原文作者:四丢皮得
    原文地址: https://www.jianshu.com/p/8c0b1b39d0e5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞