大数据平台小结

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 大数据平台小结

搭建大数据平台

启动流程

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命令存在上面三个进程名即可,代表安装成功。

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


平台熟悉

各个服务的作用

1686491136091.png

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

大数据平台涉及到的技术

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的命令是灵魂,所以多敲少复制!


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


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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
机器学习/深度学习 存储 人工智能
从大数据平台CDP的架构看大数据的发展趋势 2
从大数据平台CDP的架构看大数据的发展趋势
|
5月前
|
安全 数据管理 大数据
数据湖的未来已来:EMR DeltaLake携手阿里云DLF,重塑企业级数据处理格局
【8月更文挑战第26天】在大数据处理领域,阿里云EMR与DeltaLake的集成增强了数据处理能力。进一步结合阿里云DLF服务,实现了数据湖的一站式管理,自动化处理元数据及权限控制,简化管理流程。集成后的方案提升了数据安全性、可靠性和性能优化水平,让用户更专注业务价值。这一集成标志着数据湖技术向着自动化、安全和高效的未来迈出重要一步。
111 2
|
6月前
|
存储 搜索推荐 数据建模
阿里巴巴大数据实践之数据建模:构建企业级数据湖
阿里巴巴通过构建高效的数据湖和实施先进的数据建模策略,实现了数据驱动的业务增长。这些实践不仅提升了内部运营效率,也为客户提供了更好的服务体验。随着数据量的不断增长和技术的不断创新,阿里巴巴将持续优化其数据建模方法,以适应未来的变化和发展。
|
存储 弹性计算 大数据
从大数据平台CDP的架构看大数据的发展趋势 1
从大数据平台CDP的架构看大数据的发展趋势
|
存储 SQL 分布式计算
BDCC- 数据湖体系
BDCC- 数据湖体系
252 0
|
存储 缓存 分布式计算
大数据治理系列:4 大数据架构形成的历史渊源(续)
上篇文章《大数据架构形成的历史渊源》介绍了传统数据架构的主要形式以及为了适应不断发展的处理数据的模式,要不断创新数据架构。下图提供了一种体系架构方法,该方法使用新的数据源扩展现有系统,以支持组织所需的新信息需求。
大数据治理系列:4 大数据架构形成的历史渊源(续)
|
存储 数据采集 机器学习/深度学习
数据湖和数据中台
简要介绍数据湖的特点和功能,与数据仓库的区别。此外,还介绍了数据中台的作用和功能。
967 0
数据湖和数据中台
|
存储 机器学习/深度学习 数据采集
万字详解数据仓库、数据湖、数据中台和湖仓一体 ​(二)
详解数据仓库、数据湖、数据中台和湖仓一体
1098 0
万字详解数据仓库、数据湖、数据中台和湖仓一体  ​(二)
|
存储 数据采集 分布式计算
万字详解数据仓库、数据湖、数据中台和湖仓一体 ​(一)
详解数据仓库、数据湖、数据中台和湖仓一体
1461 0
万字详解数据仓库、数据湖、数据中台和湖仓一体  ​(一)
|
存储 机器学习/深度学习 人工智能
业内首次融合数据仓库与数据湖 阿里云推出下一代大数据平台 “湖仓一体”
2020年9月18日,阿里云在云栖大会正式推出大数据平台的下一代架构——“湖仓一体”,打通数据仓库和数据湖两套体系,让数据和计算在湖与仓之间自由流动,从而构建一个完整的有机的大数据技术生态体系。为企业提供兼具数据湖的灵活性和数据仓库的成长性的新一代大数据平台,降低企业构建大数据平台的整体成本。
9918 0
业内首次融合数据仓库与数据湖  阿里云推出下一代大数据平台 “湖仓一体”