Spark(三): spark集群环境搭建

docker
  1. Hadoop的集群,我做过一个镜像(这里
  2. 然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点
  3. 在Master节点上配置Slave节点信息
  4. 在Master上启动Hadoop集群
  5. 在Master上启动Zookeeper集群(这里
  6. 在Master上启动Hbase集群(这里
Scala安装
我使用的是scala-2.12.4.tgz,其他版本请看这里
解压后重命名,接来配置环境变量
编辑配置  vi ~/.bashrc  
#scala
export SCALA_HOME=/usr/local/hadoop/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
生效配置  source ~/.bashrc
Spark安装
我使用的是spark-2.3.0-bin-hadoop2.7,其他版本请看这里
wget http://mirror.bit.edu.cn/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz
tar -zxvf spark-2.3.0-bin-hadoop2.7.tgz
mv spark-2.3.0-bin-hadoop2.7 spark-2.3.0
编辑配置  vi ~/.bashrc  
#spark
export SPARK_HOME=/usr/local/hadoop/spark-2.3.0
export PATH=$PATH:$SPARK_HOME/bin
source ~/.bashrc
scala -version
生效配置 source ~/.bashrc
Spark配置
复制配置文件
cp    spark-env.sh.template   spark-env.sh
vi spark-env.sh配置加入
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.3
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.8.3/etc/hadoop
export SPARK_HOME=/usr/local/hadoop/spark-2.3.0
export SCALA_HOME=/usr/local/hadoop/scala-2.12.4
export SPARK_MASTER_IP=master 
export SPARK_EXECUTOR_MEMORY=1G
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
  • JAVA_HOME:Java安装目录 
  • SCALA_HOME:Scala安装目录 
  • HADOOP_HOME:hadoop安装目录 
  • HADOOP_CONF_DIR:hadoop集群的配置文件的目录
  • SPARK_MASTER_IP:spark集群的Master节点的ip地址 
  • SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
  • SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
  • SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
编辑slaves
cp    slaves.template   slaves
vi slaves加入Worker节点如下配置
slave1
slave2
提交docker镜像
docker commit -m "hadoop spark install" 288382f13c7d   linux:hadoop
节点hostnameip用途Docker启动脚本
Mastermaster10.0.0.2

Master

docker run  -p 50070:50070 -p 19888:19888 -p 8088:8088 -p 2181:2181 -p 16010:16010 -p 8080:8080 --name  master  -ti -h master linux:hadoop
Slaveslave110.0.0.3

Worker

docker run -it -h slave1 --name slave1  linux:hadoop  /bin/bash
Slaveslave210.0.0.4

Worker

docker run -it -h slave2 --name slave2  linux:hadoop  /bin/bash

这里有几个问题:

  1. Docker容器中的ip地址是启动之后自动分配的,且不能手动更改
  2. hostname、hosts配置在容器内修改了,只能在本次容器生命周期内有效。如果容器退出了,重新启动,这两个配置将被还原。且这两个配置无法通过commit命令写入镜像
配置hosts
  1. 通过ifconfig命令获取各节点ip。环境不同获取的ip可能不一样,例如我本机获取的ip如下: 
    • master:172.17.0.2
    • slave1:172.17.0.3
    • slave2:172.17.0.4
  2. 使用 vi /etc/hosts  命令将如下配置写入各节点的hosts文件,注意修改ip地址:

    172.17.0.2      master    
    172.17.0.3      slave1    
    172.17.0.4      slave2  
  3. 启动sshd  /usr/sbin/sshd

  4. 启动spark

    cd /usr/local/hadoop/spark-2.3.0/sbin
    ./start-all.sh

注意启动顺序:zookeeper -> Hadoop -> Hbase -> spark

jps查看进程

可以通过Web页面看到查看Master的状态:http://IP:8080


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值