Spark单独集群模式部署

目录

 

网络配置

SSH 免密码登录

部署

执行测试


网络配置

 

192.168.81.157 node1 master

192.168.81.158 node2 slave1

192.168.81.159 node3 slave2

 

相同的配置先在一个节点上配置,配置完成后复制到其它节点上。

vi /etc/hosts

192.168.81.157 node1

192.168.81.158 node2

192.168.81.159 node3

分别对应每一台主机修改主机名;

依次修改所有节点 node[1-3]上分别执行

hostnamectl set-hostname node1

 

拷贝文件到其他节点

for a in {2..3} ; do scp /etc/hosts node$a:/etc/hosts ; done

 

SSH 免密码登录

1.在集群node1的 /etc/ssh/sshd_config  文件

vi /etc/ssh/sshd_config

RSAAuthentication yes #开启私钥验证 PubkeyAuthentication yes #开启公钥验证

2.将集群node1 修改后的 /etc/ssh/sshd_config  通过 scp 命令复制发送到集群的每一个节点

for a in {2..3} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done

3.生成公钥、私钥

1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P '',生成 key,一律回车

ssh-keygen -t rsa -P ''

4.在集群的node1 节点输入命令

将集群每一个节点的公钥id_rsa.pub放入到自己的认证文件中authorized_keys;

for a in {1..3}; do ssh root@node$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done

5.在集群的node1 节点输入命令

将自己的认证文件 authorized_keys  通过 scp 命令复制发送到每一个节点上去: /root/.ssh/authorized_keys`

for a in {2..3}; do scp /root/.ssh/authorized_keys root@node$a:/root/.ssh/authorized_keys ; done

6.在集群的每一个节点节点输入命令

接重启ssh服务

sudo systemctl restart sshd.service

7.验证 ssh 无密登录

开一个其他窗口测试下能否免密登陆

例如:在node3

ssh root@node2

exit 退出

 

部署

node1机器上

部署/opt/目录

tar xzvf spark-2.4.4-bin-hadoop2.7.tgz

cd spark-2.4.4-bin-hadoop2.7

cp conf/slaves.template conf/slaves

将slave机器名添加上

node2

node3

 

cp conf/spark-env.sh.template conf/spark-env.sh

 

所有机器都

yum install -y java-1.8.0-openjdk

 

vi conf/spark-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/

 

拷贝到其他机器上

for a in {2..3}; do scp -r /opt/spark-2.4.4-bin-hadoop2.7 node$a:/opt ; done

 

关闭防火墙(各台均执行)

systemctl stop firewalld.service

systemctl disable firewalld

 

node1机器上启动集群

./sbin/start-all.sh

关闭集群

./sbin/stop-all.sh

 

netstat -tunlp #看到8080端口已经被监听

 

浏览器访问页面

http://192.168.81.157:8080/

 

可以看到slave也加入到集群中了。

 

执行测试

bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 --num-executors 2 /opt/spark-2.4.4-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.4.jar

……

19/12/17 17:46:05 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 2.072959 s

Pi is roughly 3.141275706378532

……

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.1.2 Document类型【JavaScript高级程序设计第三版】

JavaScript 通过Document 类型表示文档。在浏览器中,document 对象是HTMLDocument(继承自Document 类型)的一个实例,表示整个HTML 页面。而且,document 对象是window 对象的一个属性,因此可以将其作为全局对…

Ubuntu18.04 Flutter开发环境搭建

目录 flutter安装 android studio安装 Android Studio创建Flutter项目 运行应用程序 flutter安装 下载flutter https://flutter.dev/docs/development/tools/sdk/releases?tablinux https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_…

STL浅析——序列式容器vector的数据结构

vecotr 一词原来的意思是:矢量,向量,航向,顾名思义指的就是类似于数组的一个存储数据的序列,因此所采用的数据结构非常简单:连续的线性空间,它以两个迭代器 _M_start 和 _M_finish 分别指向配置…

“约见”面试官系列之常见面试题之第一百零一篇之vue-router传参(建议收藏)

vue-router传递参数分为两大类 编程式的导航 router.push声明式的导航 <router-link> 编程式的导航 router.push 编程式导航传递参数有两种类型&#xff1a;字符串、对象。 字符串 字符串的方式是直接将路由地址以字符串的方式来跳转&#xff0c;这种方式很简单但是不…

“约见”面试官系列之常见面试题之第一百零二篇之vue-router的两种模式(建议收藏)

众所周知&#xff0c;vue-router有两种模式&#xff0c;hash模式和history模式&#xff0c;这里来谈谈两者的区别。 hash模式 hash模式背后的原理是onhashchange事件,可以在window对象上监听这个事件: 上面的代码可以通过改变hash来改变页面字体颜色&#xff0c;虽然没什么用…

olive videoeditor开源跨平台视频编辑器

目录 简介 官网 使用 简介 olive是开源的视频编辑软件&#xff0c;目前下载版本为Alpha版&#xff0c;但已基本可用。 本文讲解添加图片、特效及文字&#xff0c;最后导出视频的简单过程。 官网 Olive - Professional Open-Source Video Editor 下载地址 Olive - Profes…

Centos7.5 Ambari2.7.4部署

目录 1.简介 2.环境准备 3.SSH 免密码登录 4.服务环境 5.本地源搭建 6.安装 7.启动 8.Web页面部署服务 1.简介 本文介绍了Ambari2.7.4在CentOS7.5中使用本地镜像方式进行加速部署。 Ambari Apache Ambari是一种基于Web的工具&#xff0c;支持Apache Hadoop集群的供应…

“约见”面试官系列之常见面试题之第一百零五篇之v-if与v-show(建议收藏)

相同点&#xff1a;v-if与v-show都可以动态控制dom元素显示隐藏 不同点&#xff1a;v-if显示隐藏是将dom元素整个添加或删除&#xff0c;而v-show隐藏则是为该元素添加css--display:none&#xff0c;dom元素还在。 都修改为false后&#xff0c;第一个div是直接被移除掉了 需要…

Apache Nifi 入门与进阶 GitChat连接

NiFi 是美国国家安全局开发并使用了 8 年的可视化数据集成产品&#xff0c;2014 年 NAS 将其贡献给了 Apache 社区&#xff0c;2015 年成为 Apache 顶级项目。 大数据平台都需要进行数据流转&#xff0c;Apache Nifi 作为一款强大的数据流开源软件&#xff0c;支持大量的输入输…

“约见”面试官系列之常见面试题之第一百零六篇之css只在当前组件中起作用(建议收藏)

方法很简单&#xff0c;在组件中的style前面加上scoped就可以了&#xff0c;示例&#xff1a;

html中a标签如何设置行宽高

方法一&#xff1a;float&#xff0c;对a样式盒子float:left让它成浮动 直接演示一下了(实现下面页面) 代码如下 <style>#page{width:120px; /* 在外面画一个区域 */height:700px;}li{list-style:none;}a{text-decoration:none; …

jmeter监控服务资源

转&#xff1a;http://www.cnblogs.com/chengtch/p/6079262.html 1、下载需要的jmeter插件 如图上面两个是jmeter插件&#xff0c;可以再下面的链接中下载&#xff1a; https://jmeter-plugins.org/downloads/old 第三个是放在服务器中的&#xff0c;可在下面的度盘中下载&…

RANSAC算法在图像拼接上的应用的实现

关于算法原理请参考《基于SURF特征的图像与视频拼接技术的研究》。一、问题提出RANSAC的算法原理并不复杂&#xff0c;比较复杂的地方在于“建立模型”和“评价模型”。我们经常看到的是采用“直线”或者“圆”作为基本模型进行“建立”&#xff0c;而采用所有点到该“直线”或…

ajax 接收json数据的进一步了解

var url "../searchclasses";$.ajax({url: url,type: "post",dataType: "json",//以json形式接收error: function() {alert("error");},success: function(data) {var html "";$.each(data, function(index, content) {va…

Spark在Ambari集群环境的使用

进入安装sparkclient的节点 hdfs准备一个文件 su - hdfs vi text.txt 随便写几行东西 #创建目录 hdfs dfs -mkdir /user/hdfs/test #上传文件 hdfs dfs -put test.txt /user/hdfs/test/ #检查文件是否在 hdfs dfs -ls /user/hdfs/test/ #检查内容是否对 hdfs dfs -c…

Spark实战之读写HBase

1 配置 1.1 开发环境&#xff1a; HBase&#xff1a;hbase-1.0.0-cdh5.4.5.tar.gzHadoop&#xff1a;hadoop-2.6.0-cdh5.4.5.tar.gzZooKeeper&#xff1a;zookeeper-3.4.5-cdh5.4.5.tar.gzSpark&#xff1a;spark-2.1.0-bin-hadoop2.61.2 Spark的配置 Jar包&#xff1a;需要HBa…

vitualbox命令操作VBoxManage

进入本地virtualbox管理 运行服务器上的virtualbox 本地直接启动了virtualbox界面 这个很牛啊&#xff0c;直接本地图形化管理了&#xff0c;不用纠结服务器端没有显卡&#xff0c;进不去图形界面的问题了。 研究了VBoxManage startvm 最后才发现可能这样也行&#xff0c;哈…

Hadoop2之NameNode HA详解

在Hadoop1中NameNode存在一个单点故障问题&#xff0c;如果NameNode所在的机器发生故障&#xff0c;整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNode&#xff0c;但是它并不是NameNode的备份&#xff0c;它只是NameNode的一个助理&#xff0c;协助NameNode工作&#x…