《Spark Streaming实时流式大数据处理实战》 ——2.3.2 启动集群

举报
华章计算机 发表于 2020/02/22 13:58:48 2020/02/22
【摘要】 本节书摘来自华章计算机《Spark Streaming实时流式大数据处理实战》 —— 书中第2章,第2.3.2节,作者是肖力涛 。

2.3.2  启动集群

  前面对Spark集群进行了一些基本的配置,一些在具体环境中用到的配置,会在后面介绍。在启动集群前还需要进行一项关键的设置。

  由于Spark在进行集群中每个节点的启动、停止的时候,都用SSH进行登录操作,所以与Hadoop类似,我们也需要进行SSH免密登录的设置,在Mac OS中配置方式如下所述。

  (1)在终端执行ssh-keygen -t rsa,之后一直按回车键,如果本机已经执行过该命令,可能会提示覆盖源文件,选择yes选项。

  (2)执行cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,用于授权你的公钥到本地可以无须密码登录。

  对于Linux操作系统,可以执行如下命令进行免密设置:

  

  ssh-keygen -t rsa -P ""

  cat ./.ssh/id_rsa.pub >> ./.ssh/authorized_keys

  chmod 600 ~/.ssh/authorized_keys

  

  值得注意的是,如果集群中不止一个slaves节点,那么需要在每台机器上进行免密登录设置,并将其IP配置到Master节点下的conf和slaves配置文件中,这样Spark才能在配置的每个slave节点启动Worker进程。

  完成上述操作,就开始激动人心的一刻——启动Spark集群了。在Spark的安装目录下进入sbin目录,具体如下:

  

  $ ll sbin/

  drwxr-xr-x@ 24 xiaolitao  staff   768 11  6  2017 ./

  drwxr-xr-x@ 18 xiaolitao  staff   576 11  5  2017 ../

  -rwxr-xr-x@  1 xiaolitao  staff  2803  7  1  2017 slaves.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1429  7  1  2017 spark-config.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  5688  7  1  2017 spark-daemon.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1262  7  1  2017 spark-daemons.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1190  7  1  2017 start-all.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1274  7  1  2017 start-history-server.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  2050  7  1  2017 start-master.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1877  7  1  2017 start-mesos-dispatcher.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1423  7  1  2017 start-mesos-shuffle-

    service.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1279  7  1  2017 start-shuffle-service.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  3151  7  1  2017 start-slave.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1527  7  1  2017 start-slaves.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1857  7  1  2017 start-thriftserver.sh*

  -rwxrwxrwx@  1 xiaolitao  staff  1478  7  1  2017 stop-all.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1056  7  1  2017 stop-history-server.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1080  7  1  2017 stop-master.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1227  7  1  2017 stop-mesos-dispatcher.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1084  7  1  2017 stop-mesos-shuffle-

    service.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1067  7  1  2017 stop-shuffle-service.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1557  7  1  2017 stop-slave.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1064  7  1  2017 stop-slaves.sh*

  -rwxr-xr-x@  1 xiaolitao  staff  1066  7  1  2017 stop-thriftserver.sh*

  

  我们会发现Spark提供了大量的shell脚本用于操作Spark集群,其中用得比较多的是以下3个脚本文件。

* start-all.sh/stop-all.sh:用于启动集群上的所有节点和停止集群上的所有节点。

* start-master.sh/stop-master.sh:用于单独启动Master进程和停止该进程。

* start-slave.sh/stop-slave.sh:用于启动指定节点的Worker进程和停止该节点的所有Worker进程。

  我们直接通过start-all.sh的脚本来启动配置的所有节点,包括一个Master进程和两个Worker进程,代码如下:

  

  $ sbin/start-all.sh

  starting org.apache.spark.deploy.master.Master, logging to /Users/xiaolitao/

    Tools/spark-2.2.0-bin-hadoop2.7//logs/spark-xiaolitao-org.apache.spark.

    deploy.master.Master-1-LITAOXIAO-MC0.out

  localhost: starting org.apache.spark.deploy.worker.Worker, logging to

    /Users/xiaolitao/Tools/spark-2.2.0-bin-hadoop2.7//logs/spark-xiaolitao-

    org.apache.spark.deploy.worker.Worker-1-LITAOXIAO-MC0.out

  localhost: starting org.apache.spark.deploy.worker.Worker, logging to

    /Users/xiaolitao/Tools/spark-2.2.0-bin-hadoop2.7//logs/spark-xiaolitao-

    org.apache.spark.deploy.worker.Worker-2-LITAOXIAO-MC0.out

  localhost: starting org.apache.spark.deploy.worker.Worker, logging to

    /Users/xiaolitao/Tools/spark-2.2.0-bin-hadoop2.7//logs/spark-xiaolitao-

    org.apache.spark.deploy.worker.Worker-3-LITAOXIAO-MC0.out

  

  Spark提供了一套完整的Web UI用于监控整个集群的情况,默认的访问端口是8080,我们也可以在之前的spark-env.sh中通过SPARK_MASTER_WEBUI_PORT/ SPARK_WORKER_WEBUI_PORT参数进行修改。集群启动成功后,访问该页面如图2.6所示。

 image.png

图2.6  Spark集群网页监控

  Spark集群中Master节点的默认端口号是7077,我们可以通过SPARK_MASTER_ PORT参数在spark-env.sh中进行配置。从图2.6中可以看出,之前我们配置了两个Worker进程实例,每个Worker实例为2核7GB内存,总共是4核14GB内存。

  我们看到,目前显示的Worker资源都是空闲的,当向Spark集群提交应用之后,Spark就会分配相应的资源给程序使用,可以在该页面看到资源的使用情况。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。