Apache Hueの構成

ノート

Apache Hueがすでにクラスタ・ノードにインストールされ、構成されているバージョン3.0.7以降のビッグ・データ・サービス・クラスタの場合、このステップをスキップしてください。

このセクションでは、セキュアでないクラスタまたはセキュアなクラスタに対して Apache Hueを構成する手順について説明します。

セキュアでないクラスタに対するApache Hueの構成

  1. 次のコマンドを実行して、Apache Hueのユーザーhueを作成します:
    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. 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. hue.iniファイルを編集し、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)
      
    • サーバーの起動時にロードしないサービスのリスト
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
  4. 新しいファイルを開き、pseudo-distributed.iniという名前付けを付け、次のセクションを追加します:
    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. 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の構成

  1. 次のコマンドを実行して、Apache Hueのユーザーhueを作成します:
    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. 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. クラスタに関連付けられたパブリックIPおよび秘密キーを使用して、マスター・ノードにSSH接続します。
    ssh opc@<masternode0_hostname/private_ip>
  4. kadminにログオンします。
    sudo kadmin.local
  5. Hueサーバーのプリンシパルを作成し、FQDNをHueがインストールされているユーティリティ・ノードの完全修飾ドメイン名に置き換えます。
    addprinc -randkey -maxrenewlife 90day +allow_renewable hue/<FQDN>
    xst -k hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
  6. ユーティリティ・ノードへのkeytabのコピーを有効にする権限を更新します。
    sudo chmod 777 hue.service.keytab
    exit
  7. keytabファイルをコピーし、適切な権限および所有権を設定します。
    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. kinitをテストしてkeytabにアクセスできることを確認し、キャッシュされた資格証明をコピーして後でhue構成でKerberosを設定します。
    sudo su - hue
    kinit -k -t /etc/security/keytabs/hue.service.keytab hue/<FQDN>@BDACLOUDSERVICE.ORACLE.COM
    exit
    
  9. hue.iniファイルを編集し、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)
      
    • サーバーの起動時にロードしないサービスのリスト
      [desktop]
      
      # Comma separated list of apps to not load at server startup.
      # e.g.: pig,zookeeper
      app_blacklist=impala,security
      
    • 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. 新しいファイルを開き、pseudo-distributed.iniという名前付けを付け、次のセクションを追加します:
    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. Hiveの権限を更新します。
  12. Ambari UIの「HDFS」で、「Summary」に移動します。ページの右側にあるセクションで、mn0ホストが「Active」に設定されていることを確認します。そうでない場合は、ビッグ・データ・サービス・クラスタ・コンソールからmn1ノードを再起動します。
  13. 次のコマンドを実行して、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. :wqコマンドで保存して終了します。