1
votes

I am a newbie in the Hadoop world and I am trying to learn basics from this tutorial. I have freshly installed Hadoop 2.9.2 on my machine in a pseudo-distributed way and did the following setup.

core-site.xml

<configuration>
  <propeerty>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </propeerty>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

Ran bin/hdfs namenode -format which went well without any errors and then finally ran sbin/start-dfs.sh which gives me no errors with the following log

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/Users/myusername/hadoop-install/hadoop-2.9.2/share/hadoop/common/lib/hadoop-auth-2.9.2.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/03/30 21:44:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
Starting namenodes on []
Password:
localhost: starting namenode, logging to /Users/myusername/hadoop-install/hadoop-2.9.2/logs/hadoop-myusername-namenode-C02WT020HTDG.out
Password:
localhost: starting datanode, logging to /Users/myusername/hadoop-install/hadoop-2.9.2/logs/hadoop-myusername-datanode-C02WT020HTDG.out
localhost: WARNING: An illegal reflective access operation has occurred
localhost: WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/Users/myusername/hadoop-install/hadoop-2.9.2/share/hadoop/common/lib/hadoop-auth-2.9.2.jar) to method sun.security.krb5.Config.getInstance()
localhost: WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
localhost: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
localhost: WARNING: All illegal access operations will be denied in a future release
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is SHA256:M1QP8tl98stYKNcIBmKYTuRoasil3AafGqIq3FZ1Vv8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
Password:
0.0.0.0: starting secondarynamenode, logging to /Users/myusername/hadoop-install/hadoop-2.9.2/logs/hadoop-myusername-secondarynamenode-C02WT020HTDG.out
0.0.0.0: WARNING: An illegal reflective access operation has occurred
0.0.0.0: WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/Users/myusername/hadoop-install/hadoop-2.9.2/share/hadoop/common/lib/hadoop-auth-2.9.2.jar) to method sun.security.krb5.Config.getInstance()
0.0.0.0: WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
0.0.0.0: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
0.0.0.0: WARNING: All illegal access operations will be denied in a future release
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/Users/myusername/hadoop-install/hadoop-2.9.2/share/hadoop/common/lib/hadoop-auth-2.9.2.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/03/30 21:44:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  [1]: https://app.pluralsight.com/library/courses/building-blocks-hadoop-hdfs-mapreduce-yarn/table-of-contents

Error in Name node logs:

2020-03-31 09:35:56,962 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
    at org.apache.hadoop.hdfs.DFSUtil.getNNServiceRpcAddressesForCluster(DFSUtil.java:576)
    at org.apache.hadoop.hdfs.server.datanode.BlockPoolManager.refreshNamenodes(BlockPoolManager.java:152)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1392)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:495)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2695)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2598)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2645)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2789)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2813)
2020-03-31 09:35:56,966 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.

Secondary name node logs:

2020-03-31 09:36:05,237 FATAL org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Failed to start secondary namenode
java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
    at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:626)
    at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddressCheckLogical(DFSUtilClient.java:655)
    at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:617)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:519)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:231)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:194)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:690)
2020-03-31 09:36:05,241 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: ExitException

When I go to localhost:50070 I get nothing (site cannot be reached) and when I hit jps I don't see any namenode or secondary namenode running.

What have I done?

Is there something that needs to be configured or anything that I am missing?

Thanks in Advance!

1
Update your question with namenode/datanode logs.Mobin Ranjbar
Added the logs. Thanks!Srikiran Sistla

1 Answers

2
votes

The core-site.xml property tag has a typo!. It must be property instead of propeerty.

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

Also, In hdfs-site.xml you have not mentioned the dfs.namenode.name.dir and dfs.datanode.data.dir properties. It is always recommended to have these properties configured else have hadoop.tmp.dir property (in core-site.xml) configured to some directory other than /tmp.

Update these properties, format the namenode and start the services.