0、组网(实验室资源有限,只能在同学电脑上安装虚拟机组)。
(1)买千兆以上路由器+六类以上网线+每台机器两块千兆网卡+4台物理机。
(2)用路由器连接集群机器,配置ip,路由器wan端,即后面配置机器时候的网关ip。(我个人配置成了10.10.10.1)
(3)配置物理机网络。我是用的vmware虚拟机作为节点的,就以这样为例,先设置了物理机系统ip分别为10.10.10.10,10.10.10.11,10.10.10.12,10.10.10.13。
(4)配置vmware虚拟网络。首先:
选择虚拟网络编辑器:
打开更改设置。
选择添加桥接模式,桥接到内网连接的那块网卡,这样就可以统一到内网ip上。
1、主节点安装桌面版centos7,从节点安装mini最小版,这样方便主节点开发,从节点占用小。安装前注意:
(1)定义好网卡名称。我统一名称规则为:
sparkMasterNode , sparkComputeNode1, sparkComputeNode2 sparkComputeNode3,这里定义了就省了安装好之后更改。
(2)定义root用户密码,方便使用4台用一样的就行。
(3)新建一个spark用户,用来作为安装软件的用户。
2、(可选)选择一个可以给centos系统上传文件的方式:xftp、xshell下的rz ,sz命令(yum install lrzsz)、vmware tools。
vmware tools安装步骤:
(1)选择vmware菜单“虚拟机” --> “重新安装vmware tools”;
(2)挂载光盘。打开主节点终端。
创建挂载目录:
mkdir -p /mnt/cdrom
挂载光盘到挂载目录:
mount /dev/cdrom /mnt/cdrom
(3)拷贝其中的tar.gz包(就一个)至其他安装目录。命令:
cp -r /mnt/cdrom 目标目录(自己选)
(4)卸载光盘。
umount /dev/cdrom
(5)解压已经拷贝出来的tar.gz包。命令:
tar -zxvf ****.tar.gz包
(6)进入解压开的目录中,运行其中的install.sh脚本。命令:
./install.sh
一路回车(有个需要询问gcc的 ,yes or no的,选择no吧,选择了gcc一直询问,没仔细看,可能是我缺gcc吧,选no最后也不影响使用)
(7)完成。重启一下就可以直接拖动文件至主节点了。
3、配置网络名称与网卡。
(1)网络名称在安装的时候就可以定义了。参见第一步。
(2)修改网卡配置文件,我这里共四台虚拟机作为节点,ip分别设置为:
10.10.10.100,10.10.10.101,10.10.10.102,10.10.10.103。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(我这个是连接外网的网卡)
这个文件只需要需改为:ONBOOT="yes"。设置开机自启。
vi /etc/sysconfig/network-scripts/ifcfg-ens34
(我这个是连接内网的网卡)
这个内网的文件需要设置静态ip,内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=fcbc86ce-4095-432d-8970-a58448e1f8ee
DEVICE=ens34
ONBOOT=yes
IPADDR=10.10.10.***
PREFIX=24
GATEWAY=10.10.10.1
(3)重启集群节点使其ip生效。
4、卸载自带jdk(所有节点),安装自己下载的jdk
(1)查询是否安装了jdk:
rpm -qa | grep java
rpm -qa | grep jdk
(2)把查询出来的包都卸载:
rpm -e --nodeps 查出来的所有包(用空格隔开)
(3)安装自己的jdk,使用xftp将jdk传到各台机器的安装路径上。解压:
tar -zxcf jdk-8u191-linux-x64.tar.gz
(4)在配置系统环境变量:
vi /etc/profile
在其中"export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL"
前面添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使其生效:
source /etc/profile
(5)验证:
5、配置hosts文件(所有节点)
vi /etc/hosts
添加内容:
10.10.10.100 sparkMasterNode
10.10.10.101 sparkComputeNode1
10.10.10.102 sparkComputeNode2
10.10.10.103 sparkComputeNode3
6、配置spark用户sudo权限
vi /etc/sudoers
在"root ALL=(ALL) ALL"下面添加:
spark ALL=(root)NOPASSWD:ALL
7、配置ssh免密码登录(所有节点)
(1)ssh免密码登录就是公私钥配对以登录。
(2)切换到spark用户