图片网站 代码,企业开办网站,网站建设哪家专业,设计欣赏使用问题记录
问题1#xff1a;5条数据的表执行count(*)函数#xff0c;很慢#xff0c;43s才出结果#xff1f;
该数仓的分析计算是基于hadoop的mapreduce分布式计算框架运行的#xff0c;适用于大量/海量数据#xff0c;少量数据#xff0c;还是使用单体数据库快。也…使用问题记录
问题15条数据的表执行count(*)函数很慢43s才出结果
该数仓的分析计算是基于hadoop的mapreduce分布式计算框架运行的适用于大量/海量数据少量数据还是使用单体数据库快。也就是说只有在海量/大量数据场景下数仓的分析计算才能发挥优势。
问题2执行 select count(*) 报错执行select * 正常
报错如下
[2024-11-28 10:59:28] [08S01][1] Error while compiling statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort
日志看不出问题再查看hadoop yarn resouce节点的日志
tail -300f /home/xxx/hadoop-3.2.2/logs/hadoop-hadoop-resourcemanager-yd-ss.log提示问题Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
按照日志提示及搜索各大技术博客要么是按日志提示在mapred-site.xml加配置要么是在yarn-site.xml 文件修改yarn.application.classpath配置但是自己按提示改完后均无法解决问题。为此问题苦苦搜索3天一直无果。
找了hadoop相关视频准备系统学习下在实验hadoop的share自带的例子时发现有如下警告
2024-12-02 10:54:09,013 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable之前问题是找不到MRAppMaster这里警告也跟库有关会不会是因为这个库的问题于是着手解决这个库的问题,
修改hadoop-env.sh增加如下配置 export HADOOP_HOME/home/xxx/hadoop-3.2.2export HADOOP_COMMON_LIB_NATIVE_DIR$HADOOP_HOME/lib/nativeexport HADOOP_OPTS$HADOOP_OPTS -Djava.library.path$HADOOP_HOME/lib/native解决后重启hadoop服务再次执行select count* from t_user惊喜的发现竟然成功了。
经过再次复现尝试mapred-site.xml和yarn-site.xml 文件要配置hadoop-env.sh文件也要配置然后依次重启hdfs 和 hive相关服务即可生效。若只重启hdfs可能会不生效。
至于为啥select * from t_user 不报错是因为其只是查询底层数据文件不存在分析计算所以未使用mapreduce服务而select count(*) 需要使用mr进行计算。
问题3mapreduce 是随着哪个服务启动的
mapreduce是hadoop下的分布式计算框架随着yarn服务启动而启动。
问题4hadoop集群部署时hdfs和yarn的区别
hadoop体系在集群部署时需要部署两个集群一个是hdfs集群一个是yarn集群
问题5hive创建的表使用desc formatted查询的表信息的注释字段乱码
编码问题执行以下脚本即可解决
ALTER TABLE hive.columns_v2 MODIFY COLUMN COMMENT varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
ALTER TABLE hive.table_params MODIFY COLUMN PARAM_VALUE mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
ALTER TABLE hive.partition_params MODIFY COLUMN PARAM_VALUE mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
ALTER TABLE hive.partition_keys MODIFY COLUMN PKEY_COMMENT varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
但是这种修改脚本对已经建的表是不生效的需要把表删除重建才生效。除非在修改字段编码方式时同时将数据编码方式也修改一下。
问题6修改完hive-site.xml文件重新启动hive服务报如下错误 大概率是配置文件的编码格式问题导致的只需要将配置文件使用notepad转换下编码格式再更新即可。
注意事项
1 关于hadoop在遇到涉及环境变量配置的问题时可以尝试将其环境变量配置到hadoop下的hadoop-env文件中