Configuration d'Apache Hue

Note

Ignorez cette étape pour les grappes du service de mégadonnées version 3.0.7 ou ultérieure, car Apache Hue est déjà installé et configuré dans les noeuds de grappe.

Cette section décrit en détail la procédure de configuration d'Apache Hue pour une grappe non sécurisée ou sécurisée.

Configuration d'Apache Hue pour une grappe sans sécurité

  1. Créez un utilisateur hue pour Apache Hue en exécutant les commandes suivantes :
    sudo useradd -u 54336 hue
    sudo chown -R hue:hue /usr/local/hue
    sudo su - hdfs -c "hdfs dfs -mkdir /user/hue"
    sudo su - hdfs -c "hdfs dfs -chown hue:hadoop /user/hue"
    sudo su - hdfs -c "hdfs dfs -chmod 755 /user/hue"
    sudo mysql -u root
  2. Exécutez les énoncés suivants dans l'interface MySQL :
    create database desktop;
    grant all privileges on *.* to 'hue'@'localhost ';
    grant all on hue.* to 'hue'@'localhost';
    alter user 'hue'@'localhost' identified by 'secretpassword';
    flush privileges;
    exit
  3. Modifiez le fichier hue.ini et mettez à jour les sections des services que vous voulez utiliser avec Hue.
    sudo vim /usr/local/hue/desktop/conf/hue.ini
    • MySQL
      [[database]]
      # Database engine is typically one of:
      # postgresql_psycopg2, mysql, sqlite3 or oracle.
      
      engine=mysql
      host=localhost
      port=3306
      user=hue
      password=secretpassword
      name=desktop
      
    • HDFS
      [[hdfs_clusters]]
      	[[[default]]]
      	# Enter the filesystem uri
      	fs_defaultfs=hdfs://<master_node_fully_qualified_hostname>:8020
      
      	# Use WebHdfs/HttpFs as the communication mechanism.
      	# Domain should be the NameNode or HttpFs host.
      	# Default port is 14000 for HttpFs.
      
           webhdfs_url=http://<master_node_fully_qualified_hostname>:50070/webhdfs/v1
      
    • YARN
      [[yarn_clusters]]
      
          [[[default]]]
           # Enter the host on which you are running the ResourceManager
           resourcemanager_host=<master_node_fully_qualified_hostname>    
      
           # The port where the ResourceManager IPC listens on
           resourcemanager_port=8050
      
           # URL of the ResourceManager API
           resourcemanager_api_url=http://<master_node_fully_qualified_hostname>:8088
      
           # Whether to submit jobs to this cluster
           submit_to=True
      
           # URL of the ProxyServer API
           proxy_api_url=http://<master_node_fully_qualified_hostname>:8088
      
           # URL of the HistoryServer API
           history_server_api_url=http://<utility_node_fully_qualified_hostname>:19888
      
           # URL of the spark history server
           spark_history_server_url=http://<master_node_fully_qualified_hostname>:18081
      
    • Oozie
      [liboozie]
      # The URL where the Oozie service runs on.
      oozie_url=http://<utility_node_fully_qualified_hostname>:11000/oozie
      
    • Hive
      [beeswax]
      
      # Host where HiveServer2 is running.
      hive_server_host=<utility_node_fully_qualified_hostname>
      
      # Http thrift port for HiveServer2.
      hive_server_http_port=10002
      
      # Use SASL framework to establish connection to host.
      use_sasl=true
      
    • HBase
      [hbase]
      
      # Comma-separated list of HBase Thrift server 1 for clusters in the format of '(name|host:port)'.
      hbase_clusters=(Cluster|<master_node_fully_qualified_hostname>:9090)
      
    • Liste des services qui ne doivent pas être chargés au démarrage du serveur
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
  4. Ouvrez un nouveau fichier, nommez-le pseudo-distributed.ini, puis ajoutez les sections suivantes :
    sudo vim /usr/local/hue/desktop/conf/pseudo-distributed.ini
    [beeswax]
    
    max_number_of_sessions=-1
    [[hdfs_clusters]]
        # HA support by using HttpFs
    
        [[[default]]]
          # Enter the filesystem uri
          fs_defaultfs=hdfs://<master_node_fully_qualified _hostname>:8020
    
          webhdfs_url=http://<master_node_fully_qualified_hostname>:50070/webhdfs/v1
    [[yarn_clusters]]
    
    resourcemanager_api_url=http://<master_node_fully_qualified_hostname>:8088
    8088
  5. Mettez à jour les autorisations pour Hive.
    sudo chmod -R 777 /etc/hive
    sudo su - hue
    cd /usr/local/hue/build/env/bin/
    ./hue syncdb --noinput
    ./hue migrate
    nohup ./hue runcpserver &
    

Configurer Apache Hue pour une grappe sécurisée

  1. Créez un utilisateur hue pour Apache Hue en exécutant les commandes suivantes :
    sudo useradd -u 54336 hue
    sudo chown -R hue:hue /usr/local/hue
    sudo su - hdfs -c "hdfs dfs -mkdir /user/hue"
    sudo su - hdfs -c "hdfs dfs -chown hue:hadoop /user/hue"
    sudo su - hdfs -c "hdfs dfs -chmod 755 /user/hue"
    sudo mysql -u root
  2. Exécutez les énoncés suivants dans l'interface MySQL :
    create database desktop;
    grant all privileges on *.* to 'hue'@'localhost ';
    grant all on hue.* to 'hue'@'localhost';
    alter user 'hue'@'localhost' identified by 'secretpassword';
    flush privileges;
    exit
  3. Accédez par SSH au noeud principal à l'aide de l'adresse IP publique et de la clé privée associées à la grappe.
    ssh opc@<masternode0_hostname/private_ip>
  4. Connectez-vous en tant que kadmin.
    sudo kadmin.local
  5. Créez un principal pour le serveur Hue et remplacez le nom de domaine complet par celui du noeud d'utilitaire où Hue est installé.
    addprinc -randkey -maxrenewlife 90day +allow_renewable hue/<FQDN>
    xst -k hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
  6. Mettez à jour les autorisations pour permettre la copie du fichier keytab vers le noeud d'utilitaire.
    sudo chmod 777 hue.service.keytab
    exit
  7. Copiez le fichier keytab et définissez les autorisations et la propriété appropriées.
    sudo scp opc@<master_node0_hostname>:~/hue.service.keytab
    /etc/security/keytabs/hue.service.keytab
    sudo chown hue:hadoop /etc/security/keytabs/hue.service.keytab
    sudo chmod 600 /etc/security/keytabs/hue.service.keytab
    
  8. Assurez-vous que le fichier keytab est accessible en testant kinit et copiez les données d'identification mises en cache pour configurer Kerberos dans hue config plus tard.
    sudo su - hue
    kinit -k -t /etc/security/keytabs/hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
    
  9. Modifiez le fichier hue.ini et mettez à jour les sections des services que vous voulez utiliser avec Hue.
    sudo vim /usr/local/hue/desktop/conf/hue.ini
    • MySQL
      [[database]]
      # Database engine is typically one of:
      # postgresql_psycopg2, mysql, sqlite3 or oracle.
      
      engine=mysql
      host=localhost
      port=3306
      user=hue
      password=secretpassword
      name=desktop
      
    • HDFS
      [[hdfs_clusters]]
      	[[[default]]]
      	# Enter the filesystem uri
      	fs_defaultfs=hdfs://<master_node_0_fully_qualified_hostname>:8020
      
      	# Use WebHdfs/HttpFs as the communication mechanism.
      	# Domain should be the NameNode or HttpFs host.
      	# Default port is 14000 for HttpFs.
      
           webhdfs_url=http://<master_node_0_fully_qualified_hostname>:50070/webhdfs/v1
      
        # Change this if your YARN cluster is Kerberos-secured
        security_enabled=true
      
    • YARN
      [[yarn_clusters]]
      
          [[[default]]]
           # Enter the host on which you are running the ResourceManager
           resourcemanager_host=<master_node_0_fully_qualified_hostname>     
           # URL of the ResourceManager API
           resourcemanager_api_url=http://<master_node_0_fully_qualified_hostname>:8088
      
           # Whether to submit jobs to this cluster
           submit_to=True
      
           # URL of the ProxyServer API
           proxy_api_url=http://<master_node_0_fully_qualified_hostname>:8088
      
           # URL of the HistoryServer API
           history_server_api_url=http://<master_node_1_hostname>:19888
      
           # URL of the spark history server
           spark_history_server_url=http://<master_node_fully_qualified_hostname>:18081
      
      
      	   # Change this if your YARN cluster is Kerberos-secured
           security_enabled=true
      
    • Oozie
      [liboozie]
      # The URL where the Oozie service runs on.
      oozie_url=http://<utility_node_fully_qualified_hostname>:11000/oozie
      
      # Change this if your YARN cluster is Kerberos-secured
      security_enabled=true
      
    • Hive
      [beeswax]
      
      # Host where HiveServer2 is running.
      hive_server_host=<utility_node_fully_qualified_hostname>
      
      # Http thrift port for HiveServer2.
      hive_server_http_port=10002
      
      # Use SASL framework to establish connection to host.
      use_sasl=true
      
    • HBase
      [hbase]
      
      # Comma-separated list of HBase Thrift server 1 for clusters in the format of '(name|host:port)'.
      hbase_clusters=(Cluster|<master_node_0_fully_qualified_hostname>:9090)
      
    • Liste des services qui ne doivent pas être chargés au démarrage du serveur
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
    • Paramètres Kerberos
      [[kerberos]]
        # Path to Hue's Kerberos keytab file
      	hue_keytab=/etc/security/keytabs/hue.service.keytab
      	# Kerberos principal name for Hue
      	hue_principal=hue/<utility_node_hostname>@BDACLOUDSERVICE.ORACLE.COM
        kinit_path=/usr/bin/kinit
        ccache_path=/tmp/krb5cc_54366
      
  10. Ouvrez un nouveau fichier, nommez-le pseudo-distributed.ini, puis ajoutez les sections suivantes :
    sudo vim /usr/local/hue/desktop/conf/pseudo-distributed.ini
    
    [beeswax]
    
    max_number_of_sessions=-1
    [[hdfs_clusters]]
        # HA support by using HttpFs
    
        [[[default]]]
          # Enter the filesystem uri
          fs_defaultfs=hdfs://<master_node_fully_qualified_hostname>:8020
    
          webhdfs_url=http://<master_node_fully_qualified_hostname>:50070/webhdfs/v1
    [[yarn_clusters]]
    
    resourcemanager_api_url=http://<master_node_fully_qualified_hostname>:8088
    
  11. Mettez à jour les autorisations pour Hive.
  12. Dans l'interface utilisateur d'Ambari, sous HDFS, allez à Summary (Sommaire). Assurez-vous que l'hôte mn0 est réglé à Active (Actif) dans la section à droite de la page. Sinon, redémarrez le noeud mn1 à partir de la console de la grappe du service de mégadonnées.
  13. Exécutez les commandes suivantes pour démarrer Apache Hue :
    sudo chmod -R 777 /etc/hive
    sudo su - hue
    cd /usr/local/hue/build/env/bin/
    ./hue syncdb --noinput
    ./hue migrate
    nohup ./hue runcpserver &
    crontab -e
    0 */12 * * * cd /usr/local/hue/build/env/bin ; ./hue kt_renewer &
  14. Enregistrer et quitter avec la commande :wq.