阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

解决百度BMR的Spark集群开启slaves结点的问题

475次阅读
没有评论

共计 2630 个字符,预计需要花费 7 分钟才能阅读完成。

前言

最近一直忙于和小伙伴倒腾着关于人工智能的比赛,一直都没有时间停下来更新更新我的博客。不过在这一个过程中,遇到了一些问题,我还是记录了下来,等到现在比较空闲了,于是一一整理出来写成博客。希望对于大家有帮助,如果在此有不对的地方,请大家指正,谢谢!


比赛遇到 spark 开启的问题

疑惑之处

在使用百度 BMR 的时候,出现了这样子一个比较困惑的地方。但百度那边帮我们初始化了集群之后,我们默认以为开启了 spark 集群了,于是就想也不想就开始跑我们的代码。可认真你就错了,发现它只是开启了 local(即 Master 结点),其他的 slaves 结点并没有开启。于是我们不得不每一次都进入到 Master 的 /opt/bmr/spark/conf/ 中去修改 slaves 文件,去把它里面最后的那个 localhost 删除,添加上 slaves 结点的 hostname 或者是 IP。

原来的 localhost:

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

改变成如下:

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

麻烦之处

最是麻烦的地方是,这个 slaves 文件,每次使用 spark 集群的时候都要去修改,非常不方便。在此吐槽一下百度 BMR 的不智能的地方。于是想,有木有好的办法可以让我们省去这样的麻烦呢?


使用脚本开启百度 BMR 的 spark 集群

观察 Hadoop 文件夹下的情况

在开启集群的时候,百度提供我们选择 Hadoop 的镜像版本,而这个 Hadoop 是必选的。前几篇博文里见到配置 Hadoop 的时候其实需要配置其他 slaves 的结点的。知道这个,就有点惊喜了,因为 Hadoop 下的 slaves 文件是长这样子的

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

观察 spark 文件夹下的情况

spark 下的 conf 文件夹,一开始并没有 slaves,我们需要从它的 slaves.template 拷贝过来

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

cp /opt/bmr/spark/conf/slaves.template /opt/bmr/spark/conf/slaves

使用脚本,拷贝 slaves 的 hostname 到 spark 下的 slaves

我们需要做的是,获取 Hadoop 下 slaves 的 slaves 结点的 hostname,进而拷贝到 spark 下的 slaves 文件的最后两行,拷贝之前,需要把 spark 的 slaves 的最后一行 localhost 给删除掉。那么有哪个 shell 指令可以帮我解决这个难题了?经过询问后台的大佬,以及晚上查阅,发现了 sed 这个指令可以帮助我们解决这个问题。

sed 的介绍

[root@www ~]# sed [-nefr] [动作]
选项与参数:-n:使用安静 (silent) 模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行 (或者动作) 才会被列出来。-e:直接在命令列模式上进行 sed 的动作编辑;-f:直接将 sed 的动作写在一个文件内,-f filename 则可以运行 filename 内的 sed 动作;-r:sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i:直接修改读取的文件内容,而不是输出到终端。动作说明:[n1[,n2]]function
n1, n2:不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『10,20[动作行为]』function:a:新增,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c:取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!d:删除,因为是删除啊,所以 d 后面通常不接任何咚咚;i:插入,i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);p:列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s:取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

使用 sed 写脚本

具体用到的有:

-i # 因为信息我觉得不用输出到终端上
d  # 需要删除 localhost

这是删除 localhost 的:

sed -i '/localhost/d' /opt/bmr/spark/conf/slaves

追加 slaves 的 hostname 到 spark 的 slaves 最后

for slaves_home in `cat /opt/bmr/hadoop/etc/hadoop/slaves`
do
echo $slaves_home >> /opt/bmr/spark/conf/slaves
done

最后 spark 下的 slaves 文件是这样子的

解决百度 BMR 的 Spark 集群开启 slaves 结点的问题

完整的代码如下

echo "Starting dfs!"
/opt/bmr/hadoop/sbin/start-dfs.sh
echo "*******************************************************************"

echo "Starting copy!"
cp /opt/bmr/spark/conf/slaves.template /opt/bmr/spark/conf/slaves
echo "Copy finished!"
echo "Writing!"
sed -i '/localhost/d' /opt/bmr/spark/conf/slaves
for slaves_home in `cat /opt/bmr/hadoop/etc/hadoop/slaves`
do
echo $slaves_home >> /opt/bmr/spark/conf/slaves
done
echo "*******************************************************************"

echo "Starting spark!"
/opt/bmr/spark/sbin/start-all.sh
echo "*******************************************************************"

echo "Watching the threads"
jps

查看到 Master 进程已经开启了,就大功告成了!


结言

只要把上面的代码保存到一个.shell 文件下。给它加上可运行的权限,然后就大功告成了。理论上,百度 BMR 的 spark 的路径都是一致的,因而都能通用,希望能减轻大家每次配置的烦恼。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146210.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2630字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993202
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...