Added advantage of Java in Hadoop:
Although you can use Streaming to write your map and reduce functions in the language of your choice, there are some advanced features that are (at present) only available via the Java API.
Also, sometimes it's required to get deep into Hadoop code as to why something is behaving a particular way or to know more about the functionality of a particular module. Again knowledge of Java comes handy here.
If you Java is not so good, you may want to spend a few hours with your Java for Dummies book before you even begin looking at Hadoop. Let me Google that for you
Hadoop projects come with a lot of different roles like Architect, Developer, Tester, Linux/Network/Hardware Administrator and some of which require explicit knowledge of Java and some don't.
Our suggestion is if you are genuinely interested in Hadoop then deep dive into Hadoop technologies irrespective of knowledge about Java.
While you don't necessarily need to know Java to get started, you'll need to learn it before you could be considered an expert with Hadoop.
To know more about it, check the article Hadoop and Java – The Most In-demand Skill in IT
I have knowledge of Linux. Do I get any extra benefit while learning Hadoop?
Although Hadoop can run on Windows, it was built initially on Linux and Linux is the preferred method for both installing and managing Hadoop.
Having a solid understanding of getting around in a Linux shell will also help you tremendously in digesting Hadoop, especially with regards to many of the HDFS command line parameters. Again spending few hours on Linux Basics will be all you need.
Let me Google this for you