本文作者:admin

windows远程服务器spark(windows远程服务器 只有最小化桌面)

admin 2022年11月19日 21:08:22 1

本文目录一览:

如何在集群外客户端上使用sparksql工具

首先确保SQLSERVER服务正在运行windows远程服务器spark,并可以允许远程访问连接 然后按如下步骤进行连接 1.安装JDBC驱动 1)下载JDBC驱动 2)执行sqljdbc_4.0.2206.100_chs.exe解压驱动文件 3)拷贝以下目录中windows远程服务器spark的sqljdbc_auth.dll到Windowswindows远程服务器spark的System32目录。

如何使用Spark的local模式远程读取Hadoop集群数据

我们在windows开发机上使用spark的local模式读取远程hadoop集群中的hdfs上的数据,这样的目的是方便快速调试,而不用每写一行代码或者一个方法,一个类文件都需要打包成jar上传到linux上,再扔到正式的集群上进行测试,像功能性验证直接使用local模式来快速调测是非常方便的,当然功能测试之后,我们还需要打包成jar仍到集群上进行其他的验证比如jar包的依赖问题,这个在local模式是没法测的,还有集群运行的调优参数,这些都可以在正式仍到集群时验证。

一个样例代码如下:

def main(args: Array[String]): Unit = { //指定local模式

val conf = new SparkConf().setMaster("local[2]").setAppName("read kp data to kafka") val sc= new SparkContext(conf) //支持通配符路径,支持压缩文件读取

val rrd=sc.textFile("hdfs://192.168.10.4:8020/data/log/{20170227,20170228}/tomcat-log*") //提到到集群模式时,去掉uri地址,如果有双namenode,可以自动容灾

//val rrd=sc.textFile("/data/log/{20170227,20170228}/tomcat-log*")

//统计数量

println(rrd.count()) //停止spark

sc.stop()

}

如何在spark中遍历数据时获取文件路径:

val path:String="hdfs://192.168.10.4:8020/data/userlog/{20170226}/kp*"

val text= sc.newAPIHadoopFile[LongWritable,Text,TextInputFormat](path)

val linesWithFileNames = text.asInstanceOf[NewHadoopRDD[LongWritable, Text]]

.mapPartitionsWithInputSplit((inputSplit, iterator) = {

val file = inputSplit.asInstanceOf[FileSplit] iterator.map(tup = (file.getPath, tup._2)) // 返回的K=全路径 V=每一行的值

}

)

linesWithFileNames.foreach(println)

如果遍历压缩文件时想要获取文件名,就使用newAPIHadoopFile,此外在本地调试下通过之后,提交到集群运行的时候,一定要把uri去掉,本地加上是想让它远程读取方便调试使用,如果正式运行去掉uri在双namenode的时候可以自动兼容,不去反而成一个隐患了。

最后我们可以通过spark on yarn模式提交任务,一个例子如下:

jars=`echo /home/search/x_spark_job/libs/*jar | sed 's/ /,/g'`

bin/spark-submit --class KSearch --master yarn --jars $jars /home/search/x_spark_job/kp-1.0.0.jar

这里用spark提交有另外一个优势,就是假如我开发的不是YARN应用,就是代码里没有使用SparkContext,而是一个普通的应用,就是读取mysql一个表的数据,写入另外一个mysql,这里跟MR没有关系,但是我依然可以用spark-sumbit提交,这时候是不会提交到YARN上的,但是程序会按普通程序运行,程序依赖的jar包,直接使用--jars传入就行,这一点非常方便,尤其是应用有多个依赖时,比如依赖es,hadoop,hbase,redis,fastjson,我打完包后的程序是瘦身的只有主体jar非常小,依赖的jar我可以不打到主体jar里面,在外部用的时候传入,方便共用并灵活性大大提高。

windows上能用spark读取远程elasticseach数据吗

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

在Windows上安装与配置Spark 本节介绍在Windows系统上安装Sparkwindows远程服务器spark的过程。在Windows环境下需要安装Cygwin模拟Linuxwindows远程服务器spark的命令行环境来安装Spark。 (1)安装JDK 相对于Linux、Windowswindows远程服务器spark的JDK安装更加自动化windows远程服务器spark,用户可以下载安装Oracle JDK或者OpenJDK。

阅读
分享