文章目录
1.集群(三台)
1.1 新增linux系统
第一步: 克隆虚拟机
第二步: 更改新增系统的mac地址
vim /etc/udev/rules.d/70-persistent-net.rules
第三步: 更改网卡信息(setup)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
第四步: 重启系统生效
reboot 或 shutdown -r now
1.2 三台机器 关闭防火墙
- 内网环境 安全性比较高, 防火墙开启会影响效率, 所以 关闭防火墙
三台机器执行以下命令(root
用户来执行)
# 查看防火墙的状态
service iptables status
# 启动防火墙服务
service iptables start
# 重启 防火墙 服务
service iptables restart
# 停止 防火墙 服务
service iptables stop
# 彻底关闭防火墙
chkconfig iptables off
1.3 三台机器关闭selinux
vim /etc/selinux/config
- 注意: 重启才会生效 ! ! !
1.4 三台机器更改主机名
vim /etc/sysconfig/network
- 重启才会生效
1.5 三台机器 给ip地址起别名
1.5.1 给ip地址起别名
vim /etc/hosts
192.168.100.201 hadoop01 192.168.100.202 hadoop02 192.168.100.203 hadoop03
1.5.2 测试
ping 192.168.100.202
ping hadoop02
1.6 scp
远程文件拷贝
1.6.1 scp 是什么
- scp是 remote file copy program 的缩写, scp是远程文件拷贝命令。
1.6.2 从本地拷贝到远程机器上
准备工作
# 创建目录 mkdir -p /export/aaa/bbb/ccc # 创建文件 touch /export/aaa/01.txt /export/aaa/02.txt # 显示 tree /export/aaa
1 文件
语法格式
# 拷贝文件 scp local_file remote_username@remote_ip:remote_folder
需求: 将本地 01.txt 文件 复制到 192.168.100.202 机器的 /export目录下
scp /export/aaa/01.txt root@192.168.100.202:/export scp /export/aaa/02.txt root@hadoop02:/export scp /export/aaa/02.txt hadoop02:/export
2 文件夹
语法格式
# 拷贝目录 scp -r local_folder remote_username@remote_ip:remote_folder
需求: 将本地 aaa 目录 复制到 192.168.100.202 机器的 /export 目录下
scp -r /export/aaa root@192.168.100.202:/export scp -r /export/aaa root@hadoop02:/export scp -r /export/aaa hadoop02:/export
1.6.3 将远程机器内容复制到本地机器上
准备工作
# 创建目录 mkdir -p /export/a1/b1/c1 # 创建文件 touch /export/a1/111.txt touch /export/a1/222.txt # 显示内容 tree /export/a1
1 文件
语法格式
scp remote_username@remote_ip:remote_file local_folder
练习3: 将 hadoop02的 111.txt 文件 复制到 hadoop01的 export目录下
scp root@192.168.100.202:/export/a1/111.txt /export scp root@hadoop02:/export/a1/222.txt /export scp hadoop02:/export/a1/222.txt /export
2 目录
语法格式
scp -r remote_username@remote_ip:remote_folder local_folder
练习4: 将hadoop02的 /export/a1/ 目录 复制到 hadoop01 的 export目录下
scp -r root@192.168.100.202:/export/a1 /export scp -r hadoop02:/export/a1 /export
1.7 ssh远程登录
1.7.1 目标
- 专门用于 远程登录
1.7.2 路径
- 方式一: 使用
ssh
基于密码的远程登录 - 方式二: 使用
ssh + expect
实现 免密码登录 - 方式三: 使用
ssh
基于密匙 实现 免密码登录
1.7.3 实现
方式一 使用ssh
基于密码的远程登录
- 在第三台机器上登录到第二台机器上
- 细节: 首次远程登录会询问
yes/no
, 以后可能就不会了
方式二: 使用 ssh
基于密匙 实现 免密码登录
第一步: ssh-keygen -t rsa 在hadoop1和hadoop2和hadoop3上面都要执行,产生公钥和私钥
第二步:ssh-copy-id hadoop01 将公钥拷贝到hadoop1上面去
第三步:
ssh-copy-id hadoop02
ssh-copy-id hadoop03
- 注意: 第三步需要在/root/.ssh/目录下
1.8 crontab 任务调度
1.8.1 原理
1.8.2 概述
crontab 进行 定时任务的设置
基本语法
crontab [选项]
- 常用选项
- 常用选项
1.8.3 案例: 每隔1分钟将时间打印到 /export/文件中
方案一: 直接式
第一步: date >> /export/mydate1.txt 测试命令
第二步: 通过 crontab -e 进入 定时任务
第三步: 编辑定时任务命令
*/1 * * * * date >> /export/mydate1.txt
第四步: 检测是否成功
cd /export/ && tail -f mydate1.txt
方式二: 脚本式
第一步: 书写测试命令
echo `date +"%Y-%m-%d %H:%M:%S"` >> mydate2.txt
第二步: 将命令放到脚本中
vim /export/task.sh
echo `date +"%Y-%m-%d %H:%M:%S"` >> /export/mydate2.txt
第三步: 增加可执行权限
chmod +x /export/task.sh
第四步: 执行脚本
/export/task.sh
第五步: 进入 定时任务
crontab -e
*/1 * * * * date >> /export/mydate1.txt */1 * * * * /export/task.sh
第六步: 测试 观察结果
tail -f /export/mydate2.txt
1.8.4 参数细节说明
5个占位符的说明
例子
1.9 三台机器时钟同步
1.9.1 同步互联网时间
阿里云时钟同步服务器
ntpdate ntp4.aliyun.com
三台机器定时任务 : 直接与阿里云服务器进行时钟同步
crontab -e */1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
准备工作: 删除三台服务器定时任务
crontab -r
1.9.2 跟内网某台机器同步时间
- 为了安全, 大数据集群的节点不允许连接外网
- 以192.168.100.201 这台服务器的时间为准进行时钟同步
第一步:确定是否安装了ntpd的服务
rpm -qa | grep ntpd
如果 没有安装,可以进行在线安装
yum -y install ntpd
查看ntpd的状态
service ntpd status
启动ntpd的服务
service ntpd start
设置ntpd的服务开机启动
chkconfig ntpd on
第二步:编辑 /etc/ntp.conf
- 编辑第一台机器的 /etc/ntp.conf
vim /etc/ntp.conf
在文件中添加如下内容, 配置我们的时钟广播地址
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
注释一下四行内容
#server0.centos.pool.ntp.org #server1.centos.pool.ntp.org #server2.centos.pool.ntp.org #server3.centos.pool.ntp.org
去掉以下内容的注释,如果没有这两行注释,那就自己添加上
server 127.127.1.0 # localclock fudge 127.127.1.0 stratum 10
配置以下内容,保证BIOS与系统时间同步
vim /etc/sysconfig/ntpd
添加一行内容
SYNC_HWLOCK=yes
重启ntpd 服务
service ntpd restart
- 注意: 如果更改ntp时钟服务器的时间,也需要重启 ntpd 服务
第三步:另外两台机器与第一台机器时间同步
先手动同步时间
ntpdate 192.168.100.201
再使用 定时任务 同步时间
crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.100.201
另外两台机器与192.168.52.201进行时钟同步
注意: 报错
- 原因: ntp服务已运行
- 解决办法: 断开再连