一、hive中文注释乱码

1、设置 hive 元数据库字符集

show create database hive;

查看为 utf8,需变更为 latin1

alter database hive character set latin1; 

2、更改如下表字段为字符集编码为 utf8

①修改表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
② 修改分区字段注解:
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
③修改索引注解:
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

3. 验证

二、Impala时区和hive不一致

1.impala时间早8小时

2.hive时间正常

3.修改hue时区:

将America/Los_Angeles改为Asia/Shanghai

4.修改impala配置:

新增impala 命令行参数高级配置片段(安全阀):

-use_local_tz_for_unix_timestamp_conversions=true
-convert_legacy_hive_parquet_utc_timestamps=true

5.滚动重启

6.验证

三、hive配置默认计算引擎为spark

1.原默认计算引擎

2.修改配置项,重启hive服务

3.验证

四、修改数据存储目录到新加数据盘挂载目录

1.hdfs:

2.yarn

五、内存配额调优

  1. 每台机器可用内存:250G*0.8=200G(0.2预留系统和管理组件)

    内存 描述
    impala 30G 提供即席查询服务
    yarn(spark) 150G 承担主要计算任务
    冗余 20G 防止JVM 抖动、OOM等
  2. 暂时按220G可用来配,后面升级配置到250G版。220G×0.8=176G

内存 描述
impala 30G 提供即席查询服务
yarn(spark) 126G 承担主要计算任务
冗余 20G 防止JVM 抖动、OOM等

3.后期:

worker节点内存均匀后,yarn(spark)配置:126G →150G

4.配置项

Impala Daemon Memory Limit

yarn.nodemanager.resource.memory-mb

六、hdfs

线程4096→65535

datanode和blancer堆内存1G→4G

namenode堆内存4G→20G

回收站清理 1day→14day

stale启用(避免脏读脏写)

七、hive

小文件合并

动态分区优化

spark资源调优

八、yarn

调整yarn内存,jvm内存

调整容器最大最小内存

九、一些目录配置的更改:

  1. hdfs上,一些目录的创建及赋权,如

    hdfs dfs -mkdir -p /user/spark/applicationHistory
    hdfs dfs -chown -R spark:spark /user/spark/applicationHistory
    hdfs dfs -chmod -R 1777 /user/spark/applicationHistory
    
  2. cdh界面配置,将所有/var/log → /data/var/log , /tmp → /data/tmp

  3. 创建opt/cloudera/parcels软连接指向/data下

十、修改默认纠删码策略为无。(保证副本策略为3)

目前datanode节点太少,纠删码不起作用,后期扩展节点可作为冷数据压缩空间的优化项,膨胀率3→1.4。

十一、修改网卡检测项:

  1. 排除办公网vpn网卡检测

十二、系统的/var太小,导致警告

  1. 修改各组件的日志目录,/var/log → /data/var/log 。

新配置:

/boot/efi 1G

/boot 1G

剩下的都给 / 230G

数据盘: /hadoop/data1

十三、 worker节点熵值不均

cdh报:Test of whether a host has enough entropy. Concerning : 72 entropy was available. Warning threshold: 100

什么是 entropy(熵)?
在 Linux 系统中,熵是用于生成随机数的“随机性来源”,主要用于:
SSL/TLS 加密(HTTPS、Kerberos)
SSH 连接
Hadoop / CDH 安全通信
如果熵太低,会导致:
加密操作变慢
某些服务启动卡住(尤其是涉及安全认证时)

熵值不是“配置出来的”,而是“系统实时积累的随机性”
谁“更活跃/更有随机输入”,谁熵就高

为什么必须统一?
否则会出现:
某些节点启动快(高熵)
某些节点卡住(低熵)
在 Hadoop 里可能导致:
Kerberos 卡死
HDFS 启动慢
Agent 心跳异常

解决:所有节点统一装 haveged

yum install -y haveged
systemctl enable haveged
systemctl start haveged

十四、hdfs修改数据目录后无法启动nameNode

20260326 HDFS更改数据目录导致NameNode无法启动

十五、全组件健康图截图,纪念一下

汇总: