系统及软件配置

系统配置

内存:16g 2400 cpu:i5 9400F

软件配置

  • Windows 10 1903版本
  • VMware workstation 15.10
  • CentOS centos-release-7-7.1908.0.el7.centos.x86_64
  • Java jdk-8u241-linux-x64.tar.gz
  • Scala scala-2.11.8.tgz

值得一提的是,win10 1903版本与VMware 15.10之前的版本不兼容,会出现卡死(虚拟机繁忙)的问题,该问题在15.10版本解决。 资源来源于网络: VMware 15.10 链接:https://pan.baidu.com/s/1bpF3M1V3qPydQgGl-hUC1g 提取码:sb8t CentOS 7.7 链接:https://pan.baidu.com/s/1xFOlCvNrmXXwciVNOL2Pew 提取码:wxdx Java jdk-8u241-linux-x64.tar.gz 链接:https://pan.baidu.com/s/1E1TyObvyO6iQUW44lTCqDQ 提取码:6xw9 Scala scala-2.11.8.tgz 链接:https://pan.baidu.com/s/1TQB-wnffHh0i2aqzzfSi6A 提取码:iowh

安装前的准备

查看Windows下的网络配置

以Windows 10 1903为例(windows下控制台输入“winver”可以看自己windows版本),在控制面板->网络和Internet->网络连接中,可以看到本机上的网络配置。本次搭建这个集群,我们需要虚拟机和物理机(也就是windows)共用一个网络,所以需要使用桥接模式。 本人电脑联网时使用的是这个WLAN 2,它使用的网卡是Realtek 8821AE …. 的,记住这个名字。

配置VMware 虚拟网络编辑器

使用管理员权限打开VMware,菜单栏的编辑->虚拟网络适配器:将桥接模式的“桥接到”指向刚才记下的Realtek 8821AE,点击确定保存配置。 同时还要记住我WLAN 2这张网卡的网络配置信息:(windows cmd输入ipconfig查看)

集群及网络配置

根据刚才WLAN 2网络配置信息可知,我的虚拟机的网卡只能配置为192.168.3.***。 你得根据自己网卡上的网络配置去修改虚拟机网卡配置。

序号IP地址机器名运行进程核数/内存用户名
1192.168.3.30masterNN/SNN/DN/RM
Master/Worker
1核/3Gspark
2192.168.3.31slave1DN/NM/Worker1核/2Gspark
3192.168.3.32slave2DN/NM/Worker1核/2Gspark
用到的目录:
/app,/app/soft,/app/compile,/app/spark,/home/spark

开始安装

搭建集群样板机

在VMware中安装CentOS

新建虚拟机

菜单栏,文件->新建虚拟机 选择刚才下载的CentOS镜像: 一路下一步到这里,点击“自定义硬件”把内存调成3G,网络适配器调成桥接模式,然后完成并启动。 按↑键,选中Install CentOS 7,再按Enter键开始安装。

安装CentOS 7

选择语言简体中文后,进入到这个界面: 点击这个“软件选择”,进入选择界面: 勾选GNOME桌面,然后自定义勾选需要的附加选项,我这里只选了“兼容性程序库”和“系统管理工具”,之后如果有缺少软件的话,之后再补装就好。点击左上角完成。 选择网络和主机名,可以配置网络。

配置网络

打开以太网的连接,然后点击“配置”,切到IPv4设置,输入刚才我定义的第一台虚拟机的ip地址192.168.3.30,子网掩码255.255.255.0,网关和物理机windows一样192.168.3.1(见前文),最后附加DNS服务器填入谷歌提供的8.8.8.8。 然后点一下安装位置,选择自动分区,再回来就可以点“开始安装”了。

设置用户

安装过程中,可以设置root和用户,简单设置吧以免忘记密码。 以下是我设置的root和用户(仅做学习之用,也以防忘记密码):

用户密码
rootroot
sparkspark
由于密码太过简单,我们需要多按一次左上角的“完成”。
值得一提的是,如果不在这里设置root和用户,在安装结束后设置的话,系统会要求你设置比较复杂的密码。
静静等待其安装完。

重启,然后接受许可证,点完成,使用spark用户登录,再简单配置下,就正式进入系统。

测试网络

点击应用程序->Firefox,然后访问百度,如果成功则网络连接正常。

设置机器名

用root使用vi /etc/sysconfig/network中设置内容如下:

NETWORKING=yes
HOSTNAME=master

至此,CentOS安装完成。

设置Host映射文件

/etc/hosts内保存了网址域名/机器名与其对应的ip地址建立关联的一个“数据库”,我们根据集群规划配置: 以root的身份(先su root然后输入root的密码)在命令行用#vi /etc/hosts打开配置文件,然后按小写字母i,输入以下内容然后按Esc + :wq回车保存:

192.168.3.30 master
192.168.3.31 slave1
192.168.3.32 slave2

设置完毕后,用#ping master看看master是否连通及检测服务器响应速度。

关闭防火墙和SELinux

关闭防火墙和SELinux的原因在于Hadoop和Spark运行过程中需要使用端口进行通信,而这些安全设施会阻拦。关闭方法: 关闭iptables时,使用root登录,在命令行终端使用#service iptables status查看iptables状态,如果显示“iptables: Firewall is not running”则iptables已关闭,如果显示iptables的配置信息,则使用如下命令关闭iptables:

chkconfig iptables off

同样,用root用户在终端使用#vi /etc/SELinux/config打开配置文件,设置SELINUX=disable,注意需要重启才生效。 然而在我们虚拟机上并没有iptables: SELinux设置为disable。

配置运行环境

更新OpenSSL

CentOS自带的OpenSSL存在bug,所以我们使用如下命令更新

yum update openssl

当然了我自己跑了一下并没有看到需要更新,也许centos7修复了。

修改OpenSSH配置

在集群环境中需要SSH进行免密码登录,需要修改OpenSSH配置文件,确认使用RSA算法进行公钥加密并确认私钥存放文件等,需要使用root用户,使用vi /etc/ssh/sshd_config打开配置文件,打开以下三个配置项: 保存修改后使用systemctl restart sshd.service重启服务。

将用户spark加入sudoers中

后面执行中需要使用sudo命令,故将spark加入sudoers文件中,先修改配置文件的权限:chmod u+x /etc/sudoers,再使用vi /etc/sudoers打开文件,在root ALL=(ALL)ALL后加入:

spark ALL=(ALL) ALL

他虽然说是只读,但是你可以用root编辑,然后使用wq! 加感叹号保存。

创建运行环境所需要的目录结构

mkdir /app
chown -R spark:spark /app
mkdir /app/soft
mkdir /app/compile
mkdir /app/spark
mkdir -p /home/spark/work
chown -R spark:spark /home/spark/work

安装Java和Spark环境

安装和配置JDK

安装一下vmware tools,然后把jdk的包拖进去,放到/home/spark/work中。(这个找一找centos虚拟机安装vmware tools教程吧) 解压该文件并移动到/app/soft中

cd /home/spark/work
tar -zxf jdk-8u241-linux-x64.tar.gz
mv jdk1.8.0_241 /app/soft
ll /app/soft

然后以root执行vi /etc/profile,设置JDK相关配置如下:

export JAVA_HOME=/app/soft/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存后回到终端,输入source /etc/profile更新全局变量,然后输入java和javac看看是否安装成功。

安装Scala

把scala安装包放入/home/spark/work中。解压该文件并移动到/app/soft中。

cd /home/spark/work
tar -zxf scala-2.11.8.tgz
mv scala-2.11.8 /app/soft
ll /app/soft

然后以root执行vi /etc/profile,设置JDK相关配置如下:

export SCALA_HOME=/app/soft/scala-2.11.8
export PATH=${SCALA_HOME}/bin:$PATH

保存后回到终端,输入source /etc/profile更新全局变量,然后输入scala -version看看是否安装成功。

参考文献