README.rst 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. .. image:: docs/images/hue_logo.png
  2. Welcome to the repository for Hue
  3. =================================
  4. Hue is an open source Web interface for analyzing data with Apache Hadoop: `gethue.com
  5. <http://gethue.com>`_
  6. .. image:: docs/images/hue-screen.png
  7. It features:
  8. * File Browser for accessing HDFS
  9. * Hive Editor for developing and running Hive queries
  10. * Search App for querying, exploring, visualizing data and dashboards with Solr
  11. * Impala App for executing interactive SQL queries
  12. * Spark Editor and Dashboard
  13. * Pig Editor for submitting Pig scripts
  14. * Oozie Editor and Dashboard for submitting and monitoring workflows, coordinators and bundles
  15. * HBase Browser for visualizing, querying and modifying HBase tables
  16. * Metastore Browser for accessing Hive metadata and HCatalog
  17. * Job Browser for accessing MapReduce jobs (MR1/MR2-YARN)
  18. * Job Designer for creating MapReduce/Streaming/Java jobs
  19. * A Sqoop 2 Editor and Dashboard
  20. * A ZooKeeper Browser and Editor
  21. * A DB Query Editor for MySql, PostGres, Sqlite and Oracle
  22. On top of that, a SDK is available for creating new apps integrated with Hadoop.
  23. More user and developer documentation is available at http://gethue.com.
  24. Getting Started
  25. ===============
  26. To build and get the development server running::
  27. $ git clone https://github.com/cloudera/hue.git
  28. $ cd hue
  29. $ make apps
  30. $ build/env/bin/hue runserver
  31. Now Hue should be running on http://localhost:8000 !
  32. The configuration in development mode is ``desktop/conf/pseudo-distributed.ini``.
  33. Note: to start the production server (but lose the automatic reloading after source modification)::
  34. $ build/env/bin/supervisor
  35. To run the tests::
  36. Install the mini cluster (only once):
  37. $ ./tools/jenkins/jenkins.sh slow
  38. Run all the tests:
  39. $ build/env/bin/hue test all
  40. Or just some parts of the tests, e.g.:
  41. $ build/env/bin/hue test specific impala
  42. $ build/env/bin/hue test specific impala.tests:TestMockedImpala
  43. $ build/env/bin/hue test specific impala.tests:TestMockedImpala.test_basic_flow
  44. Development Prerequisites
  45. ===========================
  46. You'll need these library development packages and tools installed on
  47. your system:
  48. Ubuntu:
  49. * ant
  50. * gcc
  51. * g++
  52. * libkrb5-dev
  53. * libmysqlclient-dev
  54. * libssl-dev
  55. * libsasl2-dev
  56. * libsasl2-modules-gssapi-mit
  57. * libsqlite3-dev
  58. * libtidy-0.99-0 (for unit tests only)
  59. * libxml2-dev
  60. * libxslt-dev
  61. * make
  62. * mvn (from ``maven`` package or maven3 tarball)
  63. * openldap-dev / libldap2-dev
  64. * python-dev
  65. * python-setuptools
  66. CentOS/RHEL:
  67. * ant
  68. * asciidoc
  69. * cyrus-sasl-devel
  70. * cyrus-sasl-gssapi
  71. * gcc
  72. * gcc-c++
  73. * krb5-devel
  74. * libtidy (for unit tests only)
  75. * libxml2-devel
  76. * libxslt-devel
  77. * make
  78. * mvn (from ``maven`` package or maven3 tarball)
  79. * mysql
  80. * mysql-devel
  81. * openldap-devel
  82. * python-devel
  83. * sqlite-devel
  84. * openssl-devel (for version 7+)
  85. MacOS:
  86. * Xcode command line tools
  87. * Oracle's JDK 1.7+
  88. * maven (Homebrew)
  89. * mysql (Homebrew)
  90. File Layout
  91. ===========
  92. The Hue "framework" is in ``desktop``. ``/core/`` contains the Web components and
  93. ``desktop/libs/`` the API for talking to Hadoop.
  94. The installable apps live in ``apps/``. Please place third-party dependencies in the app's ext-py/
  95. directory.
  96. The typical directory structure for inside an application includes:
  97. src/
  98. for Python/Django code
  99. models.py
  100. urls.py
  101. views.py
  102. forms.py
  103. settings.py
  104. conf/
  105. for configuration (``.ini``) files to be installed
  106. static/
  107. for static HTML/js resources and help doc
  108. templates/
  109. for data to be put through a template engine
  110. locales/
  111. for localizations in multiple languages
  112. For the URLs within your application, you should make your own ``urls.py``
  113. which will be automatically rooted at ``/yourappname/`` in the global
  114. namespace. See ``apps/about/src/about/urls.py`` for an example.
  115. Main Stack
  116. ==========
  117. Hue would not be possible without:
  118. * Python 2.6.5 - 2.7
  119. * Django 1.6 (https://docs.djangoproject.com/en/1.6/)
  120. * Knockout.js (http://knockoutjs.com/)
  121. * jQuery (http://jquery.com/)
  122. * Bootstrap (http://getbootstrap.com/)
  123. Community
  124. =========
  125. * User group: http://groups.google.com/a/cloudera.org/group/hue-user
  126. * Jira: https://issues.cloudera.org/browse/HUE
  127. * Reviews: https://review.cloudera.org/dashboard/?view=to-group&group=hue (repo 'hue-rw')
  128. License
  129. =======
  130. Apache License, Version 2.0
  131. http://www.apache.org/licenses/LICENSE-2.0