文章目录
环境准备
利用3台虚拟机搭建数仓测试环境
一、虚拟机准备
1.配置要求
- 单台虚拟机:内存4G,硬盘50G
- 修改Linux虚拟机的虚拟网络配置,编辑->虚拟网络编辑器->VMnet8
- 修改windows宿主机的VMware Network Adapter VMnet8的IP地址
- 启动虚拟机并修改静态IP地址
[root@hadoop101 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.1.101
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=192.168.1.2
# 重启网络服务
[root@hadoop101 ~]# systemctl restart network
# 测试能否访问外网
[root@hadoop101 ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from baidu.com (39.156.69.79): icmp_seq=1 ttl=128 time=37.2 ms
64 bytes from baidu.com (39.156.69.79): icmp_seq=2 ttl=128 time=36.7 ms
64 bytes from baidu.com (39.156.69.79): icmp_seq=3 ttl=128 time=36.1 ms
# 安装yum源,使用阿里云的base源
[root@hadoop101 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.修改主机名
- 修改主机名
[root@hadoop101 ~]# hostnamectl set-hostname hadoop101
- 配置主机名映射
[root@hadoop101 ~]# vi /etc/hosts
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
- 修改宿主机的映射文件
1.进入C:\Windows\System32\drivers\etc
2.添加如下内容
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
3.关闭防火墙
[root@hadoop101 ~]# systemctl stop firewalld
[root@hadoop101 ~]# systemctl disable firewalld
4.创建普通用户
# 创建普通用户student并设置密码为a
[root@hadoop101 ~]# useradd student
[root@hadoop101 ~]# echo a | passwd --stdin student
5.配置普通用户具有root权限
[root@hadoop101 ~]# vim /etc/sudoers
# 在%wheel下面添加一行
student ALL=(ALL) NOPASSWD: ALL
6.在/opt下创建module、software文件夹
# module 用来存放安装的软件
# software 用来存放软件安装包
[root@hadoop101 ~]# mkdir /opt/module /opt/software
# 修改属主和属组
[root@hadoop101 ~]# chown student:student /opt/module /opt/software
7.重启
以上操作三台虚拟机都需要进行
[root@hadoop101 ~]# reboot
二、集群分发脚本准备
编写一个分发脚本用来快速同步配置文件
1.创建bin文件夹
在用户家目录下创建bin文件夹,用来存放各种自定义的脚本,以便全局使用
[student@hadoop102 ~]$ mkdir bin
2.创建xsync文件
[student@hadoop102 ~]$ cd bin
[student@hadoop102 ~]$ vim xsync
代码如下(示例):
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop101 hadoop102 hadoop103
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
3.修改脚本,使其具有执行权限
[student@hadoop102 bin]$ chmod 777 xsync
4.测试
[student@hadoop102 bin]$ xsync xsync
三.SSH无密登录配置
1.生成公钥和私钥
# 进入家目录下的.ssh目录,如果不存在则手动创建
[student@hadoop102 ~]$ cd .ssh
# 生成公钥和私钥
[student@hadoop102 .ssh]$ ssh-keygen -t rsa
# 按三下回车键,就会生成两个文件id_rsa(私钥),id_rsa.pub(公钥)
2.将公钥拷贝到要免密登录的目标机器上
[student@hadoop102 .ssh]$ ssh-copy-id hadoop101
[student@hadoop102 .ssh]$ ssh-copy-id hadoop102
[student@hadoop102 .ssh]$ ssh-copy-id hadoop103
注意:
还需要在hadoop101上使用root账号,配置无密登录到hadoop101、hadoop102、hadoop103
还需要在hadoop102上使用student账号,配置无密登录到hadoop101、hadoop102、hadoop103
3. .ssh文件夹下(~/.ssh)的文件功能解释
文件名 | 功能 |
---|---|
known_hosts | 记录ssh访问过计算机的公钥(public key) |
id_rsa | 生成的私钥 |
id_rsa.pub | 生成的公钥 |
authorized_keys | 存放授权过的无秘登录服务器的公钥 |
总结
本文主要是准备虚拟机。下一篇将进行hadoop的安装