当前位置:首页 » 文件管理 » spark文件夹

spark文件夹

发布时间: 2022-09-13 10:56:55

⑴ 怎样升级spark集群到更新的版本

从官网下载最新版spark

将下载好的spark解压到目标文件夹中:tar –xzvf spark-1.6.1-bin-hadoop2.6.tgz。解压后spark中的内容如下所示:

进入$SPARK_HOME/conf 文件夹下配置spark,主要更改的文件有slaves,spark-env.sh,spark-defaults.conf。更改后的内容如下:
Slaves:

Spark-env.sh:

Spark-defaults.conf:

spark官方推出新版本的时候,已经考虑了新旧版本兼容性,所以这几个配置文件的内容大体上差不多。故你也可以直接拷贝旧版本的配置文件。
修改环境变量bashrc中的SPARK_HOME和PATH变量,指向新的版本的路径:

source .bashrc,使环境变量的更改生效。验证下环境变量的更改是否生效:

把配置好的SPARK拷贝到各个节点,并更改各个节点的 bashrc 环境变量。现在就可以使用新版本的集群啦!

9
升级到新版本后,旧的版本你也可以不删除,这样当需要的时候,你可以修改环境变量指向旧的版本,来完成回滚;当然你也可以到对应的目录下执行命令启动对应版本的集群,来测试比较新旧版本的不同。

⑵ 如何在spark中删除hdfs的某个文件夹

hadoop 添加删除datanode及tasktracker

首先:

建议datanode和tasktracker分开写独立的exclude文件,因为一个节点即可以同时是datanode和tasktracker,也可以单独是datanode或tasktracker。

1、删除datanode

修改namenode上的hdfs-site.xml

<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop/conf/datanode-allow-list</value>
</property>

<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/datanode-deny-list</value>
</property>

其中dfs.host列出了连入namenode的节点,如果为空,则所有的datanode都可以连入namenode。如果不为空,则文件中存在的datanode可以连入。
dfs.hosts.exclude列出了禁止连入namenode的节点。
如果一个节点同时存在于dfs.hosts和dfs.hosts.exclude,则禁止连入。

具体步骤

(1)将要删除的datanode加入到dfs.hosts.exclude指定的文件中。(最好使用主机名,IP有时可能不生效)

(2)动态刷新配置,不需要重启namenode

hadoop dfsadmin -refreshNodes

(3)通过hadoop dfsadmin -report或webui,可以看到,该datanode的状态为Decommissioning

(4)等待一段时间,该节点为dead状态。

(5)删除dfs.hosts文件中该节点 即下架目标机器后,再次编辑dfs.hosts.exclude,把刚才下架的机器的ip或机器名移走

(6)

hadoop dfsadmin -refreshNodes

注:按照上面的操作后,如果你想要重新启用该节点为datanode,从dfs.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该datanode:

/usr/local/hadoop/bin/hadoop-daemon.sh stop datanode
/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

注:正确的删除datanode的方法应该是按照上面的方法,使用exclude文件,而不应该直接去datanode上去sotp datanode,这样会造出数据丢失,而且stop以后,webui和hadoop dfsadmin -report都仍然显示该datanode节点。除非重新启动namenode。
之所以重新启用exclude的节点时可以stop datanode,因为此时该datanode不包含在cluster中,所以,stop后不会造成数据丢失。

2、添加datanode
如果存在dfs.hosts文件,且不为空,则添加新的datanode到该文件中,refreshNodes。
到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

如果不存在dfs.hosts文件,或文件为空,直接启动新节点即可。

3、删除tasktracker
原理和步骤与删除datanode一样。
<property>
<name>mapred.hosts</name>
<value>/usr/local/hadoop/conf/tasktracker-allow-list</value>
</property>

<property>
<name>mapred.hosts.exclude</name>
<value>/usr/local/hadoop/conf/tasktracker-deny-list</value>
</property>

动态刷新配置的命令为:
hadoop mradmin -refreshNodes
立刻生效,可以在webui中看到,nodes节点数量的变化,以及Excluded Nodes节点的变化。
具体的步骤参考上面的删除datanode的步骤

注:按照上面的操作后,如果你想要重新启用该节点为tasktracker,从mapred.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该tasktracker:

/usr/local/hadoop/bin/hadoop-daemon.sh stop tasktracker
/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

注:正确的删除tasktracker的方法应该是按照上面的方法,使用exclude文件,而不应该直接去tasktracker上去sotp tasktracker,这样会造成job失败,而且stop以后,webui上仍然显示该tasktracker节点。除非重新启动jobtracker。

我遇到的一个问题:
在exclude文件中,我使用了IP,发现tasktracker仍然参与计算。
在webui中发现,Excluded Nodes中存在该IP,Nodes中仍然存在该tasktracker的hostname。
解决的办法就是,在exclude中使用hostname而不使用IP。
判断是否真正生效:如果exclued文件中正确的填写了要失效的node,则总得nodes数量应该减小。

4、添加tasktracker
如果存在mapred.hosts文件,且不为空,则添加新的tasktracker到该文件中,refreshNodes。
到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

如果不存在mapred.hosts文件,或文件为空,直接启动新节点即可。

6、添加或删除datanode后,平衡磁盘利用率
运行bin/start-balancer.sh,这个会很耗时间
备注:
如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mr的工作效率;

/usr/local/hadoop/bin/start-balancer.sh -threshold 0.1
7下架目标机器后,再次编辑mapred.hosts.exclude,把刚才下架的机器的ip或机器名移走

threshold 是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长。
balancer也可以在有mr job的cluster上运行,默认dfs.balance.bandwidthPerSec很低,为1M/s。在没有mr job时,可以提高该设置加快负载均衡时间。
在namenode的hdfs-site.xml中增加设置balance的带宽,默认只有1M:

<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value><description>Specifies themaximum bandwidth that each datanode can utilize for the balancing purpose interm of the number of bytes per second.</description>
</property>

⑶ 如何在本地安装运行Spark

2.1.2在Windows上安装与配置Spark

本节介绍在Windows系统上安装Spark的过程。在Windows环境下需要安装Cygwin模拟Linux的命令行环境来安装Spark。

(1)安装JDK

相对于Linux、Windows的JDK安装更加自动化,用户可以下载安装Oracle JDK或者OpenJDK。只安装JRE是不够的,用户应该下载整个JDK。

安装过程十分简单,运行二进制可执行文件即可,程序会自动配置环境变量。

(2)安装Cygwin

Cygwin是在Windows平台下模拟Linux环境的一个非常有用的工具,只有通过它才可以在Windows环境下安装Hadoop和Spark。具体安装步骤如下。

1)运行安装程序,选择install from internet。

2)选择网络最好的下载源进行下载。

3)进入Select Packages界面(见图2-2),然后进入Net,选择openssl及openssh。因为之后还是会用到ssh无密钥登录的。

另外应该安装“Editors Category”下面的“vim”。这样就可以在Cygwin上方便地修改配置文件。

最后需要配置环境变量,依次选择“我的电脑”→“属性”→“高级系统设置”→“环境变量”命令,更新环境变量中的path设置,在其后添加Cygwin的bin目录和Cygwin的usr\bin两个目录。

(3)安装sshd并配置免密码登录

1)双击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config -y命令,出现如图2-3所示的界面。

2)执行后,提示输入密码,否则会退出该配置,此时输入密码和确认密码,按回车键。最后出现Host configuration finished.Have fun!表示安装成功。

3)输入net start sshd,启动服务。或者在系统的服务中找到并启动Cygwin sshd服务。

注意,如果是Windows 8操作系统,启动Cygwin时,需要以管理员身份运行(右击图标,选择以管理员身份运行),否则会因为权限问题,提示“发生系统错误5”。

(4)配置SSH免密码登录

1)执行ssh-keygen命令生成密钥文件,如图2-4所示。

2)执行此命令后,在你的Cygwin\home\用户名路径下面会生成.ssh文件夹,可以通过命令ls -a /home/用户名 查看,通过ssh -version命令查看版本。

3)执行完ssh-keygen命令后,再执行下面命令,生成authorized_keys文件。

cd ~/.ssh/
cp id_dsa.pub authorized_keys
这样就配置好了sshd服务。

(5)配置Hadoop

修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。

(6)配置Spark

修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。

(7)运行Spark

1)Spark的启动与关闭

①在Spark根目录启动Spark。

./sbin/start-all.sh
②关闭Spark。

./sbin/stop-all.sh
2)Hadoop的启动与关闭

①在Hadoop根目录启动Hadoop。

./sbin/start-all.sh
②关闭Hadoop。

./sbin/stop-all.sh
3)检测是否安装成功

正常状态下会出现如下内容。

-bash-4.1# jps
23526 Jps
2127 Master
7396 NameNode
7594 SecondaryNameNode
7681 ResourceManager
1053 DataNode
31935 NodeManager
1405 Worker
如缺少进程请到logs文件夹下查看相应日志,针对具体问题进行解决。

⑷ 求助Spark IV未能找到路径

SparkIV不需要放在游戏更目录的,放在任意文件夹,双击打开后点左上角,是原版就点GTAIV,资料片就点EFLC,然后选择游戏文件夹点确定即可,望采纳!

⑸ 怎么测试spark是否成功安装

启动Spark集群,启动后的WebUI如下

启动Spark Shell

Web控制台查看shell的情况

把Spark安装目录“README.md”拷贝到HDFS系统上在Master节点上新启动一个命令终端,并进入到Spark安装目录下

把文件拷贝到HDFS的root文件夹下

观察一下Web控制台,会发现该文件已经成功上传到HDFS上

在Spark shell之下操作编写代码,操作我们上传的“README.md”

⑹ 如何向Spark个节点共享静态文件和jar包

addFile方法可以接收本地文件(或者HDFS上的文件),甚至是文件夹(如果是文件夹,必须是HDFS路径),然后Spark的Driver和Exector可以通过SparkFiles.get()方法来获取文件的绝对路径(Get the absolute path of a file added through SparkContext.addFile()),addFile的函数原型如下:
def addFile(path: String): Unit
def addFile(path: String, recursive: Boolean): Unit
addFile把添加的本地文件传送给所有的Worker,这样能够保证在每个Worker上正确访问到文件。另外,Worker会把文件放在临时目录下。因此,比较适合用于文件比较小,计算比较复杂的场景。如果文件比较大,网络传送的消耗时间也会增长。
Spark中addFile加载配置文件
val qqwry = "hdfs://dcnameservice/mcloud/data/datacenter/aws/mediastat/tools/qqwry.dat"//分发文件sc.addFile(qqwry)

获取分发文件绝对路径:
SparkFiles.get("qqwry.dat");

我们在使用Spark的时候有时候需要将一些数据分发到计算节点中。一种方法是将这些文件上传到HDFS上,然后计算节点从HDFS上获取这些数据。当然我们也可以使用addFile函数来分发这些文件。注意,如果是spark程序通过yarn集群上加载配置文件,path必须是集群hdfs的绝对路径.

⑺ SparkAssetsDownloaded是什么文件夹

Downloaded是下载的意思,就是软件SparkAssets的下载文件夹。

⑻ 飞利浦 spark 上文件夹无法删除

别删了,你何必啊,弄得这么麻烦,又不影响你什么

⑼ 如何在pycharm中配置Spark

打开pycharm,导入已有的或者新建工程。
创建新的run configurition。
选择edit configurition。
设置环境,创建pythonPATH和SPARK_HOME
配置路径,都可以在Spark安装路径下找到:

选择 File->setting->你的project->project structure

右上角Add content root添加:py4j-some-version.zip和pyspark.zip的路径(这两个文件都在Spark中的python文件夹下,自己找一下)
保存,ok

⑽ spark 读取多个文件支持通配符吗为什么用通配符提示找不到文件

val wc = sc.textFile("/user/boco/yy/_*").flatMap(_.split(' ')).map((_,1)).groupByKey

直接用*代替,不用加“/”,刚我试过了。而且就算加,怎么会加到*后面啊,加到后面就是找"_*"文件夹了

热点内容
精准扶贫数据库 发布:2024-10-11 03:14:13 浏览:467
我的世界服务器被ban改ip有用吗 发布:2024-10-11 02:32:04 浏览:782
rc4加密及解密 发布:2024-10-11 02:31:30 浏览:3
安卓手机有什么免费音乐软件 发布:2024-10-11 02:17:07 浏览:992
阿里云服务器须知 发布:2024-10-11 02:12:55 浏览:417
androidaaptexe 发布:2024-10-11 01:49:48 浏览:348
用手机怎么连wifi密码 发布:2024-10-11 01:35:29 浏览:59
微信平台无法上传图片 发布:2024-10-11 00:55:59 浏览:141
加密锁折断 发布:2024-10-10 23:57:30 浏览:149
上传活动成果 发布:2024-10-10 23:48:27 浏览:189