任务1:虚拟机下安装CentOS 7.4

一、首先安装虚拟机VMware:

百度上大把,版本12-15都有且带秘钥,可自行上网下载。此处以14为例(其他版本操作基本相同)。

二、下载CentOS 7.4 ISO

推荐一些国内镜像网站(网上大把),下载速度都是令人满意的。常用的如,阿里云镜像:
最新版本:https://mirrors.aliyun.com/centos/;老版本:https://mirrors.aliyun.com/centos-vault/
具体下载目录为:https://mirrors.aliyun.com/centos-vault/7.4.1708/isos/x86_64/,然后选择CentOS-7-x86_64-DVD-1708.iso ,如图所示:
在这里插入图片描述

备注:版本说明

(1) DVD版本是标准安装版,一般下载这个即可,它是安装到硬盘,每次重启可以保存之前的设置;
(2) LiveCD是运行在内存中,每次重启之前保存的就没有了;
(3) Minimal是最小的,只是命令行模式;
(4) LiveGNOME是GNOME桌面版,也是每次重启恢复最初的设置;
(5) Everything集成所有软件,也比较大 。
此处是DVD位的版本。

三、安装CentOS7.4系统

运行VMware,点击创建新的虚拟机
在这里插入图片描述

选择“自定义(高级)”后,点击下一步
在这里插入图片描述

考虑到VMware Workstation硬件兼容版本问题,可以在“选择虚拟机硬件兼容性”窗口调整适合自己使用的版本,点击下一步
在这里插入图片描述

此处我选择“稍后安装操作系统”,点击下一步
在这里插入图片描述

选择操作系统与版本,点击下一步
在这里插入图片描述

标识“虚拟机名称”,可根据自己的需求定义。记住为记忆方便,最好使用容易辨别的名称。“位置”更改为自己想存放的目录下即可(建议:虚拟机名字为hadoop01、bigdata01、mini01等,最好不要出现中文)
在这里插入图片描述

设置"处理器数量及每个处理器的内核数量",注意请不要超出电脑硬件的实际指标(建议:比较新的计算机,可以选择2*2=4个处理器内核)
在这里插入图片描述

分配“虚拟机内存“(一般按照默认值),这里我分配2G,注意请不要超出电脑硬件的实际指标(建议:如果内存小于8G,此处最多选择1G,由于推荐最小安装,此处可设置为512M即可。)
在这里插入图片描述

选择“网络类型”,可根据实际需求及虚拟机网络配置特性选择,推荐使用NAT。
在这里插入图片描述

选择I/O控制器类型,这里选择推荐的
在这里插入图片描述

选择磁盘类型,这里选择推荐的
在这里插入图片描述

选择使用哪个磁盘,是“创建新虚拟磁盘”还是“使用现有虚拟磁盘”,也可以选择”使用物理磁盘”(可以提高读写数据的速度),这里选择"创建新虚拟磁盘"
在这里插入图片描述

指定磁盘容量,采纳建议值或者自定义即可,这里我选择60G,下面的“立即分配所有磁盘空间”(它的作用是帮助你立即把设定好的磁盘空间划给虚拟机使用,该多大就多大),如果不勾选,即表示磁盘空间会随着数据的递增而增加。最后面的"将虚拟磁盘存储为单个文件"还是"将虚拟磁盘拆分成多个文件",我选择"将虚拟磁盘存储为单个文件"(如果你的计算机是采用FAT32文件格式,那么最大单文件大小: 4 GB (Fat16分区是2 GB ),分区大小不超过32GB左右。也就是说你的虚拟机磁盘空间不可能大于这个数字,否则就会出错。而NTFS格式的文件系统支持文件大小为2TB。选择"单个"还是"多个"可根据自身磁盘文件格式来决定,建议选择"单个")
建议:此处磁盘大小默认即可。此处的20G,不是一下子占满20G的硬盘空间,是最多占20G。
在这里插入图片描述

核对下虚拟机磁盘文件的名称与类型
在这里插入图片描述

最后显示完整的“创建虚拟机配置列表”,当然你现在可以选择“自定义硬件”或者在VMware Workstation的虚拟机页面中来增减部分硬件设备,以符合你搭建环境的需求,点击完成。
在这里插入图片描述

在此计算机中,选中刚命名的hadoop01,右键或“编辑虚拟机设置”,
在这里插入图片描述

点击“开启此虚拟机”,启动虚拟机
在这里插入图片描述

启动虚拟机后我们选择第一项"Install CentOS 7"开始进入安装界面(注:我们可以通过鼠标点击或者Ctrl+G进入虚拟机内,可以通过Ctrl+Alt组合健,切换到Windows)
在这里插入图片描述

等待。。。。。。
选择安装过程中所使用的语言,我们选择“简体中文”继续
在这里插入图片描述

接下来的“安装信息摘要”,包括日期和时间源、键盘和语言、安装源、软件选择、安装位置、KDUMP、网络和主机名等等设定
在这里插入图片描述

点击"安装位置",选择"我要配置分区",点完成(备注:此处可不做任何设置,即默认分区即可)-“完成”。
如果选择默认分区的话,方框内的内容不必设置(即分区)。
在这里插入图片描述

添加新挂载点,点完成
在这里插入图片描述

点击接受更改
在这里插入图片描述

设定"软件选择"(默认最小安装),此处采用最小安装,即只有命令界面(物理内存小于8G,建议:选择默认),完成。
在这里插入图片描述

点击"网络和主机名",把“主机名”更改成自己需要的名称,如hadoop01并点“应用”,并将右上方的“关闭”修改为“打开”,接着再点右下方的“配置”-“IPv4设置”,“方法”:手动,“Add”-填写内容如下图所示,即设置:网络(根据自己的NAT设置,如bigdata111/192.168.157.111/255.255.255.0/192.168.157.2/61.177.7.1,自动连接),当然这些可以装好后再设置。保存-完成。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关闭KDUMP和SECURITY POLICY(以后这两个要关闭)。点击“KDUMP”-去掉复选框中的勾号-“完成”。再点击“SECURITY POLICY”-将“打开”修改为“关闭”-“完成”。
在这里插入图片描述

设置完成后,点击"开始安装"
在这里插入图片描述

进入下一个页面
在这里插入图片描述

设置TOOT密码(必须设置,建议设置简单密码,如123456,两次点击“完成”即可)
在这里插入图片描述

创建用户(建议:可暂时不设置,装好系统后可以使用命令创建)
在这里插入图片描述

点击"完成"后,再次返回上个界面,等待。
在这里插入图片描述

点击重启,完成剩余的配置
在这里插入图片描述

任务2:大数据前期环境搭建(未完待续)

1.修改ip地址(任务1中已经设置好了,此步可不修改)
安装完成后,出现命令登陆界面→输入用户名和密码登陆到系统里面→两种获得IP地址及相关内容方法:
(1)动态方式(即DHCP方式):运行dhclient命令自动获取IP(前提是网络中有DHCP服务器,并且前面已经选择了NAT且物理机能上网),这样一来,虚拟机应该也能上网(可用ping www.baidu.com来测试,也可用ip addr或ifconfig命令来查看IP地址及相关内容,若没有ifconfig命令,则安装yum -y install net-tools)。
(2)静态方式(即手工指定方式):编辑网卡配置文件(按 i 进入编辑模式,根据实际情况,必须修改如下几项内容,其他项可保持不变或删除)
备注:安装centos7.4时,可以设置这些内容,也可以安装好后,再做如下操作。

[root@hadoop01]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE= ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.157.111
NETMASK=255.255.255.0
GATEWAY=192.168. 157.2
DNS1=61.177.7.1

按ESC键退出编辑模式,:wq保存退出

root@gejun ~]# systemctl restart network

备注: 说明:下面的设置应该在安装第一台Centos7.4之前在VMware Workstation中设置。
1、采用NAT方式,设置NAT子网为:192.168.157.0/24,网关为192.168.157.2。 打开位置:VMware
在这里插入图片描述
在这里插入图片描述
Workstation界面-“编辑”-“虚拟网络编辑器”- “设置子网”和“NAT设置”:
2、查看ip地址信息:ifconfig -a(查看所有,可以不带a)或ip addr。
3、关机命令:(1)halt或shutdown -h now或poweroff或init 0(2)重启:reboot或shutdown -r now或init 6.
4、配置静态地址(虚拟机、能上网)时,仅仅需要配置:DEVICE、TYPE、ONBOOT=yes、
BOOTPROTO=static、IPADDR、NETMASK、GATEWAY、DNS1即可,其它内容可以不要。

2. 克隆centos7.4

先关闭之前安装好的那一台centos7.4(被克隆的机器),然后(右击标题)管理或快照中→完整克隆→……→完成。
在这里插入图片描述

备注:至少克隆出2台(如计算机的物理内存大于8G,可克隆4台)。克隆后,仅需要修改主机名、IP地址(如果被克隆机器之前安装时已经设置了相关内容。其他内容已经设置过,仅需改这两处,其他不变)。
操作如下:
先启动克隆好的centos7.4系统并登陆系统(root/123456)
在这里插入图片描述

然后编辑网卡配置文件(按 i 进入编辑模式)

[root@hadoop01]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

将IPADDR=192.168.157.111修改为IPADDR=192.168.157.112即可。按ESC键退出编辑模式,:wq保存退出
在这里插入图片描述

 
[root@hadoop01]# systemctl restart network    //重启网络服务,即修改生效

克隆另外一台主机,同理,如上操作(IP地址分别为113)。
3. 修改每一台的主机的主机名(i插入→修改后→wq保存并退出)
说明:每台机器设置好IP地址之后,其他的内容修改,可使用secureCRT远程连接方式修改(这样操作方便)。具体secureCRT远程连接操作如下文所述。
vi /etc/hostname
例如,将” localhost.localdomain”修改为”hadoop01”。 需要重启机器,即reboot,其他2台同理(hadoop01- hadoop03)
备注:centos7修改主机名hostname有三种方式:
 静态(Static host name)
 动态(Transient/dynamic host name)
 别名(Pretty host name)
1)首先,查看当前主机名。
(1)hostnamectl status 或者 hostnamectl(7专用)
(2)hostname或uname -n (通用)
2)其次修改主机名有3种办法:
第一种:hostname 主机名
#hostname 主机名称
这种方式,只能修改临时的主机名,当重启机器后,主机名称又变回来了。
第二种:hostnamectl set-hostname
#hostnamectl set-hostname <主机名>
使用这种方式修改,可以永久性的修改主机名称!
第三种:修改/etc/hostname文件
其实第二种办法也是修改的这个文件。

  1. 修改ip地址和主机名的映射关系(实现域名访问对方)
    (1)Linux中(准备5台centos7.4虚拟机):
    vi /etc/hosts
    127.0.0.1 localhost hadoop01 localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.157.111 hadoop01
    192.168.157.112 hadoop02
    192.168.157.113 hadoop03

备注:上例中是将” localhost.localdomain”修改为” hadoop01”,以及IP地址和域名的对应关系,其他内容不变,并在末尾添加上面的三条语句。
(2)win7中:
C:\Windows\System32\drivers\etc\hosts
说明:任意能编辑文本的编辑器打开(如记事本),在文件适当位置(一般放在文件末尾),添加如下内容,保存即可。
192.168.157.111 hadoop01
192.168.157.112 hadoop02
192.168.157.113 hadoop03

  1. 关闭防火墙
    Centos7.4中,防火墙为firewalld,设置其开机启动/不启动(默认开启)
    #systemctl stop firewalld
    #systemctl disable firewalld

备注1:
1、firewalld的基本使用
#systemctl start firewalld //启动防火墙
#systemctl stop firewalld //关闭防火墙
#systemctl status firewalld //查看防火墙状态
#systemctl disable firewalld //开机禁用防火墙
#systemctl enable firewalld //开机自启动防火墙

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。此处以防火墙firewalld为例,其他服务同理
启动一个服务:systemctl start firewalld.service //.service可以省略
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
4.那怎么开启一个端口呢?
添加:firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
重新载入:firewall-cmd --reload
查看:firewall-cmd --zone= public --query-port=80/tcp
删除:firewall-cmd --zone= public --remove-port=80/tcp –permanent

备注2:
(CentOS7之前的防火墙版本)iptables也叫netfilter,是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,他的功能十分强大,使用也非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。但是iptables在CentOS7的版本上已经被阉割掉了,我们需要自行安装,以下是在CentOS7下安装iptables和使用方式。
1、查看是否安装成功
命令:systemctl status iptables
备注:如果输出结果如果没有,需要自行安装
2、安装iptables
命令:yum install iptables-services
3、检查是否安装成功
命令:systemctl status iptables
备注:再次查看状态,输出结果(active(exited))表示已经成功启动iptables
4、系统命令
systemctl start iptables #启动
systemctl status iptables #查看运行状态
systemctl restart iptables.service #重启
systemctl stop iptables.service #停止
systemctl enable iptables.service #设置开机启动
systemctl disable iptables.service #禁止开机启动
5、常用命令
iptables -h #查询帮助
iptables -L -n #列出(filter表)所有规则
iptables -L -n --line-number #列出(filter表)所有规则,带编号
iptables -L -n -t nat #列出(nat表)所有规则
iptables -F #清除(filter表)中所有规则
iptables -F -t nat #清除(nat表)中所有规则
service iptables save #保存配置(保存配置后必须重启iptables)
systemctl restart iptables.service #重启

  1. 关闭SELinux
    这里如果不关闭SELinux,使用密钥登录会提示Server refused our key,从而导致不能成功。需要运行如下命令来关闭SELinux
    #setenforce 0 这是暂时的关闭,下次重启后,SELinux 还会开启。若要永久关闭,命令如下
    #vi /etc/selinux/config 回车后,把光标移动到 SELINUX=enforcing这一行,输入i 进入编辑模式,修改为 SELINUX=disabled。按Esc键,:wq 回车,或# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config。最后重启机器才能生效。

备注:查看当前Selinux状态:#getenforce,临时开启:setenforce 1

  1. secureCRT远程登录centos7.4
    Linux主要应用于服务器领域,因此,常采用网络远程登录方式(即sshd服务,默认22端口,默认已经安装,配置文件为/etc/ssh/sshd_config)。常用的终端远程登录软件有xshell、secureCRT、Putty、SSH Secure Shell等。
    CRT的设置:(1)乱码问题:options(选择)菜单→ global options(全局选项)→general(常规)→default session(默认会话)→edit default settings(编辑默认设置)→Appearance(外观)→character encoding(字符编码)→选择UTF-8即可。
    一般还需要配置有:(1)emulation(仿真)→terminal及ANSI Color,(2)Appearance(外观)→颜色(current color scheme-当前配色方案)font-字体大小等。
    注意:options(选择)菜单→ global options(全局选项)或session options(会话选项)的区别:前者是全局有效,后者是本会话有效。
    SecureCRT 上传下载:SecureCRT可以使用Linux下的zmodem协议来快速的传送文件,你只要设置一下上传和下载的默认目录就行(options->session options ->Terminal->Xmodem/Zmodem),在右栏Directories设置上传和下载的目录。
    1)上传:运行命令rz,是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录;
    2) 下载:运行命令sz file1 file2就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。
    注:
    (1)如果上传rz、下载sz命令无效,需先安装: yum install lrzsz –y
    (2)SecureCRT在同一窗口打开多个标签:勾选“open in a tab”即可。
    (3)securecrt多窗口执行命令:
    首先在SecureCRT里同时打开多个服务器session(必须是有相同目录结构)→选择菜单栏View –>Chat Windows 对号,此时所有服务器连接下方应该有个空白的部分→在空白的部分(Chat Windows)右键鼠标, 选上Send Chat to All Tabs→在Chat Windows输入命令如 ll 回车, 则当前打开的所有服务器session都会执行ls命令→如果要同时执行多个命令如who和last, 在Chat Windows先输入who后按Ctrl+Enter, 再输入last, 最后回车, 则当前打开的所有Session都会执行who和last命令→取消该功能, 则在Chat Windows右键鼠标, 不要选上Send Chat to All Tabs即可。
    7.1 使用密码直接登录

备注:除了使用rz和sz可以使用Putty中的pscp (windows命令提示符下)
1、使用pscp从windows上传文件至linux:
windows切换目录:D:>e:
将E盘中的jdk-7u45-linux-x64.tar.gz的上传到Linux系统的/usr/local/src文件夹中
例如:E:>pscp jdk-7u45-linux-x64.tar.gz [email protected]:/usr/local/src
备注:将pscp.exe和要上传的软件都放在E盘根目录下,可以省去频繁的目录切换。
2、使用pscp方式从linux下载文件到windows:
将Linux上的jdk-7u45-linux-x64.tar.gz下载到D盘
例如:E:>pscp [email protected]:/usr/local/src/jdk-7u45-linux-x64.tar.gz D://

7.2 使用秘钥认证实现多台Linux相互登录
SSH服务支持一种安全认证机制,即密钥认证。一个称为公钥(public key),用于加密,任何人都可以看到其内容;另一个称为私钥(private key),用于解密,只有拥有者才能看到其内容。服务器和客户端都各自拥有自己的公钥和私钥,PuTTY除了可以使用密码直接登录linux,还可以使用密钥认证登录linux。
例如:在一台主机上(A)生成一对加密的密钥:公钥和私钥。之后把公钥复制一份给另外一台主机(B),并且在B上进行授权在一个文件中。之后在每次A连接B的时候,B就会针对传过来的公钥进行验证发送一个进行加密的给A,A通过私钥进行解密,如果解密通过就能直接连上,而不需要输入密码了!
下面以2台为例:
ssh免密登陆机制如下图所示:

想要实现Lniux机相互登录,需要再Linux机器上安装一个客户端软件。也是CentOS自带的客户端软件叫openssh-clients。
查看是否安装有openssh-clients:#ssh –V
(两台都要安装)如果没有则安装openssh-clients:#yum install –y openssh-clients
(1) 使用密码登录
#ssh [email protected] //第一次登录对方机器,会有提示,如下
(这里符号@前面的root表示要以远程机器哪个用户的身份登录)。我们可以省略root@,即写成ssh 192.168.157.112,这也表示以root用户身份登录。
备注:退出用Ctrl+D或命令exit。
(2)使用密钥登录
配置两台linux主机之间的免密ssh登录
假如hadoop01要登录 B
在A上操作:
(1)首先生成密钥对: ssh-keygen (有提示时,直接回车即可)
(2)再将hadoop01自己的公钥拷贝并追加到hadoop02的授权列表文件authorized_keys中: ssh-copy-id hadoop02
通过将这两个步骤完成之后,下次再登录的时候就不需要再输入密码了!
注意:
<1>如果hadoop02要登录hadoop01的话,还是要在hadoop02上生成密钥对并重复上面的操作。也就是从hadoop01登录hadoop02和从hadoop02登录hadoop01是不同的。
<2>自己这台主机登录自己也是要输入密码的,所以可按照上面操作配置免密。
举例:hadoop01为客户端,hadoop02为要登录机器(服务器)。先退出刚才登录,执行如下命令:
[root@hadoop01 ~]#ssh-keygen 或 #ssh-keygen -t rsa //默认三次回车,ssh-keygen默认使用rsa密钥
这个命令用来生成密钥对。首先,上面这是定义私钥的存放路径,默认路径为/root/.ssh/id_rsa

最终生成了密钥对,再/root/.ssh/目录下找到公钥id_rsa.pub和私钥id_rsa
此时再把公钥复制到要登陆的机器上
首先,在hadoop01上公钥的内容,运行命令[root@hadoop01 ~]# ssh-copy-id hadoop03,就将hadoop01的公钥拷贝到了hadoop03上,然后在hadoop01上就可以免密登录hadoop03了,如下图:

其他机器之间免密登录,同理,如上操作。(如果在生成密钥对时设置了密码,那么这里也会提示输入密钥密码,为了方便跨机器执行命令,这里特意不设置密码)。最终要实现3台机器相互免密登录。
最终效果如下图所示。每一台机器的/root/.ssh/authorized_keys文件中都有三个公钥(hadoop01、hadoop02、hadoop03三台机器的公钥,从而实现三台机器间以及自己免密登录自己)。

备注1:
1、以上操作仅针对root用户(命令提示符为#),其他普通用户(命令提示符为$)还需要在对应用户下来执行相同操作来秘钥登录(即免密登录),基本上是一样的,可能需要执行# chmod 700 /root/.ssh
2、以上是hadoop01为客户端,hadoop02为要登录机器(服务器),反之,还要按上述步骤进行免密登录设置。
备注2:限制root远程登录
更改远程登陆配置文件,命令为#vi /etc/ssh/sshd_config;
vi下搜索关键词,命令为/Root;
找到#PermitRootLogin yes,去掉#,yes改为no保存,重启服务#systemctl restart sshd.service;即限制root远程登陆;
普通用户登录,然后切换到root,实现root用户远程,命令为#sudo su - root;
需要先修改sudo配置文件,命令为#visudo;
更改配置文件,添加aming用户,例如:aming ALL=(ALL) NOPASSWD: /usr/bin/su
查看多少用户登陆,命令为#w;

おすすめ

転載: blog.csdn.net/m0_59537084/article/details/120197147