大数据平台小结

news2024/11/25 2:21:02

搭建大数据平台

启动流程

1、启动Nginx服务(在bdp-web-mysql服务中)

cd /usr/local/nginx/

# 启动Nginx
./sbin/nginx

# 查看端口是否存在
netstat -tunlp|grep 20001

2、启动zookeeper(在bdp-executor-realtime123)

cd /app/bdp/apache-zookeeper-3.5.8-bin/bin

# 启动
./zkServer.sh start

# 查看状态
./zkServer.sh status

3、开启实时同步微服务(在bdp-executor-realtime123)

cd /app/bdp/bdp-realtime
sh bin/start.sh
tail -200f logs/bdp-realtime.log

4、启动confluent服务(在bdp-executor-realtime123)

cd /app/bdp/confluent-6.2.0
# 重载系统服务
systemctl daemon-reload

# 使用系统服务启动服务
systemctl start zookeeper
systemctl start kafka
systemctl start kafka-connect

必须依次启动zookeeper、kafka、kafka-connect,可用jps命令查看服务是否启动,下面是服务名与进程名对照。启动confluent服务的命令如上,然后启动bdp-server/executor/realtime的命令如下

cd /app/bdp/bdp-server
sh bin/start.sh
tail -200f logs/bdp-server.log

服务名

进程名

zookeeper

QuorumPeerMain

kafka

Kafka

kafka-connect

ConnectDistributed

确保jps命令存在上面三个进程名即可,代表安装成功。

刚开始只是照着文档都配置了一遍,然后登录进去后,测试了连接数据源后就以为成功了,后面再去操作的时候都不知道怎么跑起来,这里记录一下。同时还是改一下反手关掉虚拟机的毛病,挂起就可。

平台熟悉

各个服务的作用

应用名

信息

bdp-server

服务端:大数据平台的大脑,掌控所有的任务启停,任务调度,微服务调用,元数据操作。(最多部署两个)

bdp-executor

执行器:任务执行器,负责任务执行与调度。(可部署多个)

bdp-realtime

实时同步微服务:对实时同步组件的管理。(仅可部署一个)

bdp-web

前端:大数据平台的入口,用户的操作页面。

bdp_db

元数据库:存放大数据平台的元数据。

confluent

实时同步组件:实时同步任务、物理删除任务的运行。(可部署多个)

这里记录这个表主要是需要了解一下各个服务的作用

大数据平台涉及到的技术

  • confluent组件中包含了zookeeper(微服务调用)、kafka、kafka-connect(实时同步组件)

  • 大数据监控平台是采用Grafana、Prometheus、node-exporter实现的,可对所有服务器的硬件资源进行监控,方便运维和及时了解平台运行情况。

  • Grafana用来展现监控数据,各种图表

  • Prometheus用来收集存储监控数据

  • node-exporter用来采集服务器各个指标值

这里列出的技术点都是我不熟悉的或者了解不深的,后期需要系统学习一下

Linux命令收集

# 查看子网掩码
ip route show
# 查看进程
ps -ef|grep node_exporter
# 查看端口
netstat -tunlp|grep node_exporter
#查看软件商是否存在
rpm -qa|grep mariadb
# 查看CPU核数
cat /proc/cpuinfo| grep "processor"| wc -l
#查看内存大小
free -h
# 查看磁盘信息
df -h

# 关闭防火墙
systemctl stop firewalld.service
# 禁用防火墙开机自启
systemctl disable firewalld.service
# 检查防火墙状态
systemctl status firewalld.service

# 临时生效,但重启服务器后失效(禁用selinux)
setenforce 0
# 永久生效,但需要重启服务器(禁用selinux)
vim /etc/selinux/config
# 调整为disabled(禁用selinux)
SELINUX=disabled

#修改磁盘io调度
grubby --update-kernel=ALL --args="elevator=deadline"
#禁用透明页
grubby --update-kernel=ALL --args="transparent_hugepage=never"

#对象删除
cd /etc/systemd/logind.conf
# 修改配置,取消注释,调整为no,保存退出
RemoveIPC=no
# 重启服务,使修改生效
systemctl restart systemd-logind

# 修改机器名
hostnamectl set-hostname 机器名
# 修改后切换用户,查看机器名是否修改正确
su
# 修改host文件
vim /etc/hosts
# 将服务器机器名增加至hosts文件中,之后保存退出即可
192.168.181.144 bdp-server  

#服务器免密
ssh-keygen -t rsa
#将公钥内容写入到authorized_keys文件中
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
#将本地公钥复制到远程服务器
ssh-copy-id -i 机器名

# 重新加载服务配置
systemctl daemon-reload
# 启动服务
systemctl start ntpd
# 服务开机自启
systemctl enable ntpd
# 查看服务状态
systemctl status ntpd
# 使用系统服务停止服务
systemctl stop zookeeper

# 解压
rpm -ivh jdk-8u241-linux-x64.rpm
tar -zxvf prometheus-2.17.2.linux-amd64.tar.gz
unzip nginx.zip

#启动bdp-server/executor/realtime
cd /app/bdp/bdp-server
sh bin/start.sh
tail -200f logs/bdp-server.log

我把文档里觉得有用常用的Linux命令集合在一起,方便我后期多加熟悉和练习,少复制多敲!!!

遇到的bug

bug1

报错信息

zookeeper服务起不来

报错原因

由于电脑配置有限,只开启了五台服务器,所以把bdp-executor和bdp-realtime放在一起,共开三台虚拟机,每一台服务器配置了bdp-executor和bdp-realtime,后面zookeeper服务起不来,最后发现是confluent里面zookeeper和bdp-executor里的zookeeper冲突了

解决办法

最后解决办法是bdp-executor的zookeeper不用了,bdp-executor和bdp-realtime都用confluent里面zookeeper

bug2

报错信息

zookeeper启动后秒挂,反正就是跑步起来,检查配置文件也没有问题

报错原因

由于在配置kafka的时候broker.id=1使用的是XShell的批量修改,导致三个集群的kafka都是broker.id=1,然后我启动了,启动后报错,检查发现配置文件错误,然后又修改了配置文件,改成了正确的配置,但是由于启动了kafka,所以这些错误的配置文件就注册到了zookeeper和kafka的缓存里,

后面虽然修改成正确的配置文件 ,但是由于已经注册到了zookeeper和kafka的缓存里,导致zookeeper里的配置和后面修改后的新的配置不同,zookeeper就挂掉了

解决办法

删掉zookeeper里注册的信息和kafka的本地缓存,然后重启即可

bug3

报错信息

org.pentaho.di.core.exception.KettleException: 
org.pentaho.di.core.exception.KettleDatabaseException: 
Couldn't execute SQL: LOAD DATA LOCAL INFILE '/tmp/9efa05b987b846728da85793a6dc131d' INTO TABLE `temp_2aeadf472f5cc5a1` 

报错原因

权限不足

解决办法

show GLOBAL VARIABLES like 'local_infile';
set GLOBAL local_infile='off';

把local_infile改成off即可

bug4

报错信息

在测试批数据同步配置的时候发现运行后就卡在那里,没有继续执行,直接跳到最后断开日志,然后卡死

报错原因

在bdp-server的conf/config/cache/cache.properties配置中,缓存配置中的下面标出的这一行配置要和bdp-executor-realtime123这三个的缓存配置要保持一致,这里我都设置为9

解决办法

把bdp-server和bdp-executor-realtime123的cache.properties中的cache.cluster0.database都改成9,保证一致即可

bug5

报错信息

在测试实时数据同步上线的时候报错,报错一大堆,上线失败

报错原因

数据库的时区和系统的时区不一致导致的

解决办法

在本地的数据库中执行set global time_zone='+8:00'来修改mysql全局时区为北京时间,也就是我们所在的东8区

bug6

报错信息

某次打开虚拟机的时候,发现输入ip a后没有en33的ip,简单来说就是ip不见了,但是之前明明存在,突然消失

报错原因

可能是隐藏或者IPADDR配置项失效

解决办法

识别所有网络接口
sudo dhclient ens33
查看ip地址
sudo ifconfig ens33
最后输入ip a即可

bug7

报错信息

在bug6的操作后发现ip地址变了,不是我之前的那个ip

报错原因

linux默认是自动获取ip,所以在每次重启虚拟机的时候IP地址都会换,可能是IP地址由DHCP自动分配

解决办法

#修改配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改配置文件的 BOOTPROTO为static(表示使用静态ip),然后下面追加指定的ip地址,然后使用 service network restart或者systemct restart network刷新网络,这里可能还会报错

Restarting network (via systemctl):  Job for network.service failed because the control process exited with error code. 
See "systemctl status network.service" and "journalctl -xe" for details.  

使用systemctl status network.service命令查看错误详情

出现这种报错一般是和 NetworkManager 服务冲突导致的(network和NetworkManager一起工作时就会出现冲突),直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 systemctl disable NetworkManager(一定要记得关闭自启动,不然下次开机后又是老样子)

NetworkManager 的相关命令:
查看运行状态:systemctl status NetworkManager
启动:systemctl start NetworkManager
重启:systemctl restart NetworkManager
关闭:systemctl stop NetworkManager
查看是否开机启动:systemctl is-enabled NetworkManager
开机启动:systemctl enable NetworkManager
禁止开机启动:systemctl disable NetworkManager

部署文档存在的错误

在初始化mysql的时候,需要修改表bdp_sys_para的值,如下图prometheus的参数值错了,应该是192.168.181.148(已经和峰少说过)

总结

  1. 本次搭建大数据平台,发现自己的Linux命令有很多都不熟练,然后意识到Linux对于学大数据的人来说的重要性,因为大数据集群都是搭建在Linux上,而Linux的命令是灵魂,所以多敲少复制!

  1. 在搭建的过程中,遇到了很多的bug和错误,发现自己再处理这些错误的时候第一反应就是复制到百度上一顿乱搜,这是老毛病,后面需要慢慢的培养自己遇到问题先思考-->看日志-->百度-->找峰少或者严胜救援

  1. 知道如何搭建大数据平台,了解大数据平台的组件、大数据平台的组成部分及其作用等等,更加熟悉了大数据平台的功能,意识到自己的不足之处,技术栈的缺乏,专业能力的不足,还有很大的提升空间!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二.项目使用vue-router,引入ant-design-vue的UI框架,引入less

根据前文《使用Vue脚手架工具搭建vue项目》搭建好脚手架后使用 1.vue-router 2.引入UI框架ant design vue 3.引入less 1.vue-router vue-router分为两种模式(默认为hash模式): hash history hash: 特征: 1.hash会在浏览器路径里带#号&#…

高质量数字化转型创新发展大会暨中国信通院“铸基计划”年度会议成功召开

2023年3月3日,由中国信通院主办的高质量数字化转型创新发展大会暨中国信通院“铸基计划”年度会议在北京成功召开。本次大会深度展示了中国信通院在数字化领域的工作成果,并全面展望了2023年行业的数字化发展趋势。同时,大会发布了中国信通院…

C语言入门知识——(7)VS2022的C语言基础调试

1、什么是bug 这个故事很多人都知道 1947年9月9日:第一个“Bug”被发现的时候:“1949年9月9日,我们晚上调试机器的时候,开着的窗户没有纱窗,机器闪烁的亮光几乎吸引来了世界上所有的虫子。果然机器故障了,…

Qt使用OpenGL进行多线程离屏渲染

基于Qt Widgets的Qt程序,控件的刷新默认状况下都是在UI线程中依次进行的,换言之,各个控件的QWidget::paintEvent方法会在UI线程中串行地被调用。若是某个控件的paintEvent很是耗时(等待数据时间CPU处理时间GPU渲染时间&#xff09…

BI不是报表,千万不要混淆

商业智能BI作为商业世界的新宠儿,在市场上实现了高速增长并获得了各领域企业的口碑赞誉。 很多企业把商业智能BI做成了纯报表,二维表格的数据展现形式,也有一些简单的图表可视化。但是这些简单的商业智能BI可视化报表基本上只服务到了一线的…

【JAVA程序设计】【C00110】基于SSM(非maven)的车辆维修管理系统

基于SSM(非maven)的车辆维修管理系统项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架非maven开发的车辆维修管理系统共分为三个角色:管理员、用户 管理员角色包含以下功能: 查看用户、添加用户、查看车辆信息、故…

FPGA纯verilog实现图像视频旋转 串口指令控制旋转角度 提供工程源码和技术支持

目录1、前言2、理论基础3、设计思路和框架图像输入和采集图像旋转处理图像缓存图像输出4、vivado工程详解5、上板调试验证6、福利:工程代码的获取1、前言 图像旋转是一种常用的图像处理技术,其基本原理就是指图像以某一点为中心旋转一定的角度&#xff…

函数的极限

目录 函数极限的定义: 数列的极限和函数极限 定理1: 自变量趋向有限制时,函数的极限 左右极限: 定理: 需要分左右极限求极限的三种问题: 例题: 例2: 极限性质: 保号…

WebRTC标准与框架解读(1)

1、如果让我来设计webrtc框架我在分析源码的时候,都喜欢做这样一件事情:如果让我来设计它,我会怎么做?大家可以紧跟我的思路,分析一下WebRTC为什么如此设计。为了对整个框架有有一个全面的了解,我们首先要做…

外包测试3年,离职后成功入职华为,拿到offer的那天我泪目了....

一提及外包测试,大部分人的第一印象就是:工作强度大,技术含量低,没有归属感!外包工作三年总体感受就是这份工作缺乏归属感,心里总有一种落差,进步空间不大,接触不到核心技术&#xf…

IO详解(文件,流对象,一些练习)

目录 文件 文件概念 文件的路径 路径有俩种表示风格 文件类型 如何区分文本文件还是二进制文件? java对文件的操作 File类中的一些方法 流对象 流对象的简单概念 java标准库的流对象 1.字节流,(操作二进制数据的) 2.字符流 (操作文本数据的) 流对象最核心的四个…

Android Framework-进程间通信——Binder

我们知道,同一个程序中的两个函数之间能直接调用的根本原因是处于相同的内存空间中。 比如有以下两个函数A和B: /*Simple.c*/ void A() { B(); } void B() { }因为是在一个内存空间中,虚拟地址的映射规则完全一致,所以函数A和B之…

【JAVA程序设计】【C00111】基于SSM的网上图书商城管理系统——有文档

基于SSM的网上图书商城管理系统——有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架开发的网上在线图书售卖商城项目,本项目分为三种权限:系统管理员、卖家、买家 管理员角色包含以下功能: 用户信息管理、权限管理、订…

XSS跨站脚本

XSS跨站脚本XSS简介XSS验证XSS危害XSS简介 XSS被称为跨站脚本攻击(Cross-site scripting),由于和CSS(Cascading Style Sheets)重名,所以改为XSS。XSS主要基于javascript语言完成恶意的攻击行为,因为javascript可以非常灵活的操作html、css和…

day57-day58【代码随想录】二刷数组

文章目录前言一、螺旋矩阵||(力扣59)二、螺旋矩阵(力扣54)三、顺时针打印矩阵(剑指 Offer29)四、在排序数组中查找元素的第一个和最后一个位置(力扣34)【二分查找】五、有多少小于当…

自动驾驶决策概况

文章目录1. 第一章行为决策在自动驾驶系统架构中的位置2. 行为决策算法的种类2.1 基于规则的决策算法2.1.1 决策树2.1.2 有限状态机(FSM)2.1.3 基于本体论(Ontologies-based)2.2 基于统计的决策算法2.2.1 贝叶斯网络(B…

智慧制硅厂 Web SCADA 生产线

我国目前是全球最大的工业硅生产国、消费国和贸易国,且未来该产业的主要增量也将来源于我国。绿色低碳发展已成为全球大趋势和国际社会的共识,随着我国“双碳”目标的推进,光伏产业链快速发展,在光伏装机需求的带动下,…

flink兼容性验证

flink介绍:https://blog.csdn.net/weixin_43563705/article/details/107604693 一、安装启动 安装flink及其依赖 yum install java-1.8.0-openjdk curl tar mkdir -p /usr/local/flink wget https://mirrors.aliyun.com/apache/flink/flink-1.16.1/flink-1.16.1-bi…

如何校招进BAT做产品经理

嗨,很高兴,以文字的形式和你见面。在校招中,我拿到了百度、京东、爱奇艺、新浪和去哪儿的产品经理校招offer,其中百度是special offer。在找实习的过程中,也拿到了爱奇艺、微信电影票、搜狐畅游、艺龙等公司的产品经理…

Ac4GlcNAz,98924-81-3,N-乙酰葡糖胺叠氮基,可以进行糖化学修饰

Ac4GlcNAz反应特点:四乙酰氨基叠氮氨基葡萄糖(Ac4GlcNAz,98924-81-3)为糖缀合物可视化提供非放射性替代物。西安凯新生物科技有限公司供应的解释道它是细胞通透性、细胞内处理和结合的,而不是其天然单糖对乙酰氨基葡萄…