hadoop环境遇到的问题 一

2022-03-31 16:32:09 浏览数 (1)

Hadoop分布式环境的搭建可见公众号——数据湖,手动搭建:手动搭建Hadoop分布式集群,CDH搭建:安装CDH7.1.1

本文主要记录Hadoop环境遇到的一些问题,系列文章持续更新。

1. HDFS namenode初始化,初始化成功会提示 namenode has been successfully formated。

代码语言:javascript复制
hdfs namenode -format

2. UnResolvedAddressException,说明主机地址解析有误,检查/etc/hosts 和 配置里的主机地址。

3. hive启动报错:Exception in thread “main“ java.lang.NoSuchMethodError: com.google.common.base.Precondition

原因:

hadoop和hive的两个guava.jar版本不一致两个位置分别位于下面两个目录:

  • /opt/hive/lib/
  • /opt/hadoop/share/hadoop/common/lib/

解决办法:

将高版本复制到低版本目录中,删除低版本

4. HIVE Exception in thread "main" java.lang.IllegalArgumentException: java.net.URIS

解决办法:

将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录

5. hive命令出现问题Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URI

解决办法:将 system:user.name 改为 user.name

6、测试Hive

代码语言:javascript复制
create table if not exists load_data_local(name string,age int)  row format delimited fields terminated by ' '  lines terminated by 'n

新建一个文件,vim load_data_local.txt

代码语言:javascript复制
zhangsan 30
lisi 50
wangwu 60
peiqi 6

load数据到hive表:

代码语言:javascript复制
load data local inpath '/root/load_data_local.txt' into table load_data_local
代码语言:javascript复制
hive> select * from load_data_local;
OK
zhangsan  30
lisi  50
wangwu  60
peiqi  6
Time taken: 5.201 seconds, Fetched: 4 row(s)

再建立一个会有reduce的作业:

代码语言:javascript复制
create table if not exists t1(a string, b string, c string)  row format delimited fields terminated by ' '  lines terminated by 'n';

load data local inpath '/root/hivedata/t1.txt' into table t1;
代码语言:javascript复制
select a, max(case when b="A" then c end) col_A, max(case when b="B" then c end) col_B from t1 group by a;

如果能成功跑出结果,证明Hive的安装没有问题。

0 人点赞