本文作者:KTV免费预定

关于spark服务器配置不同的信息

KTV免费预定 2024年10月20日 08:49:38 1

本文目录一览:

spark-shell启动报错如下。请问该如何解决。多谢帮助!

试试在spark-env.sh中设置:

export

SPARK_MASTER_IP=127.0.0.1

export

SPARK_LOCAL_IP=127.0.0.1

Spark从入门到精通3:Spark全分布模式的安装和配置

Spark的安装模式一般分为三种:1.伪分布模式:即在一个节点上模拟一个分布式环境,master和worker共用一个节点,这种模式一般用于开发和测试Spark程序;2.全分布模式:即真正的集群模式,master和worker部署在不同的节点之上,一般至少需要3个节点(1个master和2个worker),这种模式一般用于实际的生产环境;3.HA集群模式:即高可用集群模式,一般至少需要4台机器(1个主master,1个备master,2个worker),这种模式的优点是在主master宕机之后,备master会立即启动担任master的职责,可以保证集群高效稳定的运行,这种模式就是实际生产环境中多采用的模式。本小节来介绍Spark的全分布模式的安装和配置。

安装介质:

jdk-8u162-linux-x64.tar.gz 提取码:2bh8

hadoop-2.7.3.tar.gz 提取码:d4g2

scala-2.12.6.tgz 提取码:s2ly

spark-2.1.0-bin-hadoop2.7.tgz 提取码:5kcf

准备3台Linux主机,按照下面的步骤在每台主机上执行一遍,设置成如下结果:

安装Linux操作系统比较简单,这里不再详细。参考:《 Linux从入门到精通1:使用 VMware Workstation 14 Pro 安装 CentOS 7 详细图文教程 》

编辑hosts配置文件:# vi /etc/hosts,追加3行:

测试主机名是否可用:

(1)使用ssh-keygen工具生成秘钥对:

(2)将生成的公钥发给三台主机:master、slave1、slave2:

(3)测试秘钥认证是否成功:

由于各个主机上的时间可能不一致,会导致执行Spark程序出现异常,因此需要同步各个主机的时间。在实际生成环境中,一般使用时间服务器来同步时间,但是搭建时间服务器相对较为复杂。这里介绍一种简单的方法来快速同步每台主机主机的时间。我们知道,使用date命令可以设置主机的时间,因此这里使用putty的插件MTPuTTY来同时向每一台主机发送date命令,以到达同步时间的目的。

(1)使用MTPuTTY工具连接三台主机,点击MTPuTTY工具的Tools菜单下的“Send script…”子菜单,打开发送脚本工具窗口。

(2)输入命令:date -s 2018-05-28,然后回车(注意:一定要回车,否则只发送不执行),在下面服务器列表中选择要同步的主机,然后点击“Send script”,即可将时间同步为2018-05-28 00:00:00。

使用winscp工具将JDK安装包 jdk-8u144-linux-x64.tar.gz 上传到/root/tools/目录中,该目录是事先创建的。

进入/root/tools/目录,将jdk安装包解压到/root/training/目录中,该目录也是事先创建的。

使用winscp工具将Hadoop安装包 hadoop-2.7.3.tar.gz 上传到master节点的/root/tools/目录中,该目录是事先创建的。

进入/root/tools/目录,将hadoop安装包解压到/root/training/目录中,该目录也是事先创建的。

进入Hadoop配置文件目录:

(1) 配置hadoop-env.sh文件:

(2) 配置hdfs-site.xml文件:

(3) 配置core-site.xml文件:

(4) 配置mapred-site.xml文件:

将模板文件mapred-site.xml.template拷贝一份重命名为mapred-site.xml然后编辑:

(5) 配置yarn-site.xml文件:

(6) 配置slaves文件:

将master上配置好的Hadoop安装目录分别复制给两个从节点slave1和slave2,并验证是否成功。

第一次启动需要输入yes继续。

启动成功后,使用jps命令查看各个节点上开启的进程:

使用命令行查看HDFS的状态:

使用浏览器查看HDFS的状态:

使用浏览器查看YARN的状态:

(1) 在HDFS上创建输入目录/input:

(2) 将本地数据文件data.txt上传至该目录:

(3) 进入到Hadoop的示例程序目录:

(4) 执行示例程序中的Wordcount程序,以HDFS上的/input/data.txt作为输入数据,输出结果存放到HDFS上的/out/wc目录下:

(5) 查看进度和结果:

可以通过终端打印出来的日志信息知道执行进度:

执行结束后可以在HDFS上的/out/wc目录下查看是否有_SUCCESS标志文件来判断是否执行成功。

如果执行成功,可以在输出目录下看到_SUCCESS标志文件,且可以在part-r-00000文件中查看到wordcount程序的结果:

由于Scala只是一个应用软件,只需要安装在master节点即可。

使用winscp工具将Scala安装包上传到master节点的/root/tools目录下:

进入/root/tools目录,将Scala安装包解压到安装目录/root/training/:

将Scala的家目录加入到环境变量PATH中:

使环境变量生效:

输入scala命令,如下进入scala环境,则证明scala安装成功:

我们先在master节点上配置好参数,再分发给两个从节点slave1和slave2。

使用winscp工具将Spark安装包上传到master节点的/root/tools目录下:

进入/root/tools目录,将Spark安装包解压到安装目录/root/training/下:

注意:由于Spark的命令脚本和Hadoop的命令脚本有冲突(比如都有start-all.sh和stop-all.sh等),

所以这里需要注释掉Hadoop的环境变量,添加Spark的环境变量:

按Esc:wq保存退出,使用source命令使配置文件立即生效:

进入Spark的配置文件目录下:

(1) 配置spark-env.sh文件:

(2) 配置slaves文件:

将master上配置好的Spark安装目录分别复制给两个从节点slave1和slave2,并验证是否成功。

启动后查看每个节点上的进程:

使用浏览器监控Spark的状态:

使用spark-shell命令进入SparkContext(即Scala环境):

启动了spark-shell之后,可以使用4040端口访问其Web控制台页面(注意:如果一台机器上启动了多个spark-shell,即运行了多个SparkContext,那么端口会自动连续递增,如4041,4042,4043等等):

注意:由于我们将Hadoop从环境变量中注释掉了,这时只能手动进入到Hadoop的sbin目录停止Hadoop:

Spark中常用的端口总结:

Spark端口总结

Spark的端口总结

Master节点的web端口是8080,work节点的web端口是8081

spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口(比如:Tomcat)时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,也可以自行设置,修改方法:

1、cd $SPARK_HOME/sbin

2、vi start-master.sh

if [ "$SPARK_MASTER_WEBUI_PORT" = "" ]; then

SPARK_MASTER_WEBUI_PORT=8080 #可以修改端口号

fi

8080端口:master WEB端口

8081端口:work WEB端口

7077端口:

master通信端口

18080端口:spark历史服务器端口

相关配置:

conf目录下

cp spark-defaults.conf.template spark-defaults.conf

编辑spark-defaults.conf这个文件

编辑spark-env.sh文件

使用sbin/start-history-server.sh脚本启动

启动日志:

执行spark任务

启动日志:

Web界面

4040端口:

2.3  Spark当前执行的任务页面查看端口4040(例如:使用spark-shell启动spark,此时的任务可以在4040端口页面查看),如果任务结束了4040端口页面不能访问

默认是4040,我改配置改了下

如何在一台服务器上配置不同的环境?

用个虚拟机是可以的spark服务器配置不同,可以用VirtualBox 或vmwarespark服务器配置不同,可以在一台机器上部署多个虚拟机spark服务器配置不同,每个可以当做一台独立的计算机使用spark服务器配置不同,所以spark服务器配置不同你的要求是可以满足的。

服务器的配置和PC机配置的区别

在如下几个方面不同于PC:

在CPU处理能力方面

由于服务器要将其数据、硬件提供给网络共享,在运行网络应用程序时要处理大量的数据。因此要求CPU要有很强的处理能力。大多数IA架构的服务器采用多CPU对称处理技术,多颗CPU共同进行数据运算,大大地提高了服务器的计算能力,满足学校的教学、多媒体应用方面的需求。而PC基本上都配置的是单颗CPU,所以PC在数据处理能力上比起服务器当然要差许多了。如果用PC充当服务器,在多媒体教学中会经常发生宕机、停滞或启动很慢等现象。

在I/O性能方面

服务器采用的冗余电源

在安全可靠性方面

由于服务器是网络中的核心设备,因此它必须具备高可靠性、安全性。服务器采用专用的ECC内存、RAID技术、热插拔技术、冗余电源(如图1所示)、冗余风扇等方法使服务器具备容错能力、安全保护能力。

服务器需保证长时间连续运行。多长的时间算长时间呢?不同的服务器有不同的标准。一般来说,对工作组级服务器的要求是在工作时间(每天8小时,每周5天)内没有故障;对部门级服务器的要求是每天24小时、每周5天内没有故障;而对企业级服务器的要求是最高的,要求全年365天、每天24小时都要保证没有故障,也就是说,服务器随时可用。而PC是针对个人用户而设计的,因此在安全、可靠性方面PC要远远低于服务器。如果用PC作为服务器,在教学应用中出现宕机或发生数据丢失的现象自然是不可避免的了。

在学校教学及校园网络应用中,经常有许多的用户同时访问服务器,网络上存在着大量多媒体信息的传输,要求服务器的I/O(输入/输出)性能要强大。服务器上采用了SCSI卡、RAID卡、高速网卡、内存中继器等设备,大大提高了服务器I/O能力。因为PC是个人电脑,无需提供额外的网络服务,因此在PC上很少使用高性能的I/O技术,和服务器相比其I/O性能自然相差甚远。

在扩展性方面

随着教育信息化应用的不断成熟,学校必然会面临网络设备的扩充和升级问题。服务器具备较多的扩展插槽、较多的驱动器支架及较大的硬盘、内存扩展能力,使得用户的网络扩充时,服务器也能满足新的需求,保护了学校的设备投资成本。如图2所示的服务器主板,具有数量高达8个之多的内存插槽,最高支持16GB的内存,这样的扩充能力是PC无可比拟的。

服务器主板上的8个内存插槽

在可管理性方面

从软、硬件的设计上,服务器具备较完善的管理能力。多数服务器在主板上集成了各种传感器,用于检测服务器上的各种硬件设备,同时配合相应管理软件,可以远程监测服务器,从而使网络管理员对服务器系统进行及时有效的管理。有的管理软件可以远程检测服务器主板上的传感器记录的信号,对服务器进行远程的监测和资源分配。而PC由于其应用场合较为简单,所以没有较完善的硬件管理系统。对于缺乏专业技术人员的学校来说,选用可管理性强的服务器可以免去许多烦恼。

为了使您更好地理解服务器和PC机的区别,请参见附表的对照。在校园网中,虽然高档PC可以暂且充当低端工作组级服务器进行工作,但是为了满足学校应用需求、为了保障您的数据安全,您最好还是选择专业服务器。国内服务器厂商浪潮、联想、曙光、方正都有专为教育用户量身定做的教育专用服务器,这些产品的性价比很高,是教育用户的理想选择。

Spark从入门到精通7:Spark客户端之Spark Submit的使用

通过前面的介绍我们知道,Spark的客户端(Driver)有两种:Spark Submit和Spark Shell。这两种客户端相同点都是维护一个Spark Context对象,来向Spark集群提交任务;不同点是Spark Submit只能提交任务,不能交互,而Spark Shell是一个命令行工具,即可以提交任务,还可以人机交互。本节先来介绍Spark Submit客户端的使用。

例子:使用蒙特卡罗方法计算圆周率。

如图所示,蒙特卡罗方法求圆周率,使用的是概率的思想:往正方形区域随机撒点,总点数记为P2,落在单位圆区域内的点数记为P1,单位圆的面积为π,正方形的面子为4,π = P1 / P2 * 4。这里的P1和P2均由随机实验中得到,实验的次数(P2)越多,得到的结果就越精确。

Spark提供的测试用例$SPARK_HOME/examples/jars/spark-examples_2.11-2.1.0.jar中就有蒙特卡罗求圆周率的例子SparkPI,我们就使用它来介绍Spark Submit的使用。

(1)如果配置了基于Zookeeper的Spark HA,需要先启动Zookeeper服务器

(2)启动Spark集群

使用Spark Submit的命令格式如下:

(1)提交SparkPI任务,随机实验次数为100:

(2)提交SparkPI任务,随机实验次数为1000:

(3)提交SparkPI任务,随机实验次数为10000:

可以看到上面三次实验的结果分别是:

一般对于随机实验来说,试验次数越多结果越精确。但是不免存在误差。如果想要获取更精确的圆周率,你可以输入更多的次数进行测试。但这不是本文介绍的重点。

至此,使用Spark Submit客户端提交Spark任务的方法已经介绍完毕,祝你玩的愉快!

阅读
分享