0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

windows下虚拟机配置spark集群最强攻略!

电子工程师 来源:lq 2019-01-29 10:58 次阅读

首先需要在windows上安装vmware和ubuntu虚拟机,这里就不多说了。

vmware下载地址:直接百度搜索,使用百度提供的链接下载,这里附上一个破解码

5A02H-AU243-TZJ49-GTC7K-3C61N

ubuntu下载地址:http://cdimage.ubuntu.com/daily-live/current/

一路安装下去,我一共装了4台虚拟机,三台用于构建集群,一台用于爬虫,如图所示:

这里,我们以slave2为例来说明一下虚拟机的网络配置:

首先,将虚拟机的网络设置设置为自定义,选择VMnet8:

随后,我们点击VMWARE上的编辑-虚拟网络编辑-右下角的更改设置,应该有三个连接方式,这里我们把其他两个移除,只剩下VMnet8:

随后,点击NAT设置,我们可以发现网关是192.168.75.2

接下来,我们要设置虚拟机的ip:点击右上角的edit connectinos,设置Ipv4,如下图所示:

随后修改两个文件:

修改interfaces文件

命令:sudo vim /etc/network/interfaces ( 如果没有vim命令,使用sudo apt-get install vim进行安装):

修改resolv.conf文件

命令:sudo vim /etc/resolv.conf:

接下来重启我们的网络就可以啦:

命令:sudo /etc/init.d/networking restart(如果启动失败,重启虚拟机即可)

查看我们的ip,使用ifconfig命令,如果没有安装(使用sudo apt install net-tools 进行安装):

下载xshell,百度搜索xshell,使用百度提供的下载地址即可。

要想使用xshell的ssh方式访问虚拟机,首先要在虚拟机上安装ssh服务

使用命令:sudo apt-get install openssh-server

随后启动ssh服务:sudo /etc/init.d ssh start

再次点击VMWARE上的编辑-虚拟网络编辑-右下角的更改设置,设置端口转发:

随后打开xshell,新建连接:

设置用户名和密码:

随后点击连接即可,发现连接成功!

这里以修改主节点主机名称为例,其他节点类似。

使用命令 : sudo vim /etc/hostname 查看当前主机名,并修改为master:

重启之后生效:

两个从节点的主机依次修改为slave1,slave2

接下来,将主节点和两个从节点的ip和主机名添加到hosts文件中,使用命令

sudo vim /etc/hosts

修改的结果为:

两个从节点的hosts文件修改为同样的结果,此时发现各虚拟机之间可以ping通。

接下来,需要让主节点可以免验证的登录到从节点,从而在进行任务调度时可以畅通无阻。

首先要在各个节点上生成公钥和私钥文件,这里以slave1节点进行讲解,其他节点操作方式完全相同。

我们首先要开启ssh服务,使用命令:sudo /etc/init.d/ssh start

随后使用如下命令生成公钥和私钥文件:

ssh-keygen -t rsa -P ""

在所有节点上生成秘钥文件之后,我们需要将从节点的公钥传输给主节点,使用命令:

cd ~/.ssh

scp id_rsa.pub sxw@master:~/.ssh/id_rsa.pub.slave1

随后,在主节点下,将所有的公钥信息拷贝到authorized_keys文件下:使用命令:

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

cat id_rsa.pub.slave1 >> authorized_keys

cat id_rsa.pub.slave2 >> authorized_keys

接下来将authorized_keys文件复制到slave1和slave2节点目录下:

scp authorized_keys sxw@slave1:~/.ssh/authorized_keys

scp authorized_keys sxw@slave2:~/.ssh/authorized_keys

接下来我们验证是否可以免密码登录:使用命令

ssh slave1

登陆成功,我们可以使用exit命令退出登录

这里我们可以直接使用linux的命令下载jdk,当然也可以在本地下载之后传输到虚拟机中,这里我采用的是后者,因为我感觉在主机上下载会比较快一些。到java官网中下载最新的jdk文件即可。

使用由于刚才我们配置了端口转发,因此我们可以使用winscp进行文件传输:

传输文件到/home/sxw/Documents路径下,直接将文件进行拖拽即可:

随后,在该路径下,使用如下命令进行解压:

tar -zxvf 文件名

重命名jdk文件夹为jdk

随后修改配置文件:

sudo vim /etc/profile

添加如下三行:export JAVA_HOME=/home/sxw/Documents/jdk

exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

使用source命令使修改生效,同时查看是否安装成功

可以使用命令下载scala,不过我们仍然选择在本地下载scala:下载地址:http://www.scala-lang.org/download/2.11.7.html

通过winscp传入各虚拟机里,并使用如下命令进行解压:

tar -zxvf 文件名

重命名文件:

修改配置文件,增加以下两行,并用source命令使修改生效:

检查是否安装成功:

可以看到scala已经安装成功了!

我们首先在主节点上配置好hadoop的文件,随后使用scp命令传输到从节点上即可。

同样,我们在hadoop官网下载hadoop文件,通过winscp传入主节点,使用tar命令进行解压,并修改文件夹名为hadoop,这些这里暂且略过。

修改环境变量(所有节点都需要修改)并使用source命令使其生效:

接下来修改hadoop的配置文件:

(1)$HADOOP_HOME/etc/hadoop/hadoop-env.sh

修改JAVA_HOME 如下:

export JAVA_HOME=/home/sxw/Documents/jdk

(2)$HADOOP_HOME/etc/hadoop/slaves

修改salves里添加两个从节点的名称

slave1

slave2

(3)$HADOOP_HOME/etc/hadoop/core-site.xml

(4)$HADOOP_HOME/etc/hadoop/hdfs-site.xml

(5)$HADOOP_HOME/etc/hadoop/mapred-site.xml

首先使用如下命令生成mapred-site.xml文件:cp mapred-site.xml.template mapred-site.xml

随后进行修改:

(6)$HADOOP_HOME/etc/hadoop/yarn-site.xml

至此,hadoop的配置文件就修改完了,我们用scp命令将修改好的hadoop文件传入到子节点即可

我们首先在主节点上配置好spark的文件,随后使用scp命令传输到从节点上即可。

同样在spark官网下载最新的spark文件,并使用winscp传入虚拟机,使用tar命令进行解压,并重命名文件夹为spark。

添加spark到环境变量并使其生效:

接下来修改spark的配置文件:

(1)$SPARK_HOME/conf/spark-env.sh

首先使用如下命令生成spark-env.sh文件:

cpspark-env.sh.template spark-env.sh

随后进行修改:

(2)$SPARK_HOME/conf/slaves

首先使用如下命令生成slaves文件:

cpslaves.template slaves

随后进行修改:

至此,spark的配置文件就修改完了,我们用scp命令将修改好的spark文件传入到子节点即可,不要忘记修改子节点的环境变量

首先我们编写一个启动脚本:

可以看到,hadoop的启动需要两个命令,分别启动dfs和yarn,传统的start-all.sh已经被弃用。而spark的启动只需要一个命令。

启动的结果如下图所示:

随后我们再编写一个关闭集群的脚本:

我们在/home/sxw/Documents下建立一个wordcount.txt文件

文件内容如下图:

到hadoop的bin路径下执行如下三条命令:

hadoopfs-mkdir-p/Hadoop/Inputhadoopfs-putwordcount.txt/Hadoop/Inputhadoopjar/home/sxw/Documents/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jarwordcount/Hadoop/Input/Hadoop/Output

可以看到我们的hadoop再进行运算了:

使用如下命令查看运算结果,发现我们的期望的结果正确输出:

hadoop fs -cat/Hadoop/Output/*

hadoop配置成功!

我们直接利用spark-shell 进行测试,编写几条简单额scala语句:

到spark的bin路径下执行./spark-shell命令进入scala的交互模式,并输入如下几条scala语句:

valfile=sc.textFile("hdfs://master:9000/Hadoop/Input/wordcount.txt")valrdd=file.flatMap(line=>line.split("")).map(word=>(word,1)).reduceByKey(_+_)rdd.collect()rdd.foreach(println)

可以看到,我们的spark集群成功搭建!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11316

    浏览量

    209812
  • 虚拟机
    +关注

    关注

    1

    文章

    918

    浏览量

    28263

原文标题:windows下虚拟机配置spark集群最强攻略!

文章出处:【微信号:atleadai,微信公众号:LeadAI OpenLab】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Anaconda之tensorflow:深度学习之Anaconda安装tensorflow正确运行之史上最强攻略

    Anaconda之tensorflow:深度学习之Anaconda安装tensorflow正确运行之史上最强攻略
    发表于 12-21 10:40

    MYZR虚拟机功能演示

    ncurses-dev1.3常用功能演示1.3.1在Windows虚拟机系统之间复制文件安装并配置开发环境安装并运行虚拟机系统建议使用我们提供的
    发表于 12-27 15:04

    电子书:电源设计最强攻略, 带你全面掌握设计窍门

    `本期电子发烧友《电源设计最强攻略, 带你全面掌握设计窍门》为你搜集电源相关设计资料,从电源的缓启动电路设计及原理,到各类电源电路的设计细节技巧,加深你对电源的理解,让你的电路设计如虎添翼!目录1
    发表于 07-10 13:42

    虚拟机Ubuntu18 64位系统虚拟机配置方法

    宿主机(host) :虚拟机Ubuntu18 64位系统虚拟机配置:1.添加两个磁盘是为了将系统和代码分开,这样的好处在于可以将代码盘挂载到其它虚拟机上使用2.安装两个网卡是因为目标
    发表于 11-08 09:03

    求一种基于集群的威廉希尔官方网站 和基于虚拟机重启的威廉希尔官方网站

    什么是IBM Power Systems的地理分散弹性?灾难恢复和高可用性(HA)解决方案主要基于两种威廉希尔官方网站 :基于集群的威廉希尔官方网站 和基于虚拟机重启的威廉希尔官方网站 。 群集高可用性和灾难恢复解决方案通常会部署冗余的硬件
    发表于 12-29 06:23

    云环境虚拟机集群系统动态负载均衡机制

    针对传统的物理集群系统无法灵活应对大型互联网应用的问题,提出一种云环境虚拟机集群的综合负载均衡机制。该方法首先定期地采集集群
    发表于 01-24 15:13 0次下载

    主机windows+ubuntu虚拟机联网传输实例

    主机windows+ubuntu虚拟机 文件传输用 主机与虚拟机传输文件告别命令行
    的头像 发表于 07-27 16:12 3848次阅读
    主机<b class='flag-5'>windows</b>+ubuntu<b class='flag-5'>虚拟机</b>联网传输实例

    虚拟机:Ubuntu配置Android Studio的步骤

    虚拟机:Ubuntu配置Android Studio的步骤
    的头像 发表于 06-22 09:43 2840次阅读

    虚拟机:Ubuntu配置gitweb的步骤

    虚拟机:Ubuntu配置gitweb的步骤
    的头像 发表于 06-22 16:30 2624次阅读
    <b class='flag-5'>虚拟机</b>:Ubuntu<b class='flag-5'>配置</b>gitweb的步骤

    虚拟机:Ubuntu的基本配置

    虚拟机:Ubuntu的基本配置的基本配置
    的头像 发表于 06-22 16:52 3107次阅读

    虚拟机:为icescrum 配置MySQL

    虚拟机:为icescrum 配置MySQL
    的头像 发表于 06-22 16:57 2152次阅读
    <b class='flag-5'>虚拟机</b>:为icescrum <b class='flag-5'>配置</b>MySQL

    虚拟机:Hadoop集群的搭建

    虚拟机:Hadoop集群的搭建
    的头像 发表于 07-01 13:03 3214次阅读
    <b class='flag-5'>虚拟机</b>:Hadoop<b class='flag-5'>集群</b>的搭建

    虚拟机:Hadoop集群配置

    虚拟机:Hadoop集群配置
    的头像 发表于 07-01 14:14 2806次阅读

    如何使用windows10远程连接虚拟机桌面

    本文介绍了如何使用 windows10 远程连接虚拟机桌面(已使用远程连接工具连接了虚拟机,如 xshell),亲测可用,不懂的地方欢迎交流!
    的头像 发表于 07-12 11:18 2971次阅读

    Hyper-V创建虚拟机配置IP等网络配置原理(Linux、Windows为例)

    ,Linux虚拟机网络不通,默认没有设置本地网络配置。而 Windows11虚拟机却可以。研究了原因,解决办法总结如下:
    的头像 发表于 12-09 10:24 1134次阅读
    Hyper-V创建<b class='flag-5'>虚拟机</b><b class='flag-5'>配置</b>IP等网络<b class='flag-5'>配置</b>原理(Linux、<b class='flag-5'>Windows</b>为例)