Linux Centos7
虚拟机环境配置
1
安装虚拟机
1.1
前提说明
在
windows
环境下,以及安装
VMware
。以
VMware Workstation 15 Pro为例
。

提前预留好
60G
以上的硬盘空间给虚拟机使用,最好使用固态硬盘存放虚拟机文件
把虚拟机安装在D
盘

1.2
在
windows
系统上确认所有的
VMware
服务已启动
任务栏右键
--
任务管理器
-
服务

1.3
创建虚拟机
选择典型安装,
一路默认即可

此处选择镜像位置

可以给虚拟机取个名字,并换一个安装路径,否则默认安装在
C
盘

1.4
启动虚拟机安装
选择语言,此处选择中文

安装过程中界面显示是中文
软件选择项选择最小安装,其他的根据提示完成即可

设置
ROOT
密码
统一设置为123456
创建用户可以创建一个
用户,密码
123456

等待安装完成重启即可

2
基础命令
2.1
基础命令
查询网络信息
ip addr
进入目录
cd
查看文件
ls 、 ll
查看当前目录
pwd
/ 表示根目录
clear 清屏幕
2.2
文件操作
2.2.1 vi
命令三种模式
使用
linux
的场景经常遇到修改文件,修改配置文件。vi命令则是最基础的修改文件的命令。
和windows
界面操作不一样,
linux
上使用命令行方式修改文件,必然和界面方式修改文件有
一点区别。

2.2.2 vi
命令参数表

2.3
日志操作
tail 命令查看实时日志
tail -f filename
模拟日志生成:
vi /hadoop/log.sh # 创建一个 shell 脚本
#!/bin/bashfor i in $(seq 1 10000)dod = $(date +%Y%m%d%H%M)echo " $d ""-------- $i " >>/hadoop/test.logdone
给日志脚本权限
sudo chmod -R 777 log.sh# orchmod + x log.sh
执行脚本
./log.sh
查看日志
tail -f test.log
3
环境配置
3.1
网络配置
3.1.1
确认好
VMware
生成好的网关地址
关闭虚拟机
VMware
虚拟机
--
编辑
--
虚拟网络编辑器
--
选择
NAT
模式
--NAT
设置
--
网关
IP
记录下自己的网段

3.1.2
确认
VmNet8
网卡已经设置好了
IP
地址了
DNS
在网络上右键
--
打开
“
网络和
Internet
设置
”--
以太网
--
更改适配器设置
--VMnet8
虚拟网卡

右键
VMnet8
虚拟网卡
--
属性
--
网络
--Internet
协议版本
4
(
TCP/IPv4
)
此处要使用手动设置
IP
,此处
IP
和上面看到网关地址需一致

网关和之前看到网关地址保持一致
复制虚拟机

将虚拟机文件夹复制三份,并分别重命名,使用
VM
打开并重命名

3.1.4
分别设置三台虚拟机的内存
需要三台虚拟机,并且需要同时运行,总体上占用为:每台虚拟机内存
*3
在分配的时候,需要在总内存的大小的基础上减去
2G-4G
作为系统内存,剩余的除以
3
,作为每台
虚拟机的内存
每台虚拟机内存
=
(总内存
-4
)
/ 3

3.1.5
虚拟机修改
mac
地址和
ip
3.1.5.1
集群规划
IP 主机名 环境配置192.168.10.110 node01192.168.10.120 node02192.168.10.130 node03
3.1.5.2
设置
IP
和
Mac
地址
重新生成
Mac
地址
在虚拟机关机的情况下右键 -- 设置 -- 硬件 - 网络适配器 -NAT 模式 -- 高级 --Mac 地址 -- 生成

启动
3
台虚拟机
设置
IP
地址,修改配置文件。
vi /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO = staticONBOOT = yesIPADDR = 192 .168.10.110NETMASK = 255 .255.255.0GATEWAY = 192 .168.10.2DNS1 = 8 .8.8.8DNS2 = 114 .114.114.114
网络重启
systemctl restart network
验证是否网络通畅
ping baidu.com
3.1.6
使用
SSH
客户端连服务器
安装
secureCRT
或
xshell
连接服务器
设置编码格式
utf-8

没有xshell工具的可以到我的百度网盘下载https://pan.baidu.com/s/1JUYhb9gJsne3HJk3wl3-6A?pwd=2m5h
3.2
配置主机名和域名的映射
配置主机名
把原本值删除,添加对应机器的主机名
vi /etc/hostname
配置主机域名映射,三台机器都配置一样配置
vi /etc/hosts192.168.10.110 node01 node01.hadoop.com192.168.10.120 node02 node02.hadoop.com192.168.10.130 node03 node03.hadoop.com
重启
reboot
3.3
关闭防火墙和
SELinux
3.3.1
关闭防火墙
关闭防火墙并设置开机不启动
systemctl stop firewalld 短暂关闭systemctl disable firewalld 永久关闭systrmctl status firewalld 查看状态

3.3.2
防火墙说明
Centos7 中默认将原来的防火墙 iptables 升级为了 firewalld 。常用指令 :1 、安装 firewalldroot 执行 # yum install firewalld firewall-config2 、运行、停止、禁用 firewalld查看状态 :# systemctl status firewalld 或者 firewall-cmd --state临时启动 :# systemctl start firewalld永久开机自启动 :# systemctl enable firewalld临时禁用 :# systemctl stop firewalld停止,开机不启动 :# systemctl disable firewalld3 、 firewalld 规则添加查看所有打开的端口firewall-cmd --zone=public --list-ports添加一个端口firewall-cmd --zone=public --add-port=80/tcp --permanent 删除一个端口Firewall-cmd --zone=public --remove-port=80/tcp --permanent 更新防火墙规则firewall-cmd --reload
3.3.3
关闭
SELinux
关闭 selinuxvi /etc/selinux/configSELINUX = disabled # 把 SELINUX 值改为 disabled

3.3.4 SELinux
介绍
什么是
SELinux
SELinux 是 linux 的一种安全子系统Linux 中的权限管理是针对文件的,而不是针对进程的,也就是说,如果 root 启动了某个进程则这 个进程可以操作任何一个文件SELinux 在 linux 的文件权限外,增加了对进程的限制,进程只能在进程的允许范围内操作资源
为什么要关闭
SELinux
使用系统时候需要做复杂的配置。生产环境使用,学习阶段不使用。SELinux 的工作模式:enforcing 强制模式permissive 宽容模式disable 关闭SELinux 的操作临时关闭 SELinux:# setenforce 0临时打开 SELinux:# setenforce 1编辑 /etc/selinux/config 文件,将 SELINUX 的值设置为 disabled,SELINUX=disabled
3.4
免密登陆
3.4.1
说明
Hadoop
节点众多,所以一般情况下主节点启动从节点,这个时候主节点登陆到从节点中。免密能减 少很多麻烦。
3.4.2
对称加密和非对称加密
对称加密:单密码加密
DES 、 3DES 、 AES 等等
非对称加密:现代加密算法,是计算机通讯安全的基石
公开密钥和私有密钥是一对 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。
因为加密和解密使用的是两不同的密钥,所以这种算法叫作 非对称加密算法 。
经典算法
“RSA”

3.4.3
免密
SSH
登陆的原理
需要在 B 节点配置 A 节点的公钥A 节点请求 B 节点,要求登陆B 节点使用 A 节点的公钥,加密一段随机文本A 节点使用私钥解密,并发回给 B 节点B 节点验证文本是否正确
3.4.4
操作步骤
三台机器分别生成各自的公钥、私钥
3
台机器都执行以下命令
ssh-keygen -t rsa 输入命令后直接三个回车
生成的密钥在 /root/.ssh/id_rsa 路径下

检查公钥生成是否正确
less /root/.ssh/id_rsa.pub

拷贝三台机器的公钥到第一台机器
三台机器执行命令:
ssh-copy-id node00
检查拷贝情况
less /root/.ssh/authorized_keys

复制
node00
的认证到其他机器
在
node00
上执行命令
scp/root/.ssh/authorized_keys node01:/root/.sshscp/root/.ssh/authorized_keys node02:/root/.ssh
此时已经完成免密登录,使用
ssh
命令可以从任意一台机器访问其他机器
node01
上访问
node02
或者
node03
使用命令:
ssh node02
或者
ssh node03
3.5
时钟同步(此章节忽略)
3.5.1 chrony
集群上必须保证时间一致,否则就有可能出现问题,在
centos7
上默认安装了
chrony
。
centOS7
上是否存在
chronyd
:
3.5.2
安装
chrony
如果不存在,可以安装
修改时间服务器
yum list chrony
systemcrl status chronyd

yum -y install chrony
vim /etc/chrony.conf # 配置外部时间服务器,将配置文件中默认的全部注释掉
server ntp1.aliyun.com ## 中国授时
# 只允许 192.168.0 网段的客户端进行时间同步allow 192.168.0.0/24# 启用 RTC (实时时钟)的内核同步
rtcsync# 当外部时间服务器不可用时,采用本地时间作为同步标准local stratum 10