美文网首页
搭建hadoop集群遇到的一些问题汇总

搭建hadoop集群遇到的一些问题汇总

作者: MrGetSteady | 来源:发表于2018-06-16 13:46 被阅读0次

问题汇总

1、FileZilla连接问题,注意主机名是root而不是hadoop.Master,端口是22

2、多次执行namenode  -format,会启动namenode失败。删掉

里面的内容,重新格式化。还有chown把hadoop目录用root属性。

chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性

3、注意主机名字命名要合法,不然很多奇怪问题。hadoop0和hadoop1改成hadoop.Matser和hadoop.Slave1之类。

4、执行自带wordcount时,INFO mapreduce.Job:

Running job: job_1523251787755_0001一直卡在这里,jps检查一下有没有datanode,重新start datanode。

5、执行MapReduce出错:INFO mapreduce.Job: Task Id : attempt_1523251787755_0001_m_000000_1,Status : FAILED

Error:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

============================================================

Exception in thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

      atorg.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(NativeMethod)

以上问题,可能是jdk1.8和hadoop2.5.0不适配,将jdk换成1.7后,重装hadoop。即可。

6、完全分布式下遇到的问题:

执行MapReduce

wordcount报错:

18/05/03 10:54:26 INFO mapreduce.Job: Job

job_1525315311676_0001 failed with state FAILED due to: Application

application_1525315311676_0001 failed 2 times due to Error launching

appattempt_1525315311676_0001_000002. Got exception: java.net.ConnectException:

Call From hadoop.Master/192.168.175.129 to hadoop.Master:46047 failed on

connection exception: java.net.ConnectException: 拒绝连接;For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

解决

在我的slaves里把master主机删除,不能写在里面。

Namenode启动失败,重新把data/tmp的内容删除,再次namenode 格式化即可。

Datanode始终启动失败,有可能是主机名字映射错误,比如hostname显示hadoop.Slaver1,然而,hadoop设置的全是hadoop.Slave1。

配置HA同步namenode时,注意:

格式化active 的namenode nni,启动了该namenode,才在另一个standby的namenode nn2 进行hdfs-bootstarpStandby进行同步,没有启动nn1,而直接同步会报错。

因为standby  namenode是通过active namenode的8020端口通讯的。若active namenode没有启动,则8020没有程序监听提供服务,standby尝试连接9次后会爆异常并且退出。

7、配置zookeeper:

启动zookeeper,子机也要启动,不然查询status时候会提示拒接连接。

8、配置HA架构也是,zookeeper子机也要启动,不然namenode 格式化时候会报错。

9、搭建hive和mysql遇到的问题:

登录mysql报错:Access[root@log01 ~]# mysql -u root –pEnter

password:

ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO) denied for user 'root'@'localhost'(using password: NO)

解决:

# /etc/init.d/mysqld stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'and host='root' or host='localhost';

//把空的用户密码都修改成非空的密码就行了。

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysqld restart

# mysql -uroot -p

Enter password: <

输入新设的密码newpassword>

mysql命令打了没有内容输出:show databases;这条指令要一次性打完整,分号不能少。

初始化hive报错:Error: Duplicate key name'PCS_STATS_IDX' (state=42000,code=1061)

解决:

已经初始化成功后,再次初始化会报错。在mysql里的hive删除,重新create database hive。再次初始化即可。

启动hive报错:

[ERROR]

Terminal initialization failed; falling back to unsupported

java.lang.IncompatibleClassChangeError: Found class

jline.Terminal, but interface was expected

解决:

因为hadoop的一个jar包版本太旧。jline-0.9.94.jar要用新的jline-2.12.jar

将/opt/modules/apache-hive-1.2.2-bin/lib/jline-2.12.jar

copy到/opt/modules/hadoopha/hadoop-2.5.0/share/hadoop/yarn/lib

Exception in thread "main"java.lang.RuntimeException: java.lang.IllegalArgumentException:java.net.URISyntaxException: Relative path in absolute URI:${system:java.io.tmpdir%7D/$%7Bhive.session.id%7D_resources

解决:

1查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

2./opt/modules/apache-hive-1.2.2-bin/tmp,tmp是新建的。

3.将含有"system:java.io.tmpdir"的配置项的值修改为如上地址启动hive,成功!

相关文章

网友评论

      本文标题:搭建hadoop集群遇到的一些问题汇总

      本文链接:https://www.haomeiwen.com/subject/vafbeftx.html