其他分享
首页 > 其他分享> > 数仓项目(一)--- 环境准备

数仓项目(一)--- 环境准备

作者:互联网

文章目录


环境准备

利用3台虚拟机搭建数仓测试环境


一、虚拟机准备

1.配置要求

[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

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的安装

标签:数仓,环境,192.168,---,ssh,student,hadoop101,hadoop102,root
来源: https://blog.csdn.net/Hui_Yan1030/article/details/112548951