Apache Hue konfigurieren

Hinweis

Überspringen Sie diesen Schritt für Big Data Service-Cluster mit Version 3.0.7 oder höher, da Apache Hue bereits installiert und auf den Cluster-Knoten konfiguriert ist.

In diesem Abschnitt wird beschrieben, wie Sie Apache Hue für ein nicht sicheres oder sicheres Cluster konfigurieren.

Apache Hue für ein Nonsecure-Cluster konfigurieren

  1. Erstellen Sie einen Benutzer hue für Apache Hue, indem Sie die folgenden Befehle ausführen:
    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. Führen Sie die folgenden Anweisungen in der MySQL-Schnittstelle aus:
    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. Bearbeiten Sie die Datei hue.ini, und aktualisieren Sie die Abschnitte für die Services, die Sie mit Hue verwenden möchten.
    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 der Services, die beim Hochfahren des Servers nicht geladen werden dürfen
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
  4. Öffnen Sie eine neue Datei, nennen Sie sie pseudo-distributed.ini, und fügen Sie die folgenden Abschnitte hinzu:
    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. Aktualisieren Sie die Berechtigungen für 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 &
    

Apache Hue für ein sicheres Cluster konfigurieren

  1. Erstellen Sie einen Benutzer hue für Apache Hue, indem Sie die folgenden Befehle ausführen:
    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. Führen Sie die folgenden Anweisungen in der MySQL-Schnittstelle aus:
    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. Stellen Sie mit der öffentlichen IP-Adresse und dem mit dem Cluster verknüpften Private Key eine SSH-Verbindung zum Masterknoten her.
    ssh opc@<masternode0_hostname/private_ip>
  4. Melden Sie sich bei kadmin an.
    sudo kadmin.local
  5. Erstellen Sie einen Principal für den Hue-Server, und ersetzen Sie den FQDN durch den vollqualifizierten Domainnamen des Utilityknotens, auf dem Hue installiert ist.
    addprinc -randkey -maxrenewlife 90day +allow_renewable hue/<FQDN>
    xst -k hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
  6. Aktualisieren Sie die Berechtigungen, um das Kopieren der Keytab auf den Utilityknoten zu aktivieren.
    sudo chmod 777 hue.service.keytab
    exit
  7. Kopieren Sie die Keytab-Datei, und legen Sie die entsprechenden Berechtigungen und den Eigentümer fest.
    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. Stellen Sie sicher, dass auf die Keytab zugegriffen werden kann, indem Sie kinit testen und die zwischengespeicherten Zugangsdaten kopieren, um Kerberos später in der Hue-Konfiguration einzurichten.
    sudo su - hue
    kinit -k -t /etc/security/keytabs/hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
    
  9. Bearbeiten sie die Datei hue.ini, und aktualisieren sie die Abschnitte für die Services, die Sie mit Hue verwenden möchten.
    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 der Services, die beim Hochfahren des Servers nicht geladen werden dürfen
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
    • Kerberos-Einstellungen
      [[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. Öffnen Sie eine neue Datei, nennen Sie sie pseudo-distributed.ini, und fügen Sie die folgenden Abschnitte hinzu:
    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. Aktualisieren Sie die Berechtigungen für Hive.
  12. Gehen Sie auf der Ambari-UI unter HDFS zu Summary. Stellen Sie sicher, dass der mn0-Host im Abschnitt auf der rechten Seite auf Active gesetzt ist. Wenn dies nicht der Fall ist, starten Sie den Knoten mn1 über die Clusterkonsole von Big Data Service neu.
  13. Führen Sie die folgenden Befehle aus, um Apache Hue zu starten:
    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. Speichern und schließen Sie den Vorgang mit dem Befehl :wq.