README.rst 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. Welcome to the repository for Hue
  2. =================================
  3. .. note::
  4. This is the development-oriented readme. If you want to write notes for
  5. end users, please put them in ``dist/README``.
  6. Hue is both a Web UI for Hadoop and a framework to create interactive Web
  7. applications. It features:
  8. * FileBrowser for accessing HDFS
  9. * Job Designer for creating MapReduce/Streaming/Java jobs
  10. * Beeswax application for executing Hive queries
  11. * Impala App for executing Cloudera Impala queries
  12. * Oozie App for submitting and scheduling workflows and bundles
  13. * Pig App for submitting Pig scripts
  14. * Table Browser for accessing Hive metadata
  15. * Search app for querying Solr and Solr Cloud
  16. * JobBrowser for accessing MapReduce jobs (MR1/MR2-YARN)
  17. * A Pig/HBase/Sqoop2 shell
  18. On top of that, a SDK is available for creating new apps integrated with Hadoop.
  19. More user and developer documentation is available at http://cloudera.github.com/hue/.
  20. Getting Started
  21. ===============
  22. To build and get the core server running::
  23. $ git clone http://github.com/cloudera/hue.git
  24. $ cd hue
  25. $ make apps
  26. $ build/env/bin/hue runserver
  27. If using the Beeswax application, start the daemon::
  28. $ build/env/bin/hue beeswax_server
  29. Now Hue should be running on http://localhost:8000.
  30. The configuration in development mode is ``desktop/conf/pseudo-distributed.ini``.
  31. Note: to start all the servers in one command (but lose the automatic reloading after source modification)::
  32. $ build/env/bin/supervisor
  33. To run the tests::
  34. $ build/env/bin/hue test all
  35. $ build/env/bin/hue test specific filebrowser
  36. $ build/env/bin/hue test specific jobbrowser.tests:test_get_path
  37. Development Prerequisites
  38. ===========================
  39. You'll need these library development packages and tools installed on
  40. your system:
  41. Ubuntu:
  42. * ant
  43. * gcc
  44. * g++
  45. * libkrb5-dev
  46. * libmysqlclient-dev
  47. * libssl-dev
  48. * libsasl2-dev
  49. * libsasl2-modules-gssapi-mit
  50. * libsqlite3-dev
  51. * libtidy-0.99-0 (for unit tests only)
  52. * libxml2-dev
  53. * libxslt-dev
  54. * mvn (from ``maven2`` package or tarball)
  55. * openldap-dev / libldap2-dev
  56. * python-dev
  57. * python-simplejson
  58. * python-setuptools
  59. CentOS:
  60. * ant
  61. * asciidoc
  62. * cyrus-sasl-devel
  63. * cyrus-sasl-gssapi
  64. * gcc
  65. * gcc-c++
  66. * krb5-devel
  67. * libtidy (for unit tests only)
  68. * libxml2-devel
  69. * libxslt-devel
  70. * mvn (from ``maven2`` package or tarball)
  71. * mysql
  72. * mysql-devel
  73. * openldap-devel
  74. * python-devel
  75. * python-simplejson
  76. * sqlite-devel
  77. MacOS (mac port):
  78. * liblxml
  79. * libxml2
  80. * libxslt
  81. * mysql5-devel
  82. * simplejson (easy_install)
  83. * sqlite3
  84. File Layout
  85. ===========
  86. The Hue "framework" is in ``desktop``. ``/core/`` contains the Web components and
  87. ``desktop/libs/`` the API for talking to Hadoop.
  88. The installable apps live in ``apps/``. Please place third-party dependencies in the app's ext-py/
  89. directory.
  90. The typical directory structure for inside an application includes:
  91. src/
  92. for Python/Django code
  93. models.py
  94. urls.py
  95. views.py
  96. forms.py
  97. settings.py
  98. conf/
  99. for configuration (``.ini``) files to be installed
  100. static/
  101. for static HTML/js resources and help doc
  102. templates/
  103. for data to be put through a template engine
  104. locales/
  105. for localizations in multiple languages
  106. For the URLs within your application, you should make your own ``urls.py``
  107. which will be automatically rooted at ``/yourappname/`` in the global
  108. namespace. See ``apps/about/src/about/urls.py`` for an example.
  109. Main Stack
  110. ==========
  111. * Python 2.4 - 2.7
  112. * Django 1.2 https://docs.djangoproject.com/en/1.2/
  113. * Mako
  114. * jQuery
  115. * Bootstrap
  116. Community
  117. =========
  118. * User group: http://groups.google.com/a/cloudera.org/group/hue-user
  119. * Jira: https://issues.cloudera.org/browse/HUE
  120. License
  121. =======
  122. Apache License, Version 2.0
  123. http://www.apache.org/licenses/LICENSE-2.0