Challenges of Apache Hadoop

Hadoop is a complex distributed system with low-level APIs. Specialized skills are required for using Hadoop, preventing most developers from effectively building solutions. Business logic and infrastructure APIs have no clear separation, burdening app developers. Automated testing of end-to-end solutions is impractical or impossible. Hadoop is a diverse collection of many open source projects. Understanding multiple technologies and hand-coding integration between them. Significant effort is wasted on simple tasks like data ingestions and ETL. Moving from proof-of-concept to production is difficult and can take months or quarters. 

Hadoop is more than just offline storage and batch analytics. Different processing paradigms require data to be stored in specific ways. Real-time and batch ingestion requires deeply integrating several components. Common data patterns often require but don’t support data consistency and correctness

1.) Hadoop is a cutting edge technology

Hadoop is a new technology, and as with adopting any new technology, finding people who know the technology is difficult!

2.)  Hadoop in the Enterprise Ecosystem

Hadoop is designed to solve Big Data problems encountered by Web and Social companies. In doing so a lot of the features Enterprises need or want are put on the back burner. For example, HDFS does not offer native support for security and authentication.

3.) Hadoop is still rough around the edges

The development and admin tools for Hadoop are still pretty new. Companies like Cloudera, Hortonworks, MapR and Karmasphere have been working on this issue. How ever the tooling may not be as mature as Enterprises are used to (as say, Oracle Admin, etc.)

4.) Hadoop is NOT cheap

  1. Hardware Cost : Hadoop runs on 'commodity' hardware. But these are not cheap machines, they are server grade hardware. Hardware and Software for Hadoop, So standing up a reasonably large Hadoop cluster, say 100 nodes, will cost a significant amount of money. 
  2. IT and Operations costs : A large Hadoop cluster will require support from various teams like : Network Admins, IT, Security Admins, System Admins. Also one needs to think about operational costs like Data Center expenses : cooling, electricity, etc