安装和配置Hue

本文主要记录使用 yum 源安装 Hue 以及配置 Hue 集成 Hdfs、Hive、Impala、Yarn、Kerberos、LDAP、Sentry、Solr 等的过程。

安装环境:

  • 操作系统:CentOs6.5
  • Hadoop:cdh5.2.0
  • Hue:3.6.0+cdh5.2.0

安装 Hue

在 Hadoop 集群的一个节点上安装 Hue server,这里我是在我的测试集群中的 cdh1 节点上安装:

$ yum install hue hue-server

配置 Hue

配置hue server

[desktop]
    http_host=cdh1
    http_port=8888
    secret_key=qpbdxoewsqlkhztybvfidtvwekftusgdlofbcfghaswuicmqp
    time_zone=Asia/Shanghai

如果想配置 SSL,则添加下面设置:

ssl_certificate=/path/to/certificate
ssl_private_key=/path/to/key

并使用下面命令生成证书:

# Create a key
$ openssl genrsa 1024 > host.key
# Create a self-signed certificate
$ openssl req -new -x509 -nodes -sha1 -key host.key > host.cert

配置 DB Query

DB Query 的相关配置在 hue.ini 中 databases 节点下面,目前共支持 sqlite, mysql, postgresql 和 oracle 四种数据库,默认使用的是 sqlite 数据库,你可以按自己的需要修改为其他的数据库。

[[database]]
    engine=sqlite3
    name=/var/lib/hue/desktop.db

配置 Hadoop 参数

HDFS 集群配置

在 hadoop.hdfs_clusters.default 节点下配置以下参数:

  • fs_defaultfs
  • logical_name: NameNode 逻辑名称
  • webhdfs_url
  • security_enabled:是否开启 Kerberos
  • hadoop_conf_dir: hadoop 配置文件路径

完整配置如下:

[hadoop]
  [[hdfs_clusters]]
    [[[default]]]
      # Enter the filesystem uri
      fs_defaultfs=hdfs://mycluster

      # NameNode logical name.
      logical_name=mycluster

      # Use WebHdfs/HttpFs as the communication mechanism.
      # Domain should be the NameNode or HttpFs host.
      # Default port is 14000 for HttpFs.
      ## webhdfs_url=http://localhost:50070/webhdfs/v1
      webhdfs_url=http://cdh1:14000/webhdfs/v1

      # Change this if your HDFS cluster is Kerberos-secured
      security_enabled=true

      hadoop_conf_dir=/etc/hadoop/conf

配置 WebHDFS 或者 HttpFS

Hue 可以通过下面两种方式访问 Hdfs 中的数据:

  • WebHDFS:提供高速的数据传输,客户端直接和 DataNode 交互
  • HttpFS:一个代理服务,方便与集群外部的系统集成

两者都支持 HTTP REST API,但是 Hue 只能配置其中一种方式;对于 HDFS HA部署方式,只能使用 HttpFS。

  • 1、对于 WebHDFS 方式,在每个节点上的 hdfs-site.xml 文件添加如下配置并重启服务:

<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>
  • 2、 配置 Hue 为其他用户和组的代理用户。对于 WebHDFS 方式,在 core-site.xml 添加:

<!-- Hue WebHDFS proxy user setting -->
<property>
  <name>hadoop.proxyuser.hue.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hue.groups</name>
  <value>*</value>
</property>

对于 HttpFS 方式,在 /etc/hadoop-httpfs/conf/httpfs-site.xml 中添加下面配置并重启 HttpFS 进程:

<!-- Hue HttpFS proxy user setting -->
<property>
  <name>httpfs.proxyuser.hue.hosts</name>
  <value>*</value>
</property>
<property>
  <name>httpfs.proxyuser.hue.groups</name>
  <value>*</value>
</property>

对于 HttpFS 方式,在 core-site.xml 中添加下面配置并重启 hadoop 服务:

<property>
    <name>hadoop.proxyuser.httpfs.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.httpfs.groups</name>
    <value>*</value>
</property>
  • 3、修改 /etc/hue/conf/hue.ini 中 hadoop.hdfs_clusters.default.webhdfs_url 属性。

对于 WebHDFS:

webhdfs_url=http://cdh1:50070/webhdfs/v1/

对于 HttpFS:

webhdfs_url=http://cdh1:14000/webhdfs/v1/

YARN 集群配置

在 hadoop.yarn_clusters.default 节点下配置:

[hadoop]
  [[yarn_clusters]]
    [[[default]]]
        resourcemanager_host=cdh1
        resourcemanager_port=8032
        submit_to=True
        security_enabled=true
        resourcemanager_api_url=http://cdh1:8088
        proxy_api_url=http://cdh1:8088
        history_server_api_url=http://cdh1:19888

集成 Hive

在 beeswax 节点下配置:

[beeswax]
    hive_server_host=cdh1
    hive_server_port=10000
    hive_conf_dir=/etc/hive/conf

这里是配置为连接一个 Hive Server2 节点,如有需要可以配置负载均衡,连接一个负载节点。

集成 Impala

在 impala 节点下配置

[impala]
  # Host of the Impala Server (one of the Impalad)
  server_host=cdh1

  # Port of the Impala Server
  server_port=21050

  # Kerberos principal
  impala_principal=impala/cdh1@JAVACHEN.COM

  # Turn on/off impersonation mechanism when talking to Impala
  impersonation_enabled=True

这里是配置为连接一个 Impala Server 节点,如有需要可以配置负载均衡,连接一个负载节点。

参考 Configuring Per-User Access for Hue 和 Use the Impala App with Sentry for real security,在配置 impersonation_enabled 为 true 的情况下,还需要在 impalad 的启动参数中添加 authorized_proxy_user_config 参数,修改 /etc/default/impala中的 IMPALA_SERVER_ARGS 添加下面一行:

-authorized_proxy_user_config=hue=*  \

另外,如果集群开启了 Kerberos,别忘了配置 impala_principal 参数。

集成 kerberos

首先,需要在 kerberos server 节点上生成 hue 用户的凭证,并将其拷贝到 /etc/hue/conf 目录。:

$ kadmin: addprinc -randkey hue/cdh1@JAVACHEN.COM
$ kadmin: xst -k hue.keytab hue/cdh1@JAVACHEN.COM

$ cp hue.keytab /etc/hue/conf/

然后,修改 hue.ini 中 kerberos 节点:

[[kerberos]]
    # Path to Hue's Kerberos keytab file
    hue_keytab=/etc/hue/conf/hue.keytab

    # Kerberos principal name for Hue
    hue_principal=hue/cdh1@JAVACHEN.COM

    # Path to kinit
    kinit_path=/usr/bin/kinit

接下来,修改 /etc/hadoop/conf/core-site.xml,添加:

<!--hue kerberos-->
<property>
    <name>hadoop.proxyuser.hue.groups</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hue.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hue.kerberos.principal.shortname</name>
    <value>hue</value>
</property>

最后,重启 hadoop 服务。

集成 LDAP

开启 ldap 验证,使用 ldap 用户登录 hue server,修改 auth 节点:

[desktop]
    [[auth]]
        backend=desktop.auth.backend.LdapBackend

另外修改 ldap 节点:

[desktop]
    [[ldap]]
        base_dn="dc=javachen,dc=com"
        ldap_url=ldap://cdh1

        # ldap用户登陆时自动在hue创建用户
        create_users_on_login = true

        # 开启direct bind mechanism
        search_bind_authentication=false

        # ldap登陆用户的模板,username运行时被替换
        ldap_username_pattern="uid=<username>,ou=people,dc=javachen,dc=com"

注意:在开启ldap验证前,先普通方法创建一个ldap存在的用户,赋超级用户权限,否则无法管理hue用户。

集成 Sentry

如果 hive 和 impala 中集成了 Sentry,则需要修改 hue.ini 中的 libsentry 节点:

[libsentry]
  # Hostname or IP of server.
  hostname=cdh1

  # Port the sentry service is running on.
  port=8038

  # Sentry configuration directory, where sentry-site.xml is located.
  sentry_conf_dir=/etc/sentry/conf

另外,修改 /etc/sentry/conf/sentry-store-site.xml 确保 hue 用户可以连接 sentry:

<property>
  <name>sentry.service.allow.connect</name>
  <value>impala,hive,solr,hue</value>
</property>

集成 Sqoop2

在 sqoop 节点配置 server_url 参数为 sqoop2 的地址即可。

集成 HBase

在 hbase 节点配置下面参数:

  • truncate_limit:Hard limit of rows or columns per row fetched before truncating.
  • hbase_clusters:HBase Thrift 服务列表,例如:Cluster1|cdh1:9090,Cluster2|cdh2:9090,默认为:Cluster|localhost:9090

集成 Zookeeper

在 zookeeper 节点配置下面两个参数:

  • host_ports:zookeeper 节点列表,例如:localhost:2181,localhost:2182,localhost:2183
  • rest_url:zookeeper 的 REST 接口,默认值为 http://localhost:9998

集成 Oozie

未使用,暂不记录。

管理 Hue

如果配置了 kerberos,则先获取 hue 凭证:

kinit -k -t /etc/hue/conf/hue.keytab hue/cdh1@JAVACHEN.COM

启动 hue server:

$ service hue start

停止 hue server:

$ service hue stop

hue server 默认使用 8888 作为 web 访问端口,故需要在防火墙上开放该端口。

你可以在 /var/log/hue 目录查看 hue 的日志,或者通过 http://cdh1:8888/logs 查看。

测试

在开启了 LDAP 后,使用 LDAP 中的管理员用户登录 hue,根据提示向导进行设置并将 LDAP 中的用户同步到 Hue Server,然后依次测试每一个功能是否运行正常。

关于 Hue 的使用向导,请参考 http://archive.cloudera.com/cdh5/cdh/5/hue/user-guide/index.html

Enjoy it !

时间: 2025-01-02 13:59:39

安装和配置Hue的相关文章

安装和配置Sentry

本文主要记录安装和配置Sentry的过程,关于Sentry的介绍,请参考Apache Sentry架构介绍. 1. 环境说明 系统环境: 操作系统:CentOs 6.6 Hadoop版本:CDH5.4 运行用户:root 这里,我参考使用yum安装CDH Hadoop集群一文搭建了一个测试集群,并选择cdh1节点来安装sentry服务. 2. 安装 在cdh1节点上运行下面命令查看Sentry的相关组件有哪些: $ yum list sentry* sentry.noarch 1.4.0+cdh

vcenter5.5无AD下的安装与配置

公司现在的虚拟化使用的基本上都是vsphere,目前大约有7台物理机,为了更好的管理虚拟机打算上vcenter. 下面就把vcenter的安装与配置记录下,在此vcenter版本为5.5,而且没有使用单独的数据库和AD域控制. vcenter安装相关的软件包如下: 上图中VMware-viclient-all-5.5.0-1281650为客户端安装文件,VMware-VIMSetup-all-5.5.0-1312299.iso为vcenter安装文件,VMware-VMvisor-Install

第1章 开发环境安装和配置(一):概述

原文 第1章 开发环境安装和配置(一):概述 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上[网上找的介绍,不必在意]. 用C#开发手机应用程序,建议首选VS2015,这是因为VS2015内置的是C# 6.0,很多原来实现起来比较繁琐的操作,在VS2015下也都变得非常简单了. 1.跨平台移动应用开发 VS2015的移动跨平台采用Xamarin架构,这让原本就熟悉Visual Studio的开发者不用再熟悉其他的开发工具就能直接开发

Android Studio(一):介绍、安装、配置

Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Android Studio编码 Android Studio(四):Android Studio集成Genymotion Android Studio(五):修改Android Studio项目包名 Android Studio(六):Android Studio添加注释模板 Android Studio

zabbix3.0安装与配置

这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置的文章写下来. 其实zabbix3.0的安装很简单,但是由于个人比较懒,所以一直不喜欢使用源码方式进行安装,而且管理的服务器多了,源码安装也感觉不方便,所以现在大部分安装软件我都会首先选择yum或者apt-get方式进行. 本篇文章,我也不多介绍zabbix3.0安装的详细步骤了,只列出centos.ubuntu下zabbix3.0的相关安装命令以及zabbix的基本配置. zabbix3.0对OS的要求:m

Postfix邮件服务器搭建之roundcube webmail安装与配置

前几篇文章,我们介绍了有关postfix的相关安装与配置,这篇文章我们再来介绍下,在web下管理postfix的软件roundcube webmail. 注意:本篇文章所需的基础环境都是根据<烂泥:Postfix邮件服务器搭建之准备工作>这篇文章准备的. 一.下载roundcube webmail软件包 要安装roundcube webmail,我们先要下载roundcube webmail,如下: wgethttp://jaist.dl.sourceforge.net/project/rou

Postfix邮件服务器搭建之软件安装与配置

Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postfix.dovecot.postfixadmin.roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器. PS:本次实验在centos6.5 64bit上进行. 一.软件功能介绍 cyrus-sasl.postfix.dovecot.postfixadmin.roundcubemail,这五款软件,分别有各自的功能.下面就分别一一介绍各自的功能. 1.1 cyrus-sasl功能介绍

git教程(二)--安装和配置git

转载:http://blog.csdn.net/gatieme/article/details/50586476 前言 GIT跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库.可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支等.对一些人来说,这好像没多大用处,但当你突然遇到没有网络的

背景建模技术(八):bgslibrary_vs2010_mfc中boost的安装与配置

一.boost的下载与安装 在玩BGS Library时,有一个MFC的项目,在编译的过程中出现如下图的错误提示: 即: 1>e:\bgslibrary-master\vs2010mfc\src\stdafx.h(50): fatal error C1083: Cannot open include file: 'boost/lexical_cast.hpp': No such file or directory 根本原因在于没有安装和配置boost,下面对bgslibrary_vs2010_m