Hadoop可视化分析利器之Hue


先来看下hue的架构图: 
 


(1)Hue是什么? 

Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。 


(2)Hue能干什么? 

1,访问HDFS和文件浏览 
2,通过web调试和开发hive以及数据结果展示 
3,查询solr和结果展示,报表生成 
4,通过web调试和开发impala交互式SQL Query 
5,spark调试和开发 
6,Pig开发和调试 
7,oozie任务的开发,监控,和工作流协调调度 
8,Hbase数据查询和修改,数据展示 
9,Hive的元数据(metastore)查询 
10,MapReduce任务进度查看,日志追踪 
11,创建和提交MapReduce,Streaming,Java job任务 
12,Sqoop2的开发和调试 
13,Zookeeper的浏览和编辑 
14,数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示 

(3)Hue怎么用或者什么时候应该用? 

如果你们公司用的是CDH的hadoop,那么很幸运,Hue也是出自CDH公司,自家的东西用起来当然很爽。 

如果你们公司用的是Apache Hadoop或者是HDP的hadoop,那么也没事,Hue是开源的,而且支持任何版本的hadoop。 

关于什么时候用,这纯属一个锦上添花的功能,你完全可以不用hue,因为各种开源项目都有自己的使用方式和开发接口,hue只不过是统一了各个项目的开发方式在一个接口里而已,这样比较方便而已,不用你一会准备使用hive,就开一个hive的cli终端,一会用pig,你就得开一个pig的grunt,或者你又想查Hbase,又得需要开一个Hbase的shell终端。如果你们使用hadoop生态系统的组件很多的情况下,使用hue还是比较方便的,另外一个好处就是hue提供了一个web的界面来开发和调试任务,不用我们再频繁登陆Linux来操作了。 

你可以在任何时候,只要能上网,就可以通过hue来开发和调试数据,不用再装Linux的客户端来远程登陆操作了,这也是B/S架构的好处。 


(4)如何下载,安装和编译Hue? 

CentOS系统,执行命令: 
yum install -y asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel  libtidy  libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel  sqlite-devel openssl-devel  gmp-devel 


1,hue的依赖(centos系统) 

  1. ant 
  2. asciidoc 
  3. cyrus-sasl-devel 
  4. cyrus-sasl-gssapi 
  5. gcc 
  6. gcc-c++ 
  7. krb5-devel 
  8. libtidy (for unit tests only) 
  9. libxml2-devel 
  10. libxslt-devel 
  11. make 
  12. mvn (from maven package or maven3 tarball) 
  13. mysql 
  14. mysql-devel 
  15. openldap-devel 
  16. python-devel 
  17. sqlite-devel 
  18. openssl-devel (for version 7+) 



2,散仙的在安装hue前,centos上已经安装好了,jdk,maven,ant,hadoop,hive,oozie等,环境变量如下:

Java代码  收藏代码
  1. user="search" 
  2.  
  3. # java 
  4. export JAVA_HOME="/usr/local/jdk" 
  5. export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  6. export PATH=$PATH:$JAVA_HOME/bin 
  7.  
  8. # ant   
  9. export ANT_HOME=/usr/local/ant 
  10. export CLASSPATH=$CLASSPATH:$ANT_HOME/lib 
  11. export PATH=$PATH:$ANT_HOME/bin 
  12.  
  13. # maven   
  14. export MAVEN_HOME="/usr/local/maven" 
  15. export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib 
  16. export PATH=$PATH:$MAVEN_HOME/bin 
  17.  
  18.  
  19.  
  20. ##Hadoop2.2的变量设置 
  21. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 
  22. export HADOOP_HOME=/home/search/hadoop 
  23. export HADOOP_MAPRED_HOME=$HADOOP_HOME 
  24. export HADOOP_COMMON_HOME=$HADOOP_HOME 
  25. export HADOOP_HDFS_HOME=$HADOOP_HOME 
  26. export YARN_HOME=$HADOOP_HOME 
  27. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
  28. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop 
  29. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 
  30. export CLASSPATH=.:$CLASSPATH:$HADOOP_COMMON_HOME:$HADOOP_COMMON_HOMEi/lib:$HADOOP_MAPRED_HOME:$HADOOP_HDFS_HOME:$HADOOP_HDFS_HOME 
  31.  
  32.  
  33.  
  34. # Hive   
  35.  
  36. export HIVE_HOME=/home/search/hive   
  37. export HIVE_CONF_DIR=/home/search/hive/conf   
  38. export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib   
  39. export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf   
  40.  
  41.  
  42. export OOZIE_HOME="/home/search/oozie-4.1.0" 
  43. export PATH=$PATH:$OOZIE_HOME/sbin:$OOZIE_HOME/bin 



3,本文散仙主要是采用tar包的方式安装hue,除了tar包的方式,hue还能采用cm安装,当然这就与cdh的系统依赖比较大了。 


hue最新的版本是3.8.1,散仙这里用的3.7.0的版本 
下载地址:https://github.com/cloudera/hue/releases 

hue的github地址:https://github.com/cloudera/hue 

4,下载完后,解压tar包,并进入hue的根目录执行命令 
make apps编译 

5,编译成功后,需要配置/home/search/hue/desktop/conf/pseudo-distributed.ini文件,里面包含了hdfs,yarn,mapreduce,hive,oozie,pig,spark,solr等的ip地址和端口号配置,可根据自己的情况设置,如果没有安装某个应用,那就无须配置,只不过这个应用在web上不能使用而已,并不会影响其他框架的使用。 

一个例子如下: 

Java代码  收藏代码
  1. ##################################### 
  2. # DEVELOPMENT EDITION 
  3. ##################################### 
  4.  
  5. # Hue configuration file 
  6. # =================================== 
  7. # For complete documentation about the contents of this file, run 
  8. #       $ <hue_root>/build/env/bin/hue config_help 
  9. # All .ini files under the current directory are treated equally.  Their 
  10. # contents are merged to form the Hue configuration, which can 
  11. # can be viewed on the Hue at 
  12. #       http://<hue_host>:<port>/dump_config 
  13.  
  14.  
  15. ########################################################################### 
  16. # General configuration for core Desktop features (authentication, etc) 
  17. ########################################################################### 
  18.  
  19. [desktop] 
  20.  
  21.   send_dbug_messages=
  22.  
  23.   # To show database transactions, set database_logging to 
  24.   database_logging=
  25.  
  26.   # Set this to a random string, the longer the better. 
  27.   # This is used for secure hashing in the session store. 
  28.   secret_key=search 
  29.  
  30.   # Webserver listens on this address and port 
  31.   http_host=0.0.0.0 
  32.   http_port=8000 
  33.  
  34.   # Time zone name 
  35.   time_zone=Asia/Shanghai 
  36.  
  37.   # Enable or disable Django debug mode 
  38.   ## django_debug_mode=true 
  39.  
  40.   # Enable or disable backtrace for server error 
  41.   ## http_500_debug_mode=true 
  42.  
  43.   # Enable or disable memory profiling. 
  44.   ## memory_profiler=false 
  45.  
  46.   # Server email for internal error messages 
  47.   ## django_server_email='hue@localhost.localdomain' 
  48.  
  49.   # Email backend 
  50.   ## django_email_backend=django.core.mail.backends.smtp.EmailBackend 
  51.  
  52.   # Webserver runs as this user 
  53.   server_user=search 
  54.   server_group=search 
  55.  
  56.   # This should be the Hue admin and proxy user 
  57.   default_user=search 
  58.  
  59.   # This should be the hadoop cluster admin 
  60.   default_hdfs_superuser=search 
  61.  
  62.   # If set to false, runcpserver will not actually start the web server. 
  63.   # Used if Apache is being used as a WSGI container. 
  64.   ## enable_server=yes 
  65.  
  66.   # Number of threads used by the CherryPy web server 
  67.   ## cherrypy_server_threads=10 
  68.  
  69.   # Filename of SSL Certificate 
  70.   ## ssl_certificate= 
  71.  
  72.   # Filename of SSL RSA Private Key 
  73.   ## ssl_private_key= 
  74.  
  75.   # List of allowed and disallowed ciphers in cipher list format. 
  76.   # See http://www.openssl.org/docs/apps/ciphers.html for more information on cipher list format. 
  77.   ## ssl_cipher_list=DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2 
  78.  
  79.   # LDAP username and password of the hue user used for LDAP authentications. 
  80.   # Set it to use LDAP Authentication with HiveServer2 and Impala. 
  81.   ## ldap_username=hue 
  82.   ## ldap_password= 
  83.  
  84.   # Default encoding for site data 
  85.   ## default_site_encoding=utf-
  86.  
  87.   # Help improve Hue with anonymous usage analytics. 
  88.   # Use Google Analytics to see how many times an application or specific section of an application is used, nothing more. 
  89.   ## collect_usage=true 
  90.  
  91.   # Support for HTTPS termination at the load-balancer level with SECURE_PROXY_SSL_HEADER. 
  92.   ## secure_proxy_ssl_header=false 
  93.  
  94.   # Comma-separated list of Django middleware classes to use. 
  95.   # See https://docs.djangoproject.com/en/1.4/ref/middleware/ for more details on middlewares in Django. 
  96.   ## middleware=desktop.auth.backend.LdapSynchronizationBackend 
  97.  
  98.   # Comma-separated list of regular expressions, which match the redirect URL. 
  99.   # For example, to restrict to your local domain and FQDN, the following value can be used: 
  100.   # ^\/.*$,^http:\/\/www.mydomain.com\/.*$ 
  101.   ## redirect_whitelist= 
  102.  
  103.   # Comma separated list of apps to not load at server startup. 
  104.   # e.g.: pig,zookeeper 
  105.   ## app_blacklist= 
  106.  
  107.   # The directory where to store the auditing logs. Auditing is disable if the value is empty. 
  108.   # e.g. /var/log/hue/audit.log 
  109.   ## audit_event_log_dir= 
  110.  
  111.   # Size in KB/MB/GB for audit log to rollover. 
  112.   ## audit_log_max_file_size=100MB 
  113.  
  114. #poll_enabled=false 
  115.  
  116.   # Administrators 
  117.   # ---------------- 
  118.   [[django_admins]] 
  119.     ## [[[admin1]]] 
  120.     ## name=john 
  121.     ## email=john@doe.com 
  122.  
  123.   # UI customizations 
  124.   # ------------------- 
  125.   [[custom]] 
  126.  
  127.   # Top banner HTML code 
  128.   #banner_top_html=Search Team Hadoop Manager 
  129.  
  130.   # Configuration options for user authentication into the web application 
  131.   # ------------------------------------------------------------------------ 
  132.   [[auth]] 
  133.  
  134.     # Authentication backend. Common settings are: 
  135.     # - django.contrib.auth.backends.ModelBackend (entirely Django backend) 
  136.     # - desktop.auth.backend.AllowAllBackend (allows everyone) 
  137.     # - desktop.auth.backend.AllowFirstUserDjangoBackend 
  138.     #     (Default. Relies on Django and user manager, after the first login) 
  139.     # - desktop.auth.backend.LdapBackend 
  140.     # - desktop.auth.backend.PamBackend 
  141.     # - desktop.auth.backend.SpnegoDjangoBackend 
  142.     # - desktop.auth.backend.RemoteUserDjangoBackend 
  143.     # - libsaml.backend.SAML2Backend 
  144.     # - libopenid.backend.OpenIDBackend 
  145.     # - liboauth.backend.OAuthBackend 
  146.     #     (New oauth, support Twitter, Facebook, Google+ and Linkedin 
  147.     ## backend=desktop.auth.backend.AllowFirstUserDjangoBackend 
  148.  
  149.     # The service to use when querying PAM. 
  150.     ## pam_service=login 
  151.  
  152.     # When using the desktop.auth.backend.RemoteUserDjangoBackend, this sets 
  153.     # the normalized name of the header that contains the remote user. 
  154.     # The HTTP header in the request is converted to a key by converting 
  155.     # all characters to uppercase, replacing any hyphens with underscores 
  156.     # and adding an HTTP_ prefix to the name. So, for example, if the header 
  157.     # is called Remote-User that would be configured as HTTP_REMOTE_USER 
  158.     # 
  159.     # Defaults to HTTP_REMOTE_USER 
  160.     ## remote_user_header=HTTP_REMOTE_USER 
  161.  
  162.     # Ignore the case of usernames when searching for existing users. 
  163.     # Only supported in remoteUserDjangoBackend. 
  164.     ## ignore_username_case=false 
  165.  
  166.     # Ignore the case of usernames when searching for existing users to authenticate with. 
  167.     # Only supported in remoteUserDjangoBackend. 
  168.     ## force_username_lowercase=false 
  169.  
  170.     # Users will expire after they have not logged in for 'n' amount of seconds. 
  171.     # A negative number means that users will never expire. 
  172.     ## expires_after=-
  173.  
  174.     # Apply 'expires_after' to superusers. 
  175.     ## expire_superusers=true 
  176.  
  177.   # Configuration options for connecting to LDAP and Active Directory 
  178.   # ------------------------------------------------------------------- 
  179.   [[ldap]] 
  180.  
  181.     # The search base for finding users and groups 
  182.     ## base_dn="DC=mycompany,DC=com" 
  183.  
  184.     # URL of the LDAP server 
  185.     ## ldap_url=ldap://auth.mycompany.com 
  186.  
  187.     # A PEM-format file containing certificates for the CA's that 
  188.     # Hue will trust for authentication over TLS. 
  189.     # The certificate for the CA that signed the 
  190.     # LDAP server certificate must be included among these certificates. 
  191.     # See more here http://www.openldap.org/doc/admin24/tls.html. 
  192.     ## ldap_cert= 
  193.     ## use_start_tls=true 
  194.  
  195.     # Distinguished name of the user to bind as -- not necessary if the LDAP server 
  196.     # supports anonymous searches 
  197.     ## bind_dn="CN=ServiceAccount,DC=mycompany,DC=com" 
  198.  
  199.     # Password of the bind user -- not necessary if the LDAP server supports 
  200.     # anonymous searches 
  201.     ## bind_password= 
  202.  
  203.     # Pattern for searching for usernames -- Use <username> for the parameter 
  204.     # For use when using LdapBackend for Hue authentication 
  205.     ## ldap_username_pattern="uid=<username>,ou=People,dc=mycompany,dc=com" 
  206.  
  207.     # Create users in Hue when they try to login with their LDAP credentials 
  208.     # For use when using LdapBackend for Hue authentication 
  209.     ## create_users_on_login = true 
  210.  
  211.     # Synchronize a users groups when they login 
  212.     ## sync_groups_on_login=false 
  213.  
  214.     # Ignore the case of usernames when searching for existing users in Hue. 
  215.     ## ignore_username_case=false 
  216.  
  217.     # Force usernames to lowercase when creating new users from LDAP. 
  218.     ## force_username_lowercase=false 
  219.  
  220.     # Use search bind authentication. 
  221.     ## search_bind_authentication=true 
  222.  
  223.     # Choose which kind of subgrouping to use: nested or suboordinate (deprecated). 
  224.     ## subgroups=suboordinate 
  225.  
  226.     # Define the number of levels to search for nested members. 
  227.     ## nested_members_search_depth=10 
  228.  
  229.     [[[users]]] 
  230.  
  231.       # Base filter for searching for users 
  232.       ## user_filter="objectclass=*" 
  233.  
  234.       # The username attribute in the LDAP schema 
  235.       ## user_name_attr=sAMAccountName 
  236.  
  237.     [[[groups]]] 
  238.  
  239.       # Base filter for searching for groups 
  240.       ## group_filter="objectclass=*" 
  241.  
  242.       # The username attribute in the LDAP schema 
  243.       ## group_name_attr=cn 
  244.  
  245.     [[[ldap_servers]]] 
  246.  
  247.       ## [[[[mycompany]]]] 
  248.  
  249.         # The search base for finding users and groups 
  250.         ## base_dn="DC=mycompany,DC=com" 
  251.  
  252.         # URL of the LDAP server 
  253.         ## ldap_url=ldap://auth.mycompany.com 
  254.  
  255.         # A PEM-format file containing certificates for the CA's that 
  256.         # Hue will trust for authentication over TLS. 
  257.         # The certificate for the CA that signed the 
  258.         # LDAP server certificate must be included among these certificates. 
  259.         # See more here http://www.openldap.org/doc/admin24/tls.html. 
  260.         ## ldap_cert= 
  261.         ## use_start_tls=true 
  262.  
  263.         # Distinguished name of the user to bind as -- not necessary if the LDAP server 
  264.         # supports anonymous searches 
  265.         ## bind_dn="CN=ServiceAccount,DC=mycompany,DC=com" 
  266.  
  267.         # Password of the bind user -- not necessary if the LDAP server supports 
  268.         # anonymous searches 
  269.         ## bind_password= 
  270.  
  271.         # Pattern for searching for usernames -- Use <username> for the parameter 
  272.         # For use when using LdapBackend for Hue authentication 
  273.         ## ldap_username_pattern="uid=<username>,ou=People,dc=mycompany,dc=com" 
  274.  
  275.         ## Use search bind authentication. 
  276.         ## search_bind_authentication=true 
  277.  
  278.         ## [[[[[users]]]]] 
  279.  
  280.           # Base filter for searching for users 
  281.           ## user_filter="objectclass=Person" 
  282.  
  283.           # The username attribute in the LDAP schema 
  284.           ## user_name_attr=sAMAccountName 
  285.  
  286.         ## [[[[[groups]]]]] 
  287.  
  288.           # Base filter for searching for groups 
  289.           ## group_filter="objectclass=groupOfNames" 
  290.  
  291.           # The username attribute in the LDAP schema 
  292.           ## group_name_attr=cn 
  293.  
  294.   # Configuration options for specifying the Desktop Database. For more info, 
  295.   # see http://docs.djangoproject.com/en/1.4/ref/settings/#database-engine 
  296.   # ------------------------------------------------------------------------ 
  297.   [[database]] 
  298.     # Database engine is typically one of: 
  299.     # postgresql_psycopg2, mysql, sqlite3 or oracle. 
  300.     # 
  301.     # Note that for sqlite3, 'name', below is a a path to the filename. For other backends, it is the database name. 
  302.     # Note for Oracle, options={'threaded':true} must be set in order to avoid crashes. 
  303.     # Note for Oracle, you can use the Oracle Service Name by setting "port=0" and then "name=<host>:<port>/<service_name>". 
  304.     ## engine=sqlite3 
  305.     ## host= 
  306.     ## port= 
  307.     ## user= 
  308.     ## password= 
  309.     ## name=desktop/desktop.db 
  310.     ## options={} 
  311.  
  312.   # Configuration options for specifying the Desktop session. 
  313.   # For more info, see https://docs.djangoproject.com/en/1.4/topics/http/sessions/ 
  314.   # ------------------------------------------------------------------------ 
  315.   [[session]] 
  316.     # The cookie containing the users' session ID will expire after this amount of time in seconds. 
  317.     # Default is 2 weeks. 
  318.     ## ttl=1209600 
  319.  
  320.     # The cookie containing the users' session ID will be secure. 
  321.     # Should only be enabled with HTTPS. 
  322.     ## secure=false 
  323.  
  324.     # The cookie containing the users' session ID will use the HTTP only flag. 
  325.     ## http_only=false 
  326.  
  327.     # Use session-length cookies. Logs out the user when she closes the browser window. 
  328.     ## expire_at_browser_close=false 
  329.  
  330.  
  331.   # Configuration options for connecting to an external SMTP server 
  332.   # ------------------------------------------------------------------------ 
  333.   [[smtp]] 
  334.  
  335.     # The SMTP server information for email notification delivery 
  336.     host=localhost 
  337.     port=25 
  338.     user= 
  339.     password= 
  340.  
  341.     # Whether to use a TLS (secure) connection when talking to the SMTP server 
  342.     tls=no 
  343.  
  344.     # Default email address to use for various automated notification from Hue 
  345.     ## default_from_email=hue@localhost 
  346.  
  347.  
  348.   # Configuration options for Kerberos integration for secured Hadoop clusters 
  349.   # ------------------------------------------------------------------------ 
  350.   [[kerberos]] 
  351.  
  352.     # Path to Hue's Kerberos keytab file 
  353.     ## hue_keytab= 
  354.     # Kerberos principal name for Hue 
  355.     ## hue_principal=hue/hostname.foo.com 
  356.     # Path to kinit 
  357.     ## kinit_path=/path/to/kinit 
  358.  
  359.  
  360.   # Configuration options for using OAuthBackend (Core) login 
  361.   # ------------------------------------------------------------------------ 
  362.   [[oauth]] 
  363.     # The Consumer key of the application 
  364.     ## consumer_key=XXXXXXXXXXXXXXXXXXXXX 
  365.  
  366.     # The Consumer secret of the application 
  367.     ## consumer_secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
  368.  
  369.     # The Request token URL 
  370.     ## request_token_url=https://api.twitter.com/oauth/request_token 
  371.  
  372.     # The Access token URL 
  373.     ## access_token_url=https://api.twitter.com/oauth/access_token 
  374.  
  375.     # The Authorize URL 
  376.     ## authenticate_url=https://api.twitter.com/oauth/authorize 
  377.  
  378.  
  379. ########################################################################### 
  380. # Settings to configure SAML 
  381. ########################################################################### 
  382.  
  383. [libsaml] 
  384.   # Xmlsec1 binary path. This program should be executable by the user running Hue. 
  385.   ## xmlsec_binary=/usr/local/bin/xmlsec1 
  386.  
  387.   # Entity ID for Hue acting as service provider. 
  388.   # Can also accept a pattern where '<base_url>' will be replaced with server URL base. 
  389.   ## entity_id="<base_url>/saml2/metadata/" 
  390.  
  391.   # Create users from SSO on login. 
  392.   ## create_users_on_login=true 
  393.  
  394.   # Required attributes to ask for from IdP. 
  395.   # This requires a comma separated list. 
  396.   ## required_attributes=uid 
  397.  
  398.   # Optional attributes to ask for from IdP. 
  399.   # This requires a comma separated list. 
  400.   ## optional_attributes= 
  401.  
  402.   # IdP metadata in the form of a file. This is generally an XML file containing metadata that the Identity Provider generates. 
  403.   ## metadata_file= 
  404.  
  405.   # Private key to encrypt metadata with. 
  406.   ## key_file= 
  407.  
  408.   # Signed certificate to send along with encrypted metadata. 
  409.   ## cert_file= 
  410.  
  411.   # A mapping from attributes in the response from the IdP to django user attributes. 
  412.   ## user_attribute_mapping={'uid':'username'} 
  413.  
  414.   # Have Hue initiated authn requests be signed and provide a certificate. 
  415.   ## authn_requests_signed=false 
  416.  
  417.   # Have Hue initiated logout requests be signed and provide a certificate. 
  418.   ## logout_requests_signed=false 
  419.  
  420.   # Username can be sourced from 'attributes' or 'nameid'. 
  421.   ## username_source=attributes 
  422.  
  423.   # Performs the logout or not. 
  424.   ## logout_enabled=true 
  425.  
  426.  
  427. ########################################################################### 
  428. # Settings to configure OpenId 
  429. ########################################################################### 
  430.  
  431. [libopenid] 
  432.   # (Required) OpenId SSO endpoint url. 
  433.   ## server_endpoint_url=https://www.google.com/accounts/o8/id 
  434.  
  435.   # OpenId 1.1 identity url prefix to be used instead of SSO endpoint url 
  436.   # This is only supported if you are using an OpenId 1.1 endpoint 
  437.   ## identity_url_prefix=https://app.onelogin.com/openid/your_company.com/ 
  438.  
  439.   # Create users from OPENID on login. 
  440.   ## create_users_on_login=true 
  441.  
  442.   # Use email for username 
  443.   ## use_email_for_username=true 
  444.  
  445.  
  446. ########################################################################### 
  447. # Settings to configure OAuth 
  448. ########################################################################### 
  449.  
  450. [liboauth] 
  451.   # NOTE: 
  452.   # To work, each of the active (i.e. uncommented) service must have 
  453.   # applications created on the social network. 
  454.   # Then the "consumer key" and "consumer secret" must be provided here. 
  455.   # 
  456.   # The addresses where to do so are: 
  457.   # Twitter:  https://dev.twitter.com/apps 
  458.   # Google+ : https://cloud.google.com/ 
  459.   # Facebook: https://developers.facebook.com/apps 
  460.   # Linkedin: https://www.linkedin.com/secure/developer 
  461.   # 
  462.   # Additionnaly, the following must be set in the application settings: 
  463.   # Twitter:  Callback URL (aka Redirect URL) must be set to http://YOUR_HUE_IP_OR_DOMAIN_NAME/oauth/social_login/oauth_authenticated 
  464.   # Google+ : CONSENT SCREEN must have email address 
  465.   # Facebook: Sandbox Mode must be DISABLED 
  466.   # Linkedin: "In OAuth User Agreement", r_emailaddress is REQUIRED 
  467.  
  468.   # The Consumer key of the application 
  469.   ## consumer_key_twitter= 
  470.   ## consumer_key_google= 
  471.   ## consumer_key_facebook= 
  472.   ## consumer_key_linkedin= 
  473.  
  474.   # The Consumer secret of the application 
  475.   ## consumer_secret_twitter= 
  476.   ## consumer_secret_google= 
  477.   ## consumer_secret_facebook= 
  478.   ## consumer_secret_linkedin= 
  479.  
  480.   # The Request token URL 
  481.   ## request_token_url_twitter=https://api.twitter.com/oauth/request_token 
  482.   ## request_token_url_google=https://accounts.google.com/o/oauth2/auth 
  483.   ## request_token_url_linkedin=https://www.linkedin.com/uas/oauth2/authorization 
  484.   ## request_token_url_facebook=https://graph.facebook.com/oauth/authorize 
  485.  
  486.   # The Access token URL 
  487.   ## access_token_url_twitter=https://api.twitter.com/oauth/access_token 
  488.   ## access_token_url_google=https://accounts.google.com/o/oauth2/token 
  489.   ## access_token_url_facebook=https://graph.facebook.com/oauth/access_token 
  490.   ## access_token_url_linkedin=https://api.linkedin.com/uas/oauth2/accessToken 
  491.  
  492.   # The Authenticate URL 
  493.   ## authenticate_url_twitter=https://api.twitter.com/oauth/authorize 
  494.   ## authenticate_url_google=https://www.googleapis.com/oauth2/v1/userinfo?access_token= 
  495.   ## authenticate_url_facebook=https://graph.facebook.com/me?access_token= 
  496.   ## authenticate_url_linkedin=https://api.linkedin.com/v1/people/~:(email-address)?format=json&oauth2_access_token= 
  497.  
  498.   # Username Map. Json Hash format. 
  499.   # Replaces username parts in order to simplify usernames obtained 
  500.   # Example: {"@sub1.domain.com":"_S1", "@sub2.domain.com":"_S2"} 
  501.   # converts 'email@sub1.domain.com' to 'email_S1' 
  502.   ## username_map={} 
  503.  
  504.   # Whitelisted domains (only applies to Google OAuth). CSV format. 
  505.   ## whitelisted_domains_google= 
  506.  
  507. ########################################################################### 
  508. # Settings for the RDBMS application 
  509. ########################################################################### 
  510.  
  511. [librdbms] 
  512.   # The RDBMS app can have any number of databases configured in the databases 
  513.   # section. A database is known by its section name 
  514.   # (IE sqlite, mysql, psql, and oracle in the list below). 
  515.  
  516.   [[databases]] 
  517.     # sqlite configuration. 
  518.     ## [[[sqlite]]] 
  519.       # Name to show in the UI. 
  520.       ## nice_name=SQLite 
  521.  
  522.       # For SQLite, name defines the path to the database. 
  523.       ## name=/tmp/sqlite.db 
  524.  
  525.       # Database backend to use. 
  526.       ## engine=sqlite 
  527.  
  528.       # Database options to send to the server when connecting. 
  529.       # https://docs.djangoproject.com/en/1.4/ref/databases/ 
  530.       ## options={} 
  531.  
  532.     # mysql, oracle, or postgresql configuration. 
  533.     ## [[[mysql]]] 
  534.       # Name to show in the UI. 
  535.       ## nice_name="My SQL DB" 
  536.  
  537.       # For MySQL and PostgreSQL, name is the name of the database. 
  538.       # For Oracle, Name is instance of the Oracle server. For express edition 
  539.       # this is 'xe' by default. 
  540.       ## name=mysqldb 
  541.  
  542.       # Database backend to use. This can be: 
  543.       # 1. mysql 
  544.       # 2. postgresql 
  545.       # 3. oracle 
  546.       ## engine=mysql 
  547.  
  548.       # IP or hostname of the database to connect to. 
  549.       ## host=localhost 
  550.  
  551.       # Port the database server is listening to. Defaults are: 
  552.       # 1. MySQL: 3306 
  553.       # 2. PostgreSQL: 5432 
  554.       # 3. Oracle Express Edition: 1521 
  555.       ## port=3306 
  556.  
  557.       # Username to authenticate with when connecting to the database. 
  558.       ## user=example 
  559.  
  560.       # Password matching the username to authenticate with when 
  561.       # connecting to the database. 
  562.       ## password=example 
  563.  
  564.       # Database options to send to the server when connecting. 
  565.       # https://docs.djangoproject.com/en/1.4/ref/databases/ 
  566.       ## options={} 
  567.  
  568. ########################################################################### 
  569. # Settings to configure your Hadoop cluster. 
  570. ########################################################################### 
  571.  
  572. [hadoop] 
  573.  
  574.   # Configuration for HDFS NameNode 
  575.   # ------------------------------------------------------------------------ 
  576.   [[hdfs_clusters]] 
  577.     # HA support by using HttpFs 
  578.  
  579.     [[[default]]] 
  580.       # Enter the filesystem uri 
  581.       fs_defaultfs=hdfs://h1:8020 
  582.  
  583.       # NameNode logical name. 
  584.       logical_name=h1 
  585.  
  586.       # Use WebHdfs/HttpFs as the communication mechanism. 
  587.       # Domain should be the NameNode or HttpFs host. 
  588.       # Default port is 14000 for HttpFs. 
  589.       webhdfs_url=http://h1:50070/webhdfs/v1 
  590.  
  591.       # Change this if your HDFS cluster is Kerberos-secured 
  592.       security_enabled=false 
  593.  
  594.       # Default umask for file and directory creation, specified in an octal value. 
  595.       umask=022 
  596.       hadoop_conf_dir=/home/search/hadoop/etc/hadoop 
  597.  
  598.   # Configuration for YARN (MR2) 
  599.   # ------------------------------------------------------------------------ 
  600.   [[yarn_clusters]] 
  601.  
  602.     [[[default]]] 
  603.       # Enter the host on which you are running the ResourceManager 
  604.       resourcemanager_host=h1 
  605.  
  606.       # The port where the ResourceManager IPC listens on 
  607.       resourcemanager_port=8032 
  608.  
  609.       # Whether to submit jobs to this cluster 
  610.       submit_to=True 
  611.  
  612.       # Resource Manager logical name (required for HA) 
  613.       ## logical_name= 
  614.  
  615.       # Change this if your YARN cluster is Kerberos-secured 
  616.       ## security_enabled=false 
  617.  
  618.       # URL of the ResourceManager API 
  619.       resourcemanager_api_url=http://h1:8088 
  620.  
  621.       # URL of the ProxyServer API 
  622.       proxy_api_url=http://h1:8088 
  623.  
  624.       # URL of the HistoryServer API 
  625.       history_server_api_url=http://h1:19888 
  626.  
  627.     # HA support by specifying multiple clusters 
  628.     # e.g. 
  629.  
  630.     # [[[ha]]] 
  631.       # Resource Manager logical name (required for HA) 
  632.       ## logical_name=my-rm-name 
  633.  
  634.   # Configuration for MapReduce (MR1) 
  635.   # ------------------------------------------------------------------------ 
  636.   [[mapred_clusters]] 
  637.  
  638.     [[[default]]] 
  639.       # Enter the host on which you are running the Hadoop JobTracker 
  640.      jobtracker_host=h1 
  641.  
  642.       # The port where the JobTracker IPC listens on 
  643.      #jobtracker_port=8021 
  644.  
  645.       # JobTracker logical name for HA 
  646.       ## logical_name= 
  647.  
  648.       # Thrift plug-in port for the JobTracker 
  649.       ## thrift_port=9290 
  650.  
  651.       # Whether to submit jobs to this cluster 
  652.       submit_to=False 
  653.  
  654.       # Change this if your MapReduce cluster is Kerberos-secured 
  655.       ## security_enabled=false 
  656.  
  657.     # HA support by specifying multiple clusters 
  658.     # e.g. 
  659.  
  660.     # [[[ha]]] 
  661.       # Enter the logical name of the JobTrackers 
  662.       # logical_name=my-jt-name 
  663.  
  664.  
  665. ########################################################################### 
  666. # Settings to configure the Filebrowser app 
  667. ########################################################################### 
  668.  
  669. [filebrowser] 
  670.   # Location on local filesystem where the uploaded archives are temporary stored. 
  671.   ## archive_upload_tempdir=/tmp 
  672.  
  673. ########################################################################### 
  674. # Settings to configure liboozie 
  675. ########################################################################### 
  676.  
  677. [liboozie] 
  678.   # The URL where the Oozie service runs on. This is required in order for 
  679.   # users to submit jobs. Empty value disables the config check. 
  680.   ## oozie_url=http://localhost:11000/oozie 
  681.   oozie_url=http://h1:11000/oozie 
  682.  
  683.   # Requires FQDN in oozie_url if enabled 
  684.   ## security_enabled=false 
  685.  
  686.   # Location on HDFS where the workflows/coordinator are deployed when submitted. 
  687.   remote_deployement_dir=/user/hue/oozie/deployments 
  688.  
  689.  
  690. ########################################################################### 
  691. # Settings to configure the Oozie app 
  692. ########################################################################### 
  693.  
  694. [oozie] 
  695.   # Location on local FS where the examples are stored. 
  696.   local_data_dir=apps/oozie/examples/ 
  697.  
  698.   # Location on local FS where the data for the examples is stored. 
  699.   ## sample_data_dir=...thirdparty/sample_data 
  700.  
  701.   # Location on HDFS where the oozie examples and workflows are stored. 
  702.   remote_data_dir=apps/oozie/workspaces 
  703.  
  704.   # Maximum of Oozie workflows or coodinators to retrieve in one API call. 
  705.   oozie_jobs_count=100 
  706.  
  707.   # Use Cron format for defining the frequency of a Coordinator instead of the old frequency number/unit. 
  708.   ## enable_cron_scheduling=true 
  709.   enable_cron_scheduling=true 
  710.  
  711.  
  712. ########################################################################### 
  713. # Settings to configure Beeswax with Hive 
  714. ########################################################################### 
  715.  
  716. [beeswax] 
  717.  
  718.   # Host where HiveServer2 is running. 
  719.   # If Kerberos security is enabled, use fully-qualified domain name (FQDN). 
  720.   hive_server_host=h1 
  721.  
  722.   # Port where HiveServer2 Thrift server runs on. 
  723.   hive_server_port=10000 
  724.  
  725.   # Hive configuration directory, where hive-site.xml is located 
  726.   hive_conf_dir=/home/search/hive/conf 
  727.  
  728.   # Timeout in seconds for thrift calls to Hive service 
  729.   server_conn_timeout=120 
  730.  
  731.   # Set a LIMIT clause when browsing a partitioned table. 
  732.   # A positive value will be set as the LIMIT. If 0 or negative, do not set any limit. 
  733.   browse_partitioned_table_limit=250 
  734.  
  735.   # A limit to the number of rows that can be downloaded from a query. 
  736.   # A value of -1 means there will be no limit. 
  737.   # A maximum of 65,000 is applied to XLS downloads. 
  738.   download_row_limit=1000000 
  739.  
  740.   # Hue will try to close the Hive query when the user leaves the editor page. 
  741.   # This will free all the query resources in HiveServer2, but also make its results inaccessible. 
  742.   ## close_queries=false 
  743.  
  744.   # Thrift version to use when communicating with HiveServer2 
  745.   ## thrift_version=
  746.  
  747.   [[ssl]] 
  748.     # SSL communication enabled for this server. 
  749.     ## enabled=false 
  750.  
  751.     # Path to Certificate Authority certificates. 
  752.     ## cacerts=/etc/hue/cacerts.pem 
  753.  
  754.     # Path to the private key file. 
  755.     ## key=/etc/hue/key.pem 
  756.  
  757.     # Path to the public certificate file. 
  758.     ## cert=/etc/hue/cert.pem 
  759.  
  760.     # Choose whether Hue should validate certificates received from the server. 
  761.     ## validate=true 
  762.  
  763.  
  764. ########################################################################### 
  765. # Settings to configure Pig 
  766. ########################################################################### 
  767.  
  768. [pig] 
  769.   # Location of piggybank.jar on local filesystem. 
  770.   local_sample_dir=/home/search/hue/apps/pig/examples 
  771.  
  772.   # Location piggybank.jar will be copied to in HDFS. 
  773.   remote_data_dir=/home/search/pig/examples 
  774.  
  775.  
  776. ########################################################################### 
  777. # Settings to configure Sqoop 
  778. ########################################################################### 
  779.  
  780. [sqoop] 
  781.   # For autocompletion, fill out the librdbms section. 
  782.  
  783.   # Sqoop server URL 
  784.   server_url=http://h1:12000/sqoop 
  785.  
  786.  
  787. ########################################################################### 
  788. # Settings to configure Proxy 
  789. ########################################################################### 
  790.  
  791. [proxy] 
  792.   # Comma-separated list of regular expressions, 
  793.   # which match 'host:port' of requested proxy target. 
  794.   ## whitelist=(localhost|127\.0\.0\.1):(50030|50070|50060|50075) 
  795.  
  796.   # Comma-separated list of regular expressions, 
  797.   # which match any prefix of 'host:port/path' of requested proxy target. 
  798.   # This does not support matching GET parameters. 
  799.   ## blacklist= 
  800.  
  801.  
  802. ########################################################################### 
  803. # Settings to configure Impala 
  804. ########################################################################### 
  805.  
  806. [impala] 
  807.   # Host of the Impala Server (one of the Impalad) 
  808.   ## server_host=localhost 
  809.  
  810.   # Port of the Impala Server 
  811.   ## server_port=21050 
  812.  
  813.   # Kerberos principal 
  814.   ## impala_principal=impala/hostname.foo.com 
  815.  
  816.   # Turn on/off impersonation mechanism when talking to Impala 
  817.   ## impersonation_enabled=False 
  818.  
  819.   # Number of initial rows of a result set to ask Impala to cache in order 
  820.   # to support re-fetching them for downloading them. 
  821.   # Set to for disabling the option and backward compatibility. 
  822.   ## querycache_rows=50000 
  823.  
  824.   # Timeout in seconds for thrift calls 
  825.   ## server_conn_timeout=120 
  826.  
  827.   # Hue will try to close the Impala query when the user leaves the editor page. 
  828.   # This will free all the query resources in Impala, but also make its results inaccessible. 
  829.   ## close_queries=true 
  830.  
  831.   # If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if Impala does not do any work 
  832.   # (compute or send back results) for that query within QUERY_TIMEOUT_S seconds. 
  833.   ## query_timeout_s=600 
  834.  
  835.  
  836. ########################################################################### 
  837. # Settings to configure HBase Browser 
  838. ########################################################################### 
  839.  
  840. [hbase] 
  841.   # Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'. 
  842.   # Use full hostname with security. 
  843.   ## hbase_clusters=(Cluster|localhost:9090) 
  844.  
  845.   # HBase configuration directory, where hbase-site.xml is located. 
  846.   ## hbase_conf_dir=/etc/hbase/conf 
  847.  
  848.   # Hard limit of rows or columns per row fetched before truncating. 
  849.   ## truncate_limit = 500 
  850.  
  851.   # 'buffered' is the default of the HBase Thrift Server and supports security. 
  852.   # 'framed' can be used to chunk up responses, 
  853.   # which is useful when used in conjunction with the nonblocking server in Thrift. 
  854.   ## thrift_transport=buffered 
  855.  
  856.  
  857. ########################################################################### 
  858. # Settings to configure Solr Search 
  859. ########################################################################### 
  860.  
  861. [search] 
  862.  
  863.   # URL of the Solr Server 
  864.   solr_url=http://172.21.50.41:8983/solr/ 
  865.  
  866.   # Requires FQDN in solr_url if enabled 
  867.   ## security_enabled=false 
  868.  
  869.   ## Query sent when no term is entered 
  870.   ## empty_query=*:* 
  871.  
  872.  
  873. ########################################################################### 
  874. # Settings to configure Solr Indexer 
  875. ########################################################################### 
  876.  
  877. [indexer] 
  878.  
  879.   # Location of the solrctl binary. 
  880.   ## solrctl_path=/usr/bin/solrctl 
  881.  
  882.   # Location of the solr home. 
  883.   ## solr_home=/usr/lib/solr 
  884.  
  885.   # Zookeeper ensemble. 
  886.   ## solr_zk_ensemble=localhost:2181/solr 
  887.  
  888.   # The contents of this directory will be copied over to the solrctl host to its temporary directory. 
  889.   ## config_template_path=/../hue/desktop/libs/indexer/src/data/solr_configs 
  890.  
  891.  
  892. ########################################################################### 
  893. # Settings to configure Job Designer 
  894. ########################################################################### 
  895.  
  896. [jobsub] 
  897.  
  898.   # Location on local FS where examples and template are stored. 
  899.   ## local_data_dir=..../data 
  900.  
  901.   # Location on local FS where sample data is stored 
  902.   ## sample_data_dir=...thirdparty/sample_data 
  903.  
  904.  
  905. ########################################################################### 
  906. # Settings to configure Job Browser 
  907. ########################################################################### 
  908.  
  909. [jobbrowser] 
  910.   # Share submitted jobs information with all users. If set to false, 
  911.   # submitted jobs are visible only to the owner and administrators. 
  912.   ## share_jobs=true 
  913.  
  914.  
  915. ########################################################################### 
  916. # Settings to configure the Zookeeper application. 
  917. ########################################################################### 
  918.  
  919. [zookeeper] 
  920.  
  921.   [[clusters]] 
  922.  
  923.     [[[default]]] 
  924.       # Zookeeper ensemble. Comma separated list of Host/Port. 
  925.       # e.g. localhost:2181,localhost:2182,localhost:2183 
  926.       host_ports=zk1:2181 
  927.  
  928.       # The URL of the REST contrib service (required for znode browsing) 
  929.       ## rest_url=http://localhost:9998 
  930.  
  931.  
  932. ########################################################################### 
  933. # Settings to configure the Spark application. 
  934. ########################################################################### 
  935.  
  936. [spark] 
  937.   # URL of the REST Spark Job Server. 
  938.   server_url=http://h1:8080/ 
  939.  
  940.  
  941. ########################################################################### 
  942. # Settings for the User Admin application 
  943. ########################################################################### 
  944.  
  945. [useradmin] 
  946.   # The name of the default user group that users will be a member of 
  947.   ## default_user_group=default 
  948.  
  949.  
  950. ########################################################################### 
  951. # Settings for the Sentry lib 
  952. ########################################################################### 
  953.  
  954. [libsentry] 
  955.   # Hostname or IP of server. 
  956.   ## hostname=localhost 
  957.  
  958.   # Port the sentry service is running on. 
  959.   ## port=8038 
  960.  
  961.   # Sentry configuration directory, where sentry-site.xml is located. 
  962.   ## sentry_conf_dir=/etc/sentry/conf 



编译好的目录如下: 

  1. -rw-rw-r--  1 search search  2782 5月  19 06:04 app.reg 
  2. -rw-rw-r--  1 search search  2782 5月  19 05:41 app.reg.bak 
  3. drwxrwxr-x 22 search search  4096 5月  20 01:05 apps 
  4. drwxrwxr-x  3 search search  4096 5月  19 05:41 build 
  5. drwxr-xr-x  2 search search  4096 5月  19 05:40 data 
  6. drwxrwxr-x  7 search search  4096 5月  20 01:29 desktop 
  7. drwxrwxr-x  2 search search  4096 5月  19 05:41 dist 
  8. drwxrwxr-x  7 search search  4096 5月  19 05:40 docs 
  9. drwxrwxr-x  3 search search  4096 5月  19 05:40 ext 
  10. -rw-rw-r--  1 search search 11358 5月  19 05:38 LICENSE.txt 
  11. drwxrwxr-x  2 search search  4096 5月  20 01:29 logs 
  12. -rw-rw-r--  1 search search  8121 5月  19 05:41 Makefile 
  13. -rw-rw-r--  1 search search  8505 5月  19 05:41 Makefile.sdk 
  14. -rw-rw-r--  1 search search  3093 5月  19 05:40 Makefile.tarball 
  15. -rw-rw-r--  1 search search  3498 5月  19 05:41 Makefile.vars 
  16. -rw-rw-r--  1 search search  2302 5月  19 05:41 Makefile.vars.priv 
  17. drwxrwxr-x  2 search search  4096 5月  19 05:41 maven 
  18. -rw-rw-r--  1 search search   801 5月  19 05:40 NOTICE.txt 
  19. -rw-rw-r--  1 search search  4733 5月  19 05:41 README.rst 
  20. -rw-rw-r--  1 search search    52 5月  19 05:38 start.sh 
  21. -rw-rw-r--  1 search search    65 5月  19 05:41 stop.sh 
  22. drwxrwxr-x  9 search search  4096 5月  19 05:38 tools 
  23. -rw-rw-r--  1 search search   932 5月  19 05:41 VERSION 

6,启动hue,执行命令:build/env/bin/supervisor 

  1. [search@h1 hue]$ build/env/bin/supervisor   
  2. [INFO] Not running as root, skipping privilege drop 
  3. starting server with options {'ssl_certificate': None, 'workdir': None, 'server_name': 'localhost', 'host': '0.0.0.0', 'daemonize': False, 'threads': 10, 'pidfile': None, 'ssl_private_key': None, 'server_group': 'search', 'ssl_cipher_list': 'DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2', 'port': 8000, 'server_user': 'search'} 


然后我们就可以访问安装机ip+8000端口来查看了: 




工具箱界面: 

hive的界面: 



在配置hive(散仙这里是0.13的版本)的时候,需要注意以下几个方面: 

hive的metastrore的服务和hiveserver2服务都需要启动 
执行下面命令 
bin/hive --service metastore 
bin/hiveserver2 
除此之外,还需要关闭的hive的SAL认证,否则,使用hue访问会出现问题。 
注意下面三项的配置 

  1. <property> 
  2.   <name>hive.metastore.warehouse.dir</name> 
  3.   <value>/user/hive/warehouse</value> 
  4.   <description>location of default database for the warehouse</description> 
  5. </property> 
  6. <property> 
  7.   <name>hive.server2.thrift.port</name> 
  8.   <value>10000</value> 
  9.   <description>Port number of HiveServer2 Thrift interface. 
  10.   Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description> 
  11. </property> 
  12.  
  13. <property> 
  14.   <name>hive.server2.thrift.bind.host</name> 
  15.   <value>h1</value> 
  16.   <description>Bind host on which to run the HiveServer2 Thrift interface. 
  17.   Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description> 
  18. </property> 
  19.  
  20. <property> 
  21.   <name>hive.server2.authentication</name> 
  22.   <value>NOSASL</value> 
  23.   <description> 
  24.     Client authentication types. 
  25.        NONE: no authentication check 
  26.        LDAP: LDAP/AD based authentication 
  27.        KERBEROS: Kerberos/GSSAPI authentication 
  28.        CUSTOM: Custom authentication provider 
  29.                (Use with property hive.server2.custom.authentication.class) 
  30.        PAM: Pluggable authentication module. 
  31.   </description> 
  32. </property> 




除了上面的配置外,还需要把hive.server2.long.polling.timeout的参数值,默认是5000L给改成5000,否则使用beenline连接时候,会出错,这是hive的一个bug。 



pig的界面: 


solr的界面如下: 



最后需要注意一点,hue也需要在hadoop的core-site.xml里面配置相应的代理用户,示例如下: 

  1. <property> 
  2.       <name>hadoop.proxyuser.hue.hosts</name> 
  3.      <value>*</value> 
  4.  </property> 
  5.  
  6.  
  7.    <property> 
  8.      <name>hadoop.proxyuser.hue.groups</name> 
  9.      <value>*</value> 
  10.     </property> 

ok至此,我们的hue已经能完美工作了,我们可以根据自己的需要,定制相应的app插件,非常灵活! 

相关内容