日记10月16日
今天和后端大数据服务死磕了一天。前一段时间大数据服务停了,就改了mysql连接配置,还以为自己解决了问题,周一试图打开直播统计数据,结果怎么也打不开。后台一看数据库,中文全变成??了。昨天先看了看代码,看了个轮廓,分析应该不是代码问题。估计还是数据库的配置和连接问题。于是计划好了早上一来就试试测试环境。于是先跟kafka环境磕,kafka、zookeeper,好不容易反复重启后,终于把kafka弄稳定了。然后是和spark磕,自己提交的任务总是跑不了几步就死掉。于是又开始跟hdfs、hadoop磕。把hdfs、hadoop、flume折腾稳定了,再试数据库。根据网上找来的修改字符集的语句修改了单个字段字符集编码,尝试修改表字符编码时报错了,于是只能修改字段字符集,修改成utf8mb4,为了支持emoji字符。然后把mysql连接部分配置代码改会之前的改动,再次提交spark任务,终于spark任务畅快的跑了起来。
自己对大数据这块还是没什么概念,为了工作需要,必须把大数据这块东西的学习排上日程。总得来说,大数据的环境搭建还是有些复杂与繁琐。比如想要停止一个spark任务,必须要在页面上找到application,然后在一个很不起眼的地方去停止它。
还有新起动flume和spark任务的时候,最好把hdfs上的数据清除一下,不容易出错。hdfs 的相关命令如下:
hdfs dfs -ls /目录
hdfs dfs -rm /文件
修改表字符集命令:alter table cloudpDB.liveRecord change nickname nickname VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
注意:这里的nickname 原来是varchar(255), 原来的utf8编码一个字符占3个字节,255x3=765, utf8mb4 一个字符4字节,191x4=764,这里只能放下191个字符了。
网友评论