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

部分执行日志:

执行结果:

完成!!

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

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

相关文章

ajax post提交数据_详解Ajax异步加载

前言:作为资深球迷,提起Ajax,第一反应想到的是阿贾克斯,那个曾培养出伊布,范德法特,苏亚雷斯,亨特拉尔等一众球星的荷甲著名球队。很显然,我们今天说的Ajax,跟足球没有任…

win10改计算机用户名,win10系统修改本地账号用户名的操作方法

很多小伙伴都遇到过对win10系统修改本地账号用户名进行设置的困惑吧,一些朋友看过网上对win10系统修改本地账号用户名设置的零散处理方法,并没有完完全全明白win10系统修改本地账号用户名的操作方法非常简单,只需要1、首先打开Win10控制面板&…

2020 ccf推荐中文期刊_CCF推荐国际学术期刊

中国计算机学会推荐国际学术期刊(计算机系统与高性能计算)一、A类序号刊物简称刊物全称出版社网址1TOCSACM Transactions on Computer SystemsACM2TOCIEEE Transactions on ComputersIEEE3TPDSIEEE Transactions on Parallel and DistributedSystemsIEEE二、B类序号刊物简称刊物…

假设以带头结点的循环链表表示队列_关于反转链表,看这一篇就够了!

本期例题:LeetCode 206 - Reverse Linked List[1](Easy)反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL反转链表这道题是我在阿里的面试中遇到的题目。它本身也是单链表…

1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!

原标题:适合老电脑升级?GTX1650显卡开箱,性价比依然不高!新一代的NV显卡高端版本基本上全部和大家见面,例如RTX2080ti、RTX2070等等。而中端的RTX2060和GTX1660ti也陆续被玩家接受,剩下入门级的显卡英伟达取…

python参数类型_Python 参数类型和参数匹配模型

Python 方法的参数种类有很多,而不是通常语言定义的那样, Python 方法的传参能力要比想象的强大很多。很多初学者可能对一些库中带 * 带 ** 的参数类型非常奇怪,但是其实这些语法正是保证 Python 方法传参强大的重要因素。 First Thing 首先要…

city如何使用 mega unity_制作思路和CityEngine的简单使用

最近什么都不想干,就总结一下之前做过的一些东西。首先是建立一个虚拟城市,目前这个城市还在建造中,主要是用于自己的之后的动画和开放世界游戏制作,下面说以下自己之前的思路。说起城市建模,可以说是哗的一下一大堆可…

计算机网络结构有哪些,计算机网络主要拓扑结构有哪些

计算机网络的最主要的拓扑结构有总线型拓扑、环形拓扑、树形拓扑、星形拓扑、混合型拓扑以及网状拓扑。其中环形拓扑、星形拓扑、总线型拓扑是三个最基本的拓扑结构。在局域网中,使用最多的是星形结构。网络的拓扑结构:网络拓扑结构是指抛开网络电缆的物…

iphone怎样关闭副屏_iPhone手机关掉这3个设置,不仅省电,而且手机还不会卡

现在很多人无论是吃饭睡觉上厕所手机都会形影不离,然而手机玩久了电量就会刷刷的往下掉,不仅如此长时间下去手机还会出现卡顿的情况。如何才能令手机不卡顿并且最大限度上省电呢?为大家分享几个技巧,关掉这3个设置,手机…

wxpython按钮形状如何修改_Python图形化界面入门教程 - 使用wxPython自定义表

原标题:Python图形化界面入门教程 - 使用wxPython自定义表 来自: Linux迷 网址:https://www.linuxmi.com/python-gui-wxpython-zidingyi-biao.html 在此Python GUI中,我们学习下在wxPython中显示“定制表” 。在第一部分中&#x…

武汉大学计算机考研 专业课程,2018武汉大学计算机考研复试经验贴

2018武汉大学计算机考研复试经验贴武汉大学发布于2019年9月22日 12:25阅读数 18196初试唯一要讲的就是专业课问题,今年专业课改革,只考两门专业课。一门是数据结构,分值为90分,只有选择题和代码题,大概24个选择题&…

hi3798mv300是什么手机_华为海思电视芯片hi3798mv300 硬件参数如何?

这个是MV300的参数http://www.hisilicon.com.cn/-/media/Hisilicon/pdf/STB/Hi3798MV300.pdf​www.hisilicon.com.cn这个是MV200的参数http://www.hisilicon.com/-/media/Hisilicon/pdf/STB/Hi3798MV200.pdf​www.hisilicon.com两者对比:从参数来看,V300…

python 字符串分割_python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接...

字符串根据分隔符切割后输出,一下面 #!/usr/bin/python # -*- coding: utf-8 -*- str"abc,123 efg,567" #以空行分割后输出 print str.split(); #以,分割2次后输出 print str.split(,,2); #以,分割2次后输出地2个参数,1是从0开始,代…

武汉计算机985211大学有哪些,武汉985211大学有哪些 武汉985211大学有什么

想必大家都听过去武大看樱花这句话吧!湖北最出名的大学可能就是武汉大学了,但是武汉大学不仅仅以其优秀的师资闻名,也以校园里美丽的樱花闻名。想要了解武汉985211大学有哪些,就来看看这些文章吧!武汉的985大学有武汉大学和华中科技大学。211…

迪信通机器人_迪信通要做机器人 玩票还是另有深意?

原标题:迪信通要做机器人 玩票还是另有深意?“迪信通要玩场大的。”迪信通(06188.HK)总裁金鑫近日向第一财经记者表示。金鑫所说,指向迪信通正在布局的一系列转型。迪信通是国内手机线下连锁渠道商,2015年,在手机行业整体增速放缓…

defaultdict python_Python使用defaultdict读取文件各列的方法

本文实例讲述了Python使用defaultdict读取文件各列的方法。分享给大家供大家参考,具体如下: #!/usr/bin/python """USAGE: python *.py align_SNP_site out_file""" import sys #import time from collections import Cou…

为什么输入法显示中文打不出中文_搜狗输入法打不出中文怎么回事 打不出汉字解决办法...

搜狗输入法有的时候在电脑上打不出中文的情况你有遇到过吗?想知道如何修复搜狗输入法?不妨来看看本站提供的详细教程吧!搜狗输入法打不出中文怎么回事?第一种:我们可以在搜狗输入法的“设置属性”――输入法修复器――…

html一排小标题怎么写,工作总结大标题小标题怎么写

大凡公文中所说的标题主要有两种:一种是公文本身的标题。根据中办发《党政机关公文处理工作条例》中的表述,“标题由发文机关名称、事由和文种组成。”按照此义,这里的标题应是指公文的总标题,也有人称之为题目、名称、大标题或主…

github 公钥 私钥_ubuntu git生成ssh key (公钥私钥)配置github或者码云

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:设置Git的user name和email:git config --global user.name "xx"git config --global user.email &qu…

vmci.sys版本不正确_这样安装 Python 库才是最正确的哦

优质文章,第一时间送达!分享一篇之前的文章,里面的这个Python知识点,可能很多人都还不清楚。平常我都是直接执行 pip install安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安…