大数据学习记录。
由于使用的Mac电脑,在虚拟中安装比较常用的CentOS7.x(目前公司用的系统也是这个),始终安装不上,再尝试使用CentOS9,可以安装上,且使用上与之前的大版本差别也不大。
Fusion & CentOS 均可在官方页面下载到,注意要下载相关芯片架构的版本。
1. 安装系统
创建虚拟机,将选择好镜像。选择如下操作系统(这一步应该没什么影响,因为已经有实际的镜像了)。
下一步,给了默认的配置,可能会不够用,所以加点配置。这里按自己电脑配置来。
然后启动虚拟机,选择默认项。
刚进入系统,选择语言。
再进行如下系统配置。
配置root用户,自己使用所以允许ssh直连。
配置普通用户,之后大部分操作都是在普通用户上执行的。
选择Server。不需要UI,最小安装则很多软件会缺。
安装目标位置,点进去后直接完成,用默认的就好。然后开始安装。安装完成后,点击重启系统,就安装完成了。
2. 系统配置
先创建一个快照保存一下,如果之后配置错了或者其他原因,可以回滚到这个快照。
接下来操作都是用root用户。
2.1 配置静态IP
2.1.1 Fusion & Mac 的配置
打开VM配置,到网络配置中。解锁后添加一个配置,默认配置名应该是vmnet2,或者其他的也没有关系,如下图。注意不要点上DHCP(动态配置)。
然后进入到/Library/Preferences/VMware\ Fusion/
目录中。中间的 \ 是空格转义,不加的话找不到目录。
1 | cd /Library/Preferences/VMware\ Fusion/ |
查看该目录下的networking
文件。
VNET_2就是刚创建的,其中255.255.255.0
是子网掩码,172.16.167.0
是子网地址。
再进入当前目录下的vmnet2
目录下,这个目录也是刚创建配置后才生成的。修改文件nat.conf
。在修改可以前先做一个备份。
1 | sudo cp nat.conf nat.conf.bak |
172.16.x.x
到172.31.x.x
是私网地址(最经常见到应该是192.168
开头的),第二个x
使用2-254
,其他地址默认作为一些设备的ip,或者是广播地址,会有冲突。
如上面的配置172.16.167.2
。而子网掩码就依然如上。这里默认生成的其实就是可以使用的,不用修改。
2.1.2 CentOS的配置
在CentOS9中配置静态IP的位置在/etc/NetworkManager/system-connections/ens160.nmconnection
1 | sudo vim /etc/NetworkManager/system-connections/ens160.nmconnection |
在[ipv4]
下
- 修改
method
的值auto
为manual
- 添加
address1=172.16.167.100/24,172.16.167.2
- 添加
dns=8.8.8.8;8.8.4.4;
address1
是静态IP地址(和宿主机是同一个网段机172.16.167
)和网关(刚设置宿主机的IP)的组合,以逗号分隔。dns
是DNS服务器的地址,以分号分隔。
重启使配置生效。
1 | reboot |
具体虚拟机上修改配置,选择网络,选择刚创建的配置。
然后虚拟就可以通过配置的静态IP连上了。
2.2 修改主机名称
现在名称上上面一个图可以看到是localhost。
修改/etc/hostname
文件,文件内容就是主机名,然后重启。
1 | vim /etc/hostname |
2.3 配置普通用户sudo免密
以上系统配置需要用root
用户操作,其他的操作一般使用普通用户,但是用普通用户时也会经常需要sudo
,为了方便则给该用户配置免密。
在/etc/sudoers
添加如下格式配置。
保存后,配置的用户就可以免密的使用sudo
2.4 配置ssh免密登入
之后搭建集群,需要同步集群文件或者其他操作,需要机器之间互相登入,每次输入密码太麻烦,所以配置免密登入。先克隆1台虚拟机。
按照之前的步骤修改静态IP以及主机名,重启后生效。
使用普通用户配置免密登入。
生成ssh key
,一路回车即可。
1 | ssh-keygen -t rsa |
将key发送到目标服务器。
1 | ssh-copy-id lkzc19@172.16.167.42 |
除了其他机器配置免密登入,本级也要配置,因为之后执行脚本是全部机器都会执行,本机也会使用ssh执行脚本。
2.5 关闭防火墙
关闭防火墙以及禁用开机自启
1 | sudo systemctl stop firewalld |
2.6 创建软件放置目录
这算个人习惯。按我公司会在根目录下创建一个目录,修改其所属用户和所属组。
我则一般在/opt
下创建目录module
来放各种软件如 hadoop、flink。
1 | cd /opt |
在一开始初始化系统时创建了lkzc19
这个用户,但是没有指定组名,所以默认组名与用户名一致。如果想修改组名可以使用groupmod
命令。