安装Centos7
1、下载
网易、阿里、搜狐等公司都有开源镜像站提供CentOS7的镜像文件下载,以阿里云镜像站为例:
Index of /centos/7/isos/x86_64/
1 2 3 4 5 6 7 8 9 10 11 12 |
../ 0_README.txt 06-Nov-2020 14:32 2495 CentOS-7-x86_64-DVD-2009.iso 04-Nov-2020 11:37 4712300544 CentOS-7-x86_64-DVD-2009.torrent 06-Nov-2020 14:44 180308 CentOS-7-x86_64-Everything-2009.iso 02-Nov-2020 15:18 10200547328 CentOS-7-x86_64-Everything-2009.torrent 06-Nov-2020 14:44 389690 CentOS-7-x86_64-Minimal-2009.iso 03-Nov-2020 14:55 1020264448 CentOS-7-x86_64-Minimal-2009.torrent 06-Nov-2020 14:44 39479 CentOS-7-x86_64-NetInstall-2009.iso 26-Oct-2020 16:26 602931200 CentOS-7-x86_64-NetInstall-2009.torrent 06-Nov-2020 14:44 23567 sha256sum.txt 04-Nov-2020 11:38 398 sha256sum.txt.asc |
下载最小化安装版本 CentOS-7-x86_64-Minimal-2009.iso
2、配置虚拟机软件
这里使用VmwareStation15.5
为了方便,采用NAT连接方式,NAT模式的虚拟网卡名称默认为VMnet8
为了统一网段,修改虚拟机网络编辑器配置如下,将第三段修改为186
网关也要对应修改
3、创建虚拟机
- 创建虚拟机,选择典型,安装程序光盘映像文件选择前面下载的iso文件。
- 安装位置不要采用默认设置,最好自己指定
- 磁盘大小,为了便于扩展,最大容量选择50G
- 为了拷贝方便,选择拆分多个文件
- 如果宿主内存足够,虚拟机内存可设置为4096MB,但最好不要超过宿主内存的一半以上
- 网络适配器默认采用NAT连接
最终结果
然后选择完成进行系统安装,在安装界面设置
-
本地化
- 安装界面语言-简体中文
- 日期默认亚洲上海时区
- 键盘采用默认配置即可
- 语言支持除了中文外添加English(United States)
-
软件
- 安装源 – 无需设置
- 软件选择 – 由于已经是最小安装,因此无需设置
-
系统
-
安装位置
- 选择本地标准磁盘(40G)
- 选择我要配置分区
- 创建挂载点
- /boot 200 MiB
- /swap 2048 MiB
- / 剩余的37.8 GiB
- 完成 – 接受更改
-
KDUMP – 忽略
-
网络和主机名(也可以忽略,以后自行修改)
- 开启以太网ens33
- 编辑ens33网络
- 方法手动
- 添加地址
- IP = 192.168.186.100
- 子网掩码 = 255.255.255.0
- 网关 192.168.186.2 – 和虚拟机的NAT连接网络设置保持一致
- DNS = 223.5.5.5,8.8.8.8 – 前置是国内通用DNS地址,后者是谷歌的DNS地址(可能被墙)
-
开始安装
- 设置ROOT密码 – niit1234, 两次确认完成简单密码(由于是学习用的虚拟机)的设置
- 创建用户 – 忽略,以后可以自行创建
-
重启
-
4、网络配置
测试能否ping通百度
1 2 3 4 5 6 7 |
[root@localhost ~]# ping baidu.com PING baidu.com (220.181.38.148) 56(84) bytes of data. 64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=128 time=53.5 ms 64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=128 time=57.5 ms 64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=128 time=52.5 ms (Ctrl-C退出) |
如果不能,则检查配置,其中注释处重点检查
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" # static - 静态分配IP地址 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="ens33" UUID="b00b9ac0-60c2-4d34-ab88-2413055463cf" DEVICE="ens33" ONBOOT="yes" # 系统启动时网络接口是否有效 IPADDR="192.168.186.100" # 静态IP PREFIX="24" GATEWAY="192.168.186.2" # 网关 DNS1="223.5.5.5" DNS2="8.8.8.8" IPV6_PRIVACY="no" |
- 为了避免动态分配ip造成ip变动导致集群不稳定,一定要修改成为静态ip
- ONBOOT="yes" 可以开机时开启网络接口,便于联网
- 网关要和虚拟机的VMnet8的配置相同
修改后重启网络服务
1 2 3 |
[root@localhost ~]# service network restart Restarting network (via systemctl): [ 确定 ] |
如果报错,则使用reboot命令重启系统
5、主机名配置
查看
1 2 |
[root@localhost ~]# hostname localhost.localdomain |
修改(主机名全小写,且不要有下划线)
1 2 3 4 |
[root@localhost ~]# hostnamectl --static set-hostname hadoop100 [root@localhost ~]# hostname hadoop100 |
查看虚拟机IP
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[hadoop@hadoop100 ~]$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:05:2a:0e brd ff:ff:ff:ff:ff:ff inet 192.168.186.100/24 brd 192.168.186.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::ac3e:51e8:9275:6fcd/64 scope link noprefixroute valid_lft forever preferred_lft forever |
其中ens33的 inet 192.168.186.100 即为当前虚拟机的ipv4的地址
修改虚拟机的IP和主机名映射文件
1 2 3 4 5 6 7 |
# vi /etc/hosts vi /etc/hosts #127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.186.100 hadoop100 |
同时也需要修改Windows的主机映射文件
C:\Windows\System32\drivers\etc\HOSTS
1 2 3 4 |
# hadoop 192.168.186.100 hadoop100 192.168.186.101 hadoop101 192.168.186.102 hadoop102 |
其中
- hadoop100-hadoop102为大数据全分布式环境的主机名设置
另,新修改的主机名要重新登录终端或者重启系统后才能显示正常,如 [root@hadoop100 ~]#
6、防火墙设置
为了方便Windows或其他系统可以访问Linux虚拟机内的服务,为了方便学习的目的可以关闭虚拟机的防火墙服务(真实服务器上不要这样做)
关闭防火墙,可以避免端口被限制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[root@hadoop100 ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 六 2021-01-09 08:03:31 CST; 38min ago Docs: man:firewalld(1) Main PID: 706 (firewalld) CGroup: /system.slice/firewalld.service └─706 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 1月 09 08:03:30 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... 1月 09 08:03:31 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. 1月 09 08:03:32 localhost.localdomain firewalld[706]: WARNING: AllowZoneDrifting is enabled. This ...w. Hint: Some lines were ellipsized, use -l to show in full. [root@hadoop100 ~]# systemctl stop firewalld.service [root@hadoop100 ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) 1月 09 08:03:30 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... 1月 09 08:03:31 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. 1月 09 08:03:32 localhost.localdomain firewalld[706]: WARNING: AllowZoneDrifting is enabled. This ...w. 1月 09 08:42:23 hadoop100 systemd[1]: Stopping firewalld - dynamic firewall daemon... 1月 09 08:42:23 hadoop100 systemd[1]: Stopped firewalld - dynamic firewall daemon. Hint: Some lines were ellipsized, use -l to show in full. |
(如果是Centos6,则默认的防火墙服务名为iptables)
- systemctl的status可以查看现有服务的状态
- systemctl的stop可以临时关闭防火墙
- 还可以使用systemctl的disable和enable来永久禁用和启用服务,
这里为了方便禁用自动开机启动防火墙服务
1 2 3 4 |
[root@hadoop100 ~]# systemctl disable firewalld.service [root@hadoop100 ~]# systemctl is-enabled firewalld.service disabled |
7、安装vim
Centos默认没有安装vim, 为了编辑时能得到高亮显示,这里安装vim,并替换原来的vi命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# yum install vim [root@hadoop100 ~]# vi ~/.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias vi=vim # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi |
使设置生效
1 |
[root@hadoop100 ~]# source ~/.bashrc |
8、创建操作用户
root用户具有太大操作权限,实际操作时需要对不同的用户设置不同的限制,所以需要另外创建一个一般用途的用户。
1 2 3 4 5 6 7 8 |
[root@hadoop100 ~]# useradd hadoop [root@hadoop100 ~]# passwd hadoop 改用户 hadoop 的密码 。 新的 密码:123123 无效的密码: 密码少于 8 个字符 重新输入新的 密码:123123 passwd:所有的身份验证令牌已经成功更新。 |
修改sudoer配置文件
1 |
[root@hadoop100 ~]# source ~/.bashrc |
由于前面已经设置了vim的别名为vi,这里会直接使用vim进行编辑
-
在vim中,键入
:set nu
可以显示行号 -
键入
100G
可以快速跳转到第100行位置 -
键入
yy
复制当前行,键入p
拷贝到下一行 -
进行如下修改
123456789101112## Next comes the main part: which users can run what software on## which machines (the sudoers file can be shared between multiple## systems).## Syntax:#### user MACHINE=COMMANDS#### The COMMANDS section may have other options added to it.#### Allow root to run any commands anywhereroot ALL=(ALL) ALLhadoop ALL=(ALL) NOPASSWD:ALL- 第一个配置
ALL=(ALL)
是让hadoop用户拥有root权限 - 第二个配置
NOPASSWD:ALL
是当hadoop用户执行sudo命令时,不需要输入hadoop用户的密码
登录新用户进行测试
123456789101112131415161718192021[root@hadoop100 root]$ su hadoop[hadoop@hadoop100 ~]$ cd ~[hadoop@hadoop100 ~]$ sudo yum install -y net-tools[hadoop@hadoop100 ~]$ ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.186.100 netmask 255.255.255.0 broadcast 192.168.186.255inet6 fe80::ac3e:51e8:9275:6fcd prefixlen 64 scopeid 0x20<link>ether 00:0c:29:05:2a:0e txqueuelen 1000 (Ethernet)RX packets 1338 bytes 431899 (421.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 920 bytes 113806 (111.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 32 bytes 2592 (2.5 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 32 bytes 2592 (2.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0- yum install进行软件安装是需要root权限的,因此需要加上sudo来执行
- 正常情况下sudo命令需要提供当前用户的密码,确认成功后才能执行命令
- 由于我们在/etc/sudoers为hadoop用户配置了root权限以及免sudo密码,所以无需输入密码
- 查看ip使用
ifconfig
要比ip a
的方式有更好的显示和更多的选项
- 第一个配置
9、虚拟机备份
有时候虚拟机可能为因为磁盘损坏导致引导失败,建议为重要的虚拟机制作备份
- 可以使用VMwareStation自带的虚拟机克隆向导实现备份
- 拍快照
- 选择完整克隆
- 为克隆的虚拟机另起一个名字
10、远程终端连接工具
由于在VMwareStation的虚拟机界面操作十分不便,无法滚动屏幕看之前的内容,也不能粘贴复制,另外有时我们需要在虚拟机和宿主机器之间传输文件,因此这里使用NetSarang公司的Xshell和Xftp进行对虚拟机的远程ssh连接和远程sftp连接客户端。
具体使用方法请查看官方
https://www.netsarang.com/zh/xshell/
https://www.netsarang.com/zh/xftp/
另外强烈推荐另外一款远程终端产品叫做MobaXTerm, 也是非常好用!
[END]
Views: 68