hive:常见错误和解决方案

1.连接不上 mysql 数据库

(1)导错驱动包,应该把 mysql-connector-java-5.1.27-bin.jar 导入/opt/module/hive/lib 的
不是这个包。错把 mysql-connector-java-5.1.27.tar.gz 导入 hive/lib 包下。

(2)修改 user 表中的主机名称没有都修改为%,而是修改为 localhost

2.不能执行 mapreduce 程序

可能是 hadoop 的 yarn 没开启。

3.启动 mysql 服务时, 报 MySQL server PID file could not be found! 异常

     在/var/lock/subsys/mysql 路径下创建 hadoop102.pid, 并在文件中添加内容: 4396

4.报 service mysql status MySQL is not running, but lock file (/var/lock/subsys/mysql[失败])异

解决方案:在/var/lib/mysql 目录下创建: -rw-rw----. 1 mysql mysql 5 12 月 22
16:41 hadoop102.pid 文件, 并修改权限为 777(rwxrwxrwx)

5.JVM 堆内存溢出

描述: java.lang.OutOfMemoryError: Java heap space
解决:在 yarn-site.xml 中加入如下代码
 


yarn.scheduler.maximum-allocation-mb
2048


yarn.scheduler.minimum-allocation-mb
2048


yarn.nodemanager.vmem-pmem-ratio
2.1


mapred.child.java.opts
-Xmx1024m

6.SecureCRT 7.3 出现乱码或者删除不掉数据,

免安装版的 SecureCRT 卸载或者用虚拟机直接操作或者换安装版的 SecureCRT

7.设置输入的格式为分区输入:
hive 默认的输入格式处理是 CombineHiveInputFormat,会对小文件进行合并。

hive (default)> set hive.input.format;
hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFo
rmat


可以采用 HiveInputFormat 就会根据分区数输出相应的文件。
 

hive (default)> set
hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

 

你可能感兴趣的:(hive)