【大数据数仓项目集群配置 一】
本文用于记录我的第一次内网大数据集群配置过程。
本篇主要实现基础配置。
配置使用的软件版本和脚本参考自尚硅谷,链接如下:
链接: https://www.bilibili.com/video/BV1rL411E7uz?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click
hadoop集群搭建 【大数据数仓项目集群配置 二】
大数据数仓项目集群配置
- 服务器及软件版本
- 一、搭建本地yum源
- 1.yum是什么
- 2.本地yum源规划
- 3.配置环节
- 3.1 镜像准备
- 3.2 服务器端配置
- 3.3 客户端配置
- 3.4 注意事项
- 二、基础环境搭建
- 1.搭建hadoop模板环境
- 2.ssh免密登录
- 2.1 ssh简介
- 2.2 配置细节
- 2.3 注意事项
- 3.集群分发脚本
- 参考文章
服务器及软件版本
服务器名称 | IP |
---|---|
hadoop01 | 192.168.10.100 |
hadoop1 | 192.168.10.101 |
hadoop2 | 192.168.10.102 |
hadoop3 | 192.168.10.103 |
每台服务器配置64G内存,1T硬盘。(学习用模板机器最好配置4G内存,50G硬盘。)
软件名称 | 软件版本 |
---|---|
jdk | 1.8.0_212 |
hadoop | 3.1.3 |
zookeeper | 3.5.7 |
mysql | 5.7.26 |
hive | 3.1.2 |
spark | 3.0.0 |
hbase | 2.0.5 |
sqoop | 1.4.6 |
kylin | 3.0.1 |
一、搭建本地yum源
由于服务器处于内网环境,无法连接外网的镜像源,需要在本地搭建yum源,以便后续配置使用。
可以连接互联网的服务器,可以跳过这一步。
1.yum是什么
yum是一个软件包管理器,能够从指定的服务器自动下载RPM包并安装,并自动处理依赖关系。
2.本地yum源规划
服务端:hadoop01
客户端:hadoop1、hadoop2、hadoop3
3.配置环节
3.1 镜像准备
准备如CentOS-7-x86_64-Everything-2009.iso 的镜像文件。
everything的包更全面,所以这里使用everything而不是dvd。
文件的版本一定不能低于服务器上centos的版本
3.2 服务器端配置
#1.创建目录
[root@localhost ~]$ mkdir -p /media/centos7
#2.挂载镜像文件
[root@localhost ~]$ mount -o loop /mnt/CentOS-7-x86_64-Everything-2009.iso /mnt/
#3.查看挂载情况
[root@localhost ~]$ df -h
#4.复制文件
[root@localhost ~]$ cp -r /mnt/* /media/centos7
#5.配置yum源
[root@localhost ~]$ cd /etc/yum.repos.d/
[root@localhost ~]$ mkdir /tmp/backup
[root@localhost ~]$ mv * /tmp/backup //备份yum源
[root@localhost ~]$ vim yum.repo //文件名称一定以.repo为后缀
#6.yum.repo内容如下,配置时将注释删除。
[centos7] //仓库描述(可自定义)
name=centos7 server //对软件源的描述(与上面上面保持一致)
baseurl=file:///mnt //镜像的挂载入地址 file:// --格式 /mnt--指定目录
gpgcheck=0 //不检查
gpgkey enabled=1 //此yum源语句块立即生效
#7.缓存建立
#在设置时提前关闭防火墙。
[root@localhost ~]$ yum clean all
[root@localhost ~]$ yum makecache
[root@localhost ~]$ yum repolist
#8.安装ftp,修改配置文件
#ftp是用于在网络上进行文件传输的一套标准协议。
[root@localhost ~]$ yum -y install vsftpd ftp
#9.修改文件
[root@localhost ~]$ vim /etc/vsftpd/vsftpd.conf
anon_root=/media/centos7
#10.重启ftp服务并设置开机自启动。
[root@localhost ~]$ systemctl restart vsftpd
[root@localhost ~]$ systemctl enable vsftpd
3.3 客户端配置
在每台客户端服务器都进行如下配置。
#1.配置yum源文件
[root@localhost ~]$ cd /etc/yum.repos.d/
[root@localhost ~]$ mkdir /tmp/backup
[root@localhost ~]$ mv * /tmp/backup //备份yum源
[root@localhost ~]$ vim local.repo //文件名称一定以.repo为后缀
#内容如下:
[local-yum]
name=CentOS7
baseurl=ftp://10.8.8.246
gpgcheck=0
enabled=1
#2.缓存建立
[root@localhost ~]$ clean all
[root@localhost ~]$ yum makecache
[root@localhost ~]$ yum repolist
3.4 注意事项
如果需要重启挂载了镜像文件的服务器,先提前结束挂载,否则服务器会进入紧急状态。
[root@localhost ~]$ umount /mnt/
二、基础环境搭建
1.搭建hadoop模板环境
需要在上hadoop01、hadoop1、hadoop2、hadoop3上都搭建。
#1、安装所需工具
[root@localhost ~]$ yum install -y net-tools
[root@localhost ~]$ yum install -y vim
#2、关闭防火墙
[root@localhost ~]$ systemctl stop firewalld
[root@localhost ~]$ systemctl disable firewalld.service
#3、修改host信息
#3.1 修改hostname
#以192.168.10.101为例。
[root@localhost ~]$ vim /etc/hostname
hadoop1
#3.2 修改hosts
[root@localhost ~]$ vim /etc/hosts
#内容如下
192.168.10.100 hadoop01
192.168.10.101 hadoop1
192.168.10.102 hadoop2
192.168.10.103 hadoop3
#4、创建hadoop用户,修改密码
[root@hadoop1 ~]$ useradd hadoop
[root@hadoop1 ~]$ passwd 123456 //密码可以自行设置
#5、配置hadoop的权限
[root@hadoop1 ~]$ vim /etc/sudoers
修改/etc/sudoers文件,在%wheel这行下面添加一行,如下所示:
修改前:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
修改后:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
#6、创建所需文件夹
[hadoopt@hadoop1 ~]$ mkdir /opt/module
[hadoopt@hadoop1 ~]$ mkdir /opt/software
[hadoopt@hadoop1 ~]$ chown hadoop:hadoop /opt/module
[hadoopt@hadoop1 ~]$ chown hadoop:hadoop /opt/software
3.1.7 卸载自带的jdk
[hadoopt@hadoop1 ~]$ rpm -qa | grep -I java | xargs -nl rpm -e --nodeps
2.ssh免密登录
2.1 ssh简介
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置
2.2 配置细节
#1、生成公钥和私钥
在每一台服务器上都运行下列代码。
[hadoopt@hadoop1 .ssh]$ ssh-keygen -t rsa
#2、将公钥拷贝到其他服务器
在每一台服务器上都运行下列代码。
[hadoopt@hadoop1 .ssh]$ ssh-copy-id 192.168.10.100
[hadoopt@hadoop1 .ssh]$ ssh-copy-id 192.168.10.101
[hadoopt@hadoop1 .ssh]$ ssh-copy-id 192.168.10.102
[hadoopt@hadoop1 .ssh]$ ssh-copy-id 192.168.10.103
2.3 注意事项
如果没有.ssh文件,则使用ssh连接其他服务器,连接后会自动创建.ssh文件。
[hadoopt@hadoop1 ~]$ ssh hadoop2
[hadoopt@hadoop2 ~]$ exit
3.集群分发脚本
编写xsync脚本,实现对差异文件的更新。
在/home/hadoop/bin目录下创建xsync文件
[hadoop@hadoop1 opt]$ cd /home/hadoop
[hadoop@hadoop1 ~]$ mkdir bin
[hadoop@hadoop1 ~]$ cd bin
[hadoop@hadoop1 bin]$ vim xsync
在该文件中编写如下代码
#!/bin/bash#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍历集群所有机器
for host in hadoop1 hadoop2 hadoop3
doecho ==================== $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:$pdirelseecho $file does not exists!fidone
done
#修改脚本xsync的执行权限
[hadoop@hadoop1 bin]$ chmod +x xsync
#测试脚本
[hadoop@hadoop1 ~]$ xsync /home/hadoop/bin
#将脚本复制到/bin中,以便全局调用
[hadoop@hadoop1 bin]$ sudo cp xsync /bin/
#同步环境变量配置(root所有者)
[hadoop@hadoop1 ~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh
#让环境变量生效
[hadoop@hadoop2 bin]$ source /etc/profile
[hadoop@hadoop3 opt]$ source /etc/profile
参考文章
搭建内网yum源
尚硅谷数仓4.0
【大数据数仓项目集群配置 一】相关推荐
- 大数据互联网架构 tomcat集群配置时三个端口的作用
tomcat集群配置时三个端口的作用 在配置多个tomcat时需要同时配置这三个端口 Connector用于监听请求 protocol: http/1.1协议 , 用于监听浏览器发送的请求 , 设置成 ...
- 大数据数仓项目总结(一)需求、技术选型、框架版本、服务器、集群规模
文章目录 一.需求描述 1)项目大致需求 2)需考虑的问题 二.项目框架及选型 1.技术选型 2.项目架构与数据流程 3.框架版本选择 1)Hadoop发行版本选择 2)Apache框架版本具体型号 ...
- Python+大数据-数仓实战之滴滴出行(一)
Python+大数据-数仓实战之滴滴出行(一) 1. 项目架构图 1.1 数据流程处理 1.2 数仓分层 1.3 创建数据库 在Hive中创建数据库-- 创建ods库 create database ...
- 从原理到实践,手把手带你轻松get数仓双集群容灾
摘要:本文通过介绍双集群的架构.log结构.分析步骤来介绍双集群容灾的问题分析方法. 本文分享自华为云社区<从原理到实践,手把手带你轻松get数仓双集群容灾>,原文作者:Puyol . 双 ...
- 大数据平台搭建及集群规划
CDH大数据平台搭建之集群规划_码上_成功的博客-CSDN博客_cdh集群规划 大数据Hadoop分布式集群部署(详细版)_arnoldmp的博客-CSDN博客_分布式集群部署 大数据平台的硬件规划. ...
- 大数据数仓建模(3)
大数据数仓建模(3) 2.2.6 人员配置参考 1.旁敲侧击的问你到底做过没有 2.你们大概规模,数据量 1整体架构 属于研发部/技术部/数据部/基础平台部,我们属于大数据组,其他还有后端项目组,前端 ...
- Python + 大数据 - 数仓实战之智能电商分析平台
Python + 大数据 - 数仓实战之智能电商分析平台 1. 项目架构 2. 数据仓库维度模型设计-事实表 事实表的特征:表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一 ...
- 大数据数仓高级面试题整理
大家好,给大家整理了一下大数据数仓高级面试题,希望大侠们能够喜欢. 数仓高内聚低耦合是怎么做的 定义 高内聚:强调模块内部的相对独立性,要求模块内部的元素尽可能的完成一个功能,不混杂其他功能,从而使模 ...
- 大数据/数仓面试灵魂30问
1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问) 2.如何建设数据中台?可简单说下理解与思路 3.数据仓库.数据中台.数据湖的理解 4.传统数仓的程度(建模工具 ...
最新文章
- 下一个十年,AI将在这10大领域颠覆世界!
- HDLBits 系列(6)(Reduction)缩位运算符
- python的优点-python的功能与优缺点
- ThinkPHP 框架培训资料
- VirtualBox安装Fedora文件共享
- linux-free命令
- 指定结构体元素的位字段
- 关于Java Collections的几个常见问题
- CentOS7安装单机版RabbitMQ集群
- 使用join()方法 分隔拆分后的数组
- 976. 三角形的最大周长
- java在dos命令_JAVA中如何执行DOS命令
- 复盘模型_如何运用MT4软件进行复盘,提高水平
- 后盾网php视频教程迅雷下载,DEDE织梦实战+迅雷看看前端开发项目+HDPHP视频 后盾网三套经典PHP开发实战课程...
- 当VR踏入足球赛事会是如何?用数学运算又是如何?
- wps和office有什么区别?
- An internal error occurred during: Add Deployment.
- 石墨烯优异的光学和电学性能使之成为制造光电探测器的理想材料-供应黑磷烯石墨烯复合材料空心微球 石墨烯/电磁功能化有机微球 石墨烯/阴离子多聚糖复合微球载体 石墨烯/Ag炭微球气凝胶
- 计算机组成加减交替法被除数,2019考研408计算机组成原理知识:定点数的表示和运算...
- 地表温度反演操作总结