python搭建分布式集群_Spark完全分布式集群搭建【Spark2.4.4+Hadoop3.2.1】
一.安装Linux
需要:3台CentOS7虚拟机
注意:
虚拟机的网络设置为NAT模式,NAT模式可以在断网的情况下连接上虚拟机而桥架模式不行!
二.设置静态IP
跳转目录到:
修改IP设置:
备注:执行scp命令拷贝设置文件到另外两个节点,修改IP分别为192.168.136.8和192.168.136.9
三.安装JDK
参考我的博客:https://www.cnblogs.com/yszd/p/10140327.html
四.运行Spark预编译包中的实例
1.测试Scala代码实例
执行:
运行Scala版本计算Pi的代码实例结果:
表示运行成功!
2.测试python代码实例
执行:
运行python版本计算Pi的代码实例,注意,若要是遇到下面的异常:
表示没有指定ip,这是需要修改配置文件spark-env.sh,前往conf目录下执行
拷贝配置模板文件,并修改为spark-env.sh,执行
打开配置文件,添加,指定默认ip。
然后继续执行计算Pi代码命令:
结果如下:
表示执行成功!
五.本地体验Spark
1.执行命令进入Spark交互模式
2.编写简单代码实例
执行结果:
六.免密码登录
参考我的博客:https://www.cnblogs.com/yszd/p/10123911.html
备注:如果是使用root或高权限的账号操作的,那么authorized_keys文件本身权限就够,无需追加权限,否则可以使用chmod添加权限。另外,各个节点首次访问时需要输入密码!
七.Zookeeper集群部署
1.上传zookeeper到集群的各个节点
2.修改配置,指定datadir和集群节点配置
initLimit=10syncLimit=5dataDir=/hadoop/zookeeper
dataLogDir=/usr/local/soft/zookeeper-3.4.12/log
clientPort=2181#maxClientCnxns=60server.1 = master:2888:3888server.2 = slave01:2888:3888server.3 = slave02:2888:3888
3.配置myid
注意:内容为上面server.x中的x
4.启动zookeeper节点,查看节点运行状态
注意:节点zhen启动异常,查看zoo.cfg配置是否正确及防火墙是否已经关闭,确定无误后等待zookeeper自启!
异常节点zhen启动成功,zookeeper集群搭建完成!
八.Spark Standalone集群搭建
安装scala环境
下拉到最下面,选择scala-2.11.12.rpm使用rpm安装:
上传到集群:
执行命令:rpm -ivh scala-2.11.12.rpm安装scala环境,输入scala -version检测是否安装成功
表示安装成功!
配置环境变量,编辑etc/profile,添加:
九.Hadoop3.2.1完全分布式搭建
1.下载文件
2.上传并解压Hadoop文件
3.修改相应配置文件
3.1 etc/profile:
3.2 HADOOP_HOME/etc/hadoop/hadoop-env.sh
3.3 HADOOP_HOME/etc/hadoop/slaves,注意:在Hadoop3.1之后,slaves改为workers
3.4 HADOOP_HOME/etc/hadoop/core-site.xml
fs.default.name
hdfs://master:9000
io.file.buffer.size
131072
hadoop.tmp.dir
/usr/local/soft/hadoop-3.2.1/tmp
3.5 HADOOP_HOME/etc/hadoop/hdfs-site.xml
dfs.replication
2
dfs.namenode.name.dir
file:/usr/local/soft/hadoop-3.2.1/hdfs/name
dfs.datanode.data.dir
file:/usr/local/soft/hadoop-3.2.1/hdfs/data
dfs.namenode.secondary.http-address
master:50090
3.6 HADOOP_HOME/etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
注意:在Hadoop3.1之后,为了避免在执行任务时报一下错误:
要额外添加一下配置(也就是上面报错信息提到的配置):
3.7 HADOOP_HOME/etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
master
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800
3.8 格式化Hadoop
执行:hdfs namenode -format
4.拷贝Hadoop到Worker节点
执行命令:scp -r /usr/local/soft/hadoop-3.2.1 root@worker1:/usr/local/soft
执行命令:scp -r /usr/local/soft/hadoop-3.2.1 root@worker2:/usr/local/soft
5.在浏览器上输入:master:50070查看,注意:在Hadoop3.1之后,端口修改为9870
表示安装成功!
十.Spark-2.4.4完全分布式搭建
1.下载安装文件
2.上传并解压安装文件
3.修改相应的配置文件
3.1 etc/profile
3.2 SPARK_HOME/conf/spark-env.sh
3.3 SPARK_HOME/conf/slaves
十一.编辑集群的脚本
1.启动脚本
#!/bin/bash
echo-e "=========================Start spark cluster=================================="echo-e "Starting Hadoop..."
/usr/local/soft/hadoop-3.2.1/sbin/start-all.sh
echo-e "Starting Spark..."
/usr/local/soft/spark-2.4.4-bin-hadoop2.7/sbin/start-all.sh
echo-e "The Result of the Command \"jps\""jps
echo-e "=================================End=========================================="
注意:如果jps没有namenode,则说明namenode元数据损坏,这时需要前往bin目录下,执行:hadoop namenode -format重建一下
2.关闭脚本
#!/bin/bash
echo-e "=========================Stop spark cluster=================================="echo-e "Stoping Hadoop..."
/usr/local/soft/hadoop-3.2.1/sbin/stop-all.sh
echo-e "Stoping Spark..."
/usr/local/soft/spark-2.4.4-bin-hadoop2.7/sbin/stop-all.sh
echo-e "The Result of the Command \"jps\""jps
echo-e "=================================End=========================================="
十二.测试
1.测试Hadoop
1.1 创建测试文件
1.2 编辑内容
spark scala hadoop spark hadoop java redis hbase hive kafka flume
1.3 创建Hadoop文件夹,用于保存测试文件
hadoop fs -mkdir -p /hadoop/data
1.4 把创建好的测试文件导入到Hadoop中
hadoop fs -put /wordcount.txt /hadoop/data/
1.5 运行程序
hadoop jar /usr/local/soft/hadoop-3.2.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /hadoop/data /hadoop/output
1.6 执行结果
2.测试Spark
执行Spark提交命令:./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.4.4.jar 1000
部分执行日志:
执行结果:
完成!!
python搭建分布式集群_Spark完全分布式集群搭建【Spark2.4.4+Hadoop3.2.1】相关推荐
- 伪分布式集群、完全分布式搭建步骤详情
** 伪分布式集群.完全分布式搭建步骤详情 4.1 伪分布式模式介绍 1.特点- 在一台机器上安装,使用的是分布式思想,即分布式文件系统,非本地文件系统.- Hdfs涉及到的相关守护进程(nameno ...
- 前后端分离 集群负载均衡 分布式 微服务
一.前后端分离 1.为什么要前后端分离 在以前传统的网站开发中,前端一般扮演的只是切图的工作,只是简单地将UI设计师提供的原型图实现成静态的HTML页面,而具体的页面交互逻辑,比如与后台的数据交互工作 ...
- Hadoop集群搭 Hadoop分布式文件系统架构和设计
Hadoop集群搭建 先决条件 确保在你集群中的每个节点上都安装了所有必需软件. 获取Hadoop软件包. 安装 安装Hadoop集群通常要将安装软件解压到集群内的所有机器上. 通常,集群里的一台机器 ...
- Spark弹性分布式数据集RDD:基于内存集群计算的容错抽象
摘要 我们提出的弹性分布式数据集(RDDs),是一个让程序员在大型集群上以容错的方式执行基于内存计算的分布式内存抽象.RDDs受启发于两类使用当前计算框架处理不高效的应用:迭代算法和交互式数据挖掘工具 ...
- 基于redis集群实现的分布式锁,可用于秒杀,定时器。
在分布式系统中,经常会出现需要竞争同一资源的情况,使用redis可以实现分布式锁. 前提:redis集群已经整合项目,并且可以直接注入JedisCluster使用: @Autowiredprivate ...
- 分布式和集群区别与分布式的应用场景
分布式是指将一个业务拆分不同的子业务,分布在不同的机器上执行,集群是指多台服务器集中在一起,实现同一业务,可以视为一台计算机,一个云计算平台,就是通过一套软件系统把分布式部署的资源集中调度使用.要应对 ...
- python 64式: 第26式、分布式锁与群组管理__1、 tooz介绍
引言: python中分布式锁与群组管理系列 最近有接触到分布式锁的相关问题. 基于openstack相关组件源码, tooz官网文档和自己对组件使用的一点点心得, 想整理一下这部分的内容. 主要想分 ...
- 分布式一致性协议 Gossip 和 Redis 集群原理解析
分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...
- MATLAB代码:分布式最优潮流 含分布式光伏的配电网集群划分和集群电压协调控制
MATLAB代码:分布式最优潮流 关键词:网络划分:分布式光伏:集群电压控制:分布式优化:有功缩减 参考文档:<含分布式光伏的配电网集群划分和集群电压协调控制> 仿真平台:MATLAB 主 ...
最新文章
- 【OpenCV 4开发详解】漫水填充法
- 5G研发大幕开启 终端硝烟已燃
- 通过项目逐步深入了解Mybatis二
- proxifier代理失败原因_上海财务代理
- hdu 2188悼念512汶川大地震遇难同胞——选拔志愿者(博弈)
- 真不值!技术大神,却只是阿里P6...
- 网络协议,各层功能,各层协议
- 在Java中如何从一个多层嵌套循环中直接跳出?
- linux多个文件打包命令行,linux命令五十七之tar命令;linux多个文件压缩打包到一个压缩文件...
- [JSOI2008]火星人 hash+splay
- Jsp Layout 布局页
- 三菱plc软件测试程序com端口,三菱plc编程软件com端口不能保存
- 码农小汪-Java Condition
- 学计算机编程要学什么软件有哪些内容,加工中心自学电脑编程应该学习什么软件...
- NIOS II 烧写epcs中遇到的问题
- python代码格式化工具下载_python 代码格式化工具:autopep8
- emacs 学习成长记
- 在C ++中加载TORCHSCRIPT模型
- 反射式、透射式空间光调制器简介
- 网络舆情风险评估工作有效做好的实施方案
热门文章
- python中的ix是啥_python ix什么意思
- MySQL远程用户授权
- java10.0.1怎么安装_关于tomcat:您使用哪个Java? 在Server 2016上安装JDK和JRE(10.0.1); 设置JAVA_HOME和路径...
- php如何解码图片,php基于base64解码图片与加密图片还原实例_PHP
- 同事操作两个数据源保持事务一致_「微服务架构」微服务架构中的数据一致性...
- stm32 图像处理_假如STM32也有朋友圈
- android微信小程序支持横屏,微信小程序关于横屏存在的一些问题
- linux 安装x环境,linux下安装xdebug
- 深度学习之卷积神经网络(4)LeNet-5实战
- 低成本DIY视频预览遥控小车