配置静态IP
进入到该目录下
cd /etc/sysconfig/network-scripts
使用vi/vim编辑器查看并编辑网络配置文件(centOS版本不同名称可能不一样)
vim ifcfg-ens33
初始配置如下
正常模式下,按两次d删除光标所在列,按i进入插入模式,修改成如下:
TYPE="Ethernet"
BOOTPROTO="static" # 使用静态IP地址,默认为dhcp
DEFROUTE="yes"
IPADDR="192.168.205.10" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.205.2" # 网关地址(网关查看步骤,vmware workstation==》编辑==》虚拟网络编辑器==》点VMnet8模式==》NAT设置==》网关IP)
DNS1="119.29.29.29" # DNS服务器
NAME="ens33"
UUID="320678bc-2396-40fa-ad90-f0c2df053f28"
DEVICE="ens33"
ONBOOT="yes" #是否开机启用
修改完之后,按Esc进入正常模式,按shift+zz保存退出,或者按下:(冒号)键,进入命令模式,输入wq回车保存退出
cat ifcfg-ens33 查看
重启网卡
systemctl restart network
curl www.baidu.com
访问www.baidu.com,如下则成功
清除防火墙规则以及关闭SELinux
设置完静态ip后,接下来用SecureCRT来连接虚拟机
关于CRT中文乱码,在选项–会话选项中,字符编码改为UTF-8
改完之后中文显示正常,如果还是乱码,将字体改为中文字体,如宋体
关闭防火墙
方法一:
安装iptables-service:yum install -y iptables-services
执行清除规则命令:iptables -F
保存:service iptables save
检查防火墙状态:service iptables status
或者
方法二:
停止firewall【临时】:systemctl stop firewalld.service
禁止firewall开机启动【永久】:systemctl disable firewalld.service
查看防火墙状态:firewall-cmd --state
永久关闭SELinux:vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
修改hostname、hosts文件、ssh互信准备
master为我自定义的hostname,可自己设置
hostnamectl set-hostname master (此操作永久修改,重启生效)
hostname master (临时修改,重启失效)
查看:hostname
修改映射关系,添加两个slave节点
vim /etc/hosts
修改ssh无密码登录
vim /etc/ssh/sshd_config
RSAAuthentication yes #开启私钥验证
PubkeyAuthentication yes #开启公钥验证
在这个文件中只有“Authentication:”选项,修改这个就行
此处Vim用到的几个命令:正常模式下,
x: 删除光标所在字符(删掉#),等同于[Delete]功能键
dd:剪切一行
p:粘贴
复制子节点
Master关机
打开安装master节点的文件夹,复制两份出来
VNware 文件–打开,选择slave1,开启虚拟机,登陆子节点
修改hostname
hostnamectl set-hostname slave1
修改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络:service network restart
查看ip是否改过来了:ip addr
联网测试:
curl www.baidu.com
同样的操作修改slave2节点,ip 改成192.168.205.12
ssh互信
将所有虚拟机打开,用crt连接虚拟机操作。修改编码下,选项–会话选项–外观–字符编码修改为UTF-8
在每个节点上执行,过程中回车就行了
ssh-keygen -t rsa -P ''
效果如下
[root@master ~]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:nyiJ/L3t++301qXRMwfE5bas9C9gRgcym3NMl0fYxpw root@master
The key's randomart image is:
+---[RSA 2048]----+
| . O+|
| o o *E*|
| B + oo|
| + + +..|
| S + o = |
| . . . o .= +o+|
| o o . oo o.+*|
| . o . oo.+|
| . oo+o..ooo|
+----[SHA256]-----+
在master节点上执行
[root@master ~]# cd ~/.ssh/
[root@master .ssh]# ls
id_rsa id_rsa.pub known_hosts
[root@master .ssh]# cat id_rsa.pub >> authorized_keys
authorized_keys为秘钥文件,配置在/etc/ssh/sshd_config中
将两个slave节点的id_rsa.pub文件内容复制到master节点的authorized_keys文件中
[root@slave1 ~]# cat ~/.ssh/id_rsa.pub
效果如图
将authorized_keys拷贝到两个slave节点上
scp authorized_keys root@slave1:~/.ssh/
scp authorized_keys root@slave2:~/.ssh/
验证无密码登陆,其他节点同样操作验证
[root@master .ssh]# ssh slave1
Last login: Thu Jun 20 02:32:47 2019 from 192.168.205.1
[root@slave1 ~]# exit
登出
Connection to slave1 closed.
[root@master .ssh]#
安装JDK1.8
安装jdk1.8(选择1.8是因为后续要用到的Spark 从2.2版本开始移除了对Java 7的支持)
百度下载或者
官网:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载完后使用rz命令上传到要安装的目录,这里选择/usr/local/src(目录可以自行创建选择,比如/home/hadoop/app啥的)
解压
tar -zxvf jdk-8u211-linux-x64.tar.gz
删掉安装包
rm -rf jdk-8u211-linux-x64.tar.gz
设置环境变量
[root@master src]# vim /etc/profile
在末尾添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source下使文件生效
[root@master src]# source /etc/profile
查看是否生效
[root@master src]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
安装完毕,发送到其他节点
scp -r jdk1.8.0_211/ root@slave1:/usr/local/src/
scp -r jdk1.8.0_211/ root@slave2:/usr/local/src/
发送配置文件到子节点,并到各节点source下生效配置文件
scp /etc/profile root@slave1:/etc/
scp /etc/profile root@slave2:/etc/
关于/etc/profile、~/.bash_profile 等配置文件的区别可参考
https://www.jianshu.com/p/c3a31a53ea14