Hadoop集群搭建补充,集群启动异常、datanade未启动等报错
Hadoop集群启动时The: ssh: Could not resolve hostname the: Name or service,这个报错并不是ssh的问题。启动时明明是三台虚拟机集群,但是datanode只启动了一台或者都没有启动,出现这种错误该如何解决?

我再一次搭建了集群,并且是三台。我分别命名为hadooop101、hadooop102和hadooop103。并且在三台机器都编辑了hosts,将名称与ip对应起来。但是搭建的过程并不顺利。但经过多次修改,总算成功了。
首先,我修改了hadoop的环境配置。下图为修改后的结果。

因为版本或者会出现不可知的异常情况,所以在配置文件里增加了如下内容:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib
修改配置之后,再使用分发脚本分发并使用命令让配置生效。再一次启动,发现没有以上报错了。但是datanode在hadooop101上未启动。在另外两台上却启动了。原因是因为免密通信设置错误。我之前只将hadooop101的公钥发送给了另外两台,而本机没有发送。解决方案,将本机的公钥发送给本机一次。
在次启动发现更不行了,datanode都失效了?解决方案,将三台机器hadoop-2.4.1下的data文件夹和logo文件夹删除。在hadooop101上使用hdfs namenode -format初始化。启动之后,发现成功了。
接下来进行mapreduce运算操作,发现文件可以成功上传下载,但是使用jar包计算时,没有结果输出,也就是wcoutput文件夹下是空的。无奈再次查找资料,发现配置文件yarn-site.xml没有修改过来,无奈只好停止集群,再次修改分发以后再启动。这次就解决了所有问题。修改的结果如下:
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadooop102的ip</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA HOME,HADOOP COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration>
本站部分文章、数据、图片来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:1737618317@qq.com