1、虚拟机安装
首先需要在上安装和虚拟机,这里就不多说了
下载地址:直接百度搜索,使用百度提供的链接下载,这里附上一个破解码
5A02H-AU243-TZJ49-GTC7K-3C61N
下载地址:
一路安装下去,我一共装了4台虚拟机怎么往虚拟机里传文件,三台用于构建集群,一台用于爬虫,如图所示:
2、虚拟机网络配置
这里,我们以为例来说明一下虚拟机的网络配置:
首先,将虚拟机的网络设置设置为自定义,选择:
随后,我们点击上的编辑-虚拟网络编辑-右下角的更改设置,应该有三个连接方式,这里我们把其他两个移除,只剩下:
随后,点击NAT设置,我们可以发现网关是192.168.75.2
接下来,我们要设置虚拟机的ip:点击右上角的edit ,设置Ipv4,如下图所示:
随后修改两个文件:
修改文件
命令:sudo vim /etc// ( 如果没有vim命令,使用sudo apt-get vim进行安装):
修改.conf文件
命令:sudo vim /etc/.conf:
接下来重启我们的网络就可以啦:
命令:sudo /etc/init.d/ (如果启动失败,重启虚拟机即可)
查看我们的ip,使用命令,如果没有安装(使用sudo apt net-tools 进行安装):
3、使用连接本地虚拟机(非必须)
下载,百度搜索,使用百度提供的下载地址即可。
要想使用的ssh方式访问虚拟机,首先要在虚拟机上安装ssh服务
使用命令:sudo apt-get -
随后启动ssh服务:sudo /etc/init.d ssh start
再次点击上的编辑-虚拟网络编辑-右下角的更改设置,设置端口转发:
随后打开,新建连接:
设置用户名和密码:
随后点击连接即可,发现连接成功!
4、修改虚拟机主机名以及hosts文件
这里以修改主节点主机名称为例,其他节点类似。
使用命令 : sudo vim /etc/ 查看当前主机名,并修改为:
重启之后生效:
两个从节点的主机依次修改为,
接下来,将主节点和两个从节点的ip和主机名添加到hosts文件中,使用命令
sudo vim /etc/hosts
修改的结果为:
两个从节点的hosts文件修改为同样的结果,此时发现各虚拟机之间可以ping通。
5、配置SSH免验证登录
接下来,需要让主节点可以免验证的登录到从节点,从而在进行任务调度时可以畅通无阻。
首先要在各个节点上生成公钥和私钥文件,这里以节点进行讲解,其他节点操作方式完全相同。
我们首先要开启ssh服务,使用命令:sudo /etc/init.d/ssh start
随后使用如下命令生成公钥和私钥文件:
ssh- -t rsa -P ""
在所有节点上生成秘钥文件之后,我们需要将从节点的公钥传输给主节点,使用命令:
cd ~/.ssh
scp .pub sxw@:~/.ssh/.pub.
随后怎么往虚拟机里传文件,在主节点下,将所有的公钥信息拷贝到文件下:
使用命令:
cd ~/.ssh
cat .pub >>
cat .pub. >>
cat .pub. >>
接下来将文件复制到和节点目录下:
scp sxw@:~/.ssh/
scp sxw@:~/.ssh/
接下来我们验证是否可以免密码登录:使用命令
ssh
登陆成功,我们可以使用exit命令退出登录
6、安装java环境
这里我们可以直接使用linux的命令下载jdk,当然也可以在本地下载之后传输到虚拟机中,这里我采用的是后者,因为我感觉在主机上下载会比较快一些。到java官网中下载最新的jdk文件即可。
使用由于刚才我们配置了端口转发,因此我们可以使用进行文件传输:
传输文件到/home/sxw/路径下,直接将文件进行拖拽即可:
随后,在该路径下,使用如下命令进行解压:
tar -zxvf 文件名
重命名jdk文件夹为jdk
随后修改配置文件:
sudo vim /etc/
添加如下三行:
=/home/sxw//jdk
=.:$/lib:$/jre/lib:$
=$/bin:$/jre/bin:$PATH
使用命令使修改生效,同时查看是否安装成功
7、安装scala环境
可以使用命令下载scala,不过我们仍然选择在本地下载scala:
下载地址:
通过传入各虚拟机里,并使用如下命令进行解压:
tar -zxvf 文件名
重命名文件:
修改配置文件,增加以下两行,并用命令使修改生效:
检查是否安装成功:
可以看到scala已经安装成功了!
8、安装配置环境
我们首先在主节点上配置好的文件,随后使用scp命令传输到从节点上即可。
同样,我们在官网下载文件,通过传入主节点,使用tar命令进行解压,并修改文件夹名为,这些这里暂且略过。
修改环境变量(所有节点都需要修改)并使用命令使其生效:
接下来修改的配置文件:
(1)$/etc//-env.sh
修改 如下:
=/home/sxw//jdk
(2)$/etc//
修改里添加两个从节点的名称
(3)$/etc//core-site.xml
(4)$/etc//hdfs-site.xml
(5)$/etc//-site.xml
首先使用如下命令生成-site.xml文件:
cp -site.xml. -site.xml
随后进行修改:
(6)$/etc//yarn-site.xml
至此,的配置文件就修改完了,我们用scp命令将修改好的文件传入到子节点即可
9、安装spark环境
我们首先在主节点上配置好spark的文件,随后使用scp命令传输到从节点上即可。
同样在spark官网下载最新的spark文件,并使用传入虚拟机,使用tar命令进行解压,并重命名文件夹为spark。
添加spark到环境变量并使其生效:
接下来修改spark的配置文件:
(1)$/conf/spark-env.sh
首先使用如下命令生成spark-env.sh文件:
-env.sh. spark-env.sh
随后进行修改:
(2)$/conf/
首先使用如下命令生成文件:
.
随后进行修改:
至此,spark的配置文件就修改完了,我们用scp命令将修改好的spark文件传入到子节点即可,不要忘记修改子节点的环境变量
10、集群启动和关闭
首先我们编写一个启动脚本:
可以看到,的启动需要两个命令,分别启动dfs和yarn,传统的start-all.sh已经被弃用。而spark的启动只需要一个命令。
启动的结果如下图所示:
随后我们再编写一个关闭集群的脚本:
11、测试
我们在/home/sxw/下建立一个.txt文件
文件内容如下图:
到的bin路径下执行如下三条命令:
fs -mkdir-p //Input
fs-put .txt //Input
jar /home/sxw///share///---2.7.3.jar //Input //
可以看到我们的再进行运算了:
使用如下命令查看运算结果,发现我们的期望的结果正确输出:
fs -cat///*
配置成功!
12、spark测试
我们直接利用spark-shell 进行测试,编写几条简单额scala语句:
到spark的bin路径下执行./spark-shell命令进入scala的交互模式,并输入如下几条scala语句:
=sc.("hdfs://:9000//Input/.txt")
val rdd=file.(line => line.split("")).map(word => (word,1)).(_+_)
rdd.()
rdd.()
可以看到,我们的spark集群成功搭建!