大数据学习1——集群搭建
虚拟环境搭建
克隆三台虚拟机并配置网络
把之前配置好的虚拟机克隆三份
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNW2z1Nc-1604748342726)(D:\Desktop\2020-11-07_171255.png)]
分别在三台虚拟机中设置网络,和hostname与ip的映射。步骤为:centOS7安装与配置
关闭三台虚拟机网络
使用finalshell连接虚拟机,进行批量操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oheUguTp-1604748342727)(大数据学习1——集群搭建.assets/image-20201107181313894.png)]
systemctl status firewalld.service # 查看firewall状态
systemctl stop firewalld.service # 停⽌firewall
systemctl disable firewalld.service # 禁⽌firewall开机启动
防火墙运行中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KqKdBf30-1604748342729)(大数据学习1——集群搭建.assets/image-20201107180649320.png)]
防火墙已关闭
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gykUMmxv-1604748342731)(大数据学习1——集群搭建.assets/image-20201107180903187.png)]
三台机器关闭selinux
vi /etc/selinux/config
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7a2sIDPM-1604748342732)(大数据学习1——集群搭建.assets/image-20201107181131178.png)]
三台机器机器免密码登录
-
配置hostname与IP映射
-
在所有主机上创建⽬录并赋予权限
mkdir /root/.ssh chmod 700 /root/.ssh
-
在三台机器执⾏以下命令,⽣成公钥与私钥
cd ~ #进⼊⽤户⽬录 ssh-keygen -t rsa -P "" # 是⽣成ssh密码的命令,-t 参数表示⽣成算法,有rsa和dsa两种;-P表示使⽤的密码,这⾥使⽤""空字符串表示⽆密码。 cd ~/.ssh 进⼊.ssh cat id_rsa.pub >> authorized_keys #这个命令将id_rsa.pub的内容追加到了authorized_keys的内容后⾯
-
复制第⼀台机器的认证到其他机器
scp authorized_keys linux121:/root/.ssh/ scp authorized_keys linux123:/root/.ssh/
密码传输过程中只使⽤⼀次,以后再使⽤ssh linux121或ssh linux123即不在需要密码,实现免密钥登
录。
设置三台机器同步时间
时间同步的⽅式:在集群中找⼀台机器,作为时间服务器。
# 通过⽹络连接外⽹进⾏时钟同步,必须保证虚拟机连上外⽹ ntpdate us.pool.ntp.org; # 阿⾥云时钟 ntpdate ntp4.aliyun.com
-
时间服务器配置(必须root⽤户)
第⼀步:确定是安了ntpd的服务
使用全部命令的方式进行安装
# 如果没有安装,可以进行在线安装 yum -y install ntp # 启动ntpd的服务 service ntpd start # 设置ntpd的服务开机启动 chkconfig ntpd on第⼀步:确定是否安装了ntpd的服务 rpm -qa | grep ntpd
-
编辑
/etc/ntp.conf
# 编辑第⼀台机器的/etc/ntp.conf vim /etc/ntp.conf # 在⽂件中添加如下内容 restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap 注释⼀下四⾏内容 #server 0.centos.pool.ntp.org #server 1.centos.pool.ntp.org #server 2.centos.pool.ntp.org #server 3.centos.pool.ntp.org # 去掉以下内容的注释,如果没有这两⾏注释,那就⾃⼰添加上 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TnXZrHV3-1604748342733)(大数据学习1——集群搭建.assets/image-20201107182053484.png)]
-
配置以下内容,保证BIOS与系统时间同步
vim /etc/sysconfifig/ntpd
添加⼀⾏内容
SYNC_HWLOCK=yes
-
#重启nrpd service ntpd status service ntpd start chkconfig ntpd on #系统引导时自动启动
-
另外两台机器同步(必须root⽤户)
crontab -e # 编写脚本 # 设置时间与192.168.80.121同步 */10 * * * * /usr/sbin/ntpdate 192.168.80.121
-
修改任意机器时间
date -s "2020-06-20 11:11:11"
-
查看时间,并查看十分钟后是否同步
date
-
jdk、Hadoop环境搭建
在集群中无法做到每台机器分别部署相应的应用和环境,可在第一台机器上安装并通过集群间的传递进行拷贝。
安装jdk
创建软件安装包路径和文件安装路径
[root@lazzy121 ~]# mkdir -p /opt/lazzy/software
[root@lazzy121 ~]# mkdir -p /opt/lazzy/servers
上传jdk安装包到software文件下,进行解压
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZE75N5P-1604748342734)(大数据学习1——集群搭建.assets/image-20201107183826480.png)]
#-C 解压到相应目录下
[root@lazzy121 /]# cd /opt/lazzy/software/ # 进入到安装包目录下
[root@lazzy121 software]# tar -zxvf jdk-8u231-linux-x64.tar.gz -C ../servers/
配置环境变量
#打开配置文件
vi /etc/profile
#在文件最后添加以下内容
# JAVA_HOME
export JAVA_HOME=/opt/lazzy/servers/jdk1.8.0_231
export PATH=:$JAVA_HOME/bin:$PATH
#重新加载配置文件
source /etc/profile
#使用命令检查是否安装成功
source /etc/profile
#出现jdk版本号则配置成功
[root@lazzy121 software]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
使用rsync-script脚本进行集群分发
tsync远程同步工具
rsync主要用于备份和镜像。具有速度快,避免复制相同内容和支持符号链接的优点
rsync和scp区别:⽤rsync做⽂件的复制要⽐scp的速度快,rsync只对差异⽂件做更新。scp是把所有⽂件都复制过去。