安装

迁移数据库

Hue的默认元数据库是sqlite,容易产生 database is locked 的异常,一般把mysql作为其元数据库

  1. 修改默认配置文件hue.ini ```

[[database]] engine=mysql //数据引擎类型 host=hdpc05 //数据服务主机 port=3306 //端口号
user=root //用户名 password=123456 //密码 name=hue //数据库名称

  1. 2. 迁移数据
  2. hue的根目录下,运行

./build/env/bin/hue syncdb ./build/env/bin/hue migrate

  1. 最后一步迁移数据,执行过程比较久
  2. <a name="eXEBJ"></a>
  3. # 登陆
  4. Hue无法在root下运行,所以需要先在Hue 安装的服务器添加Hue 的登录账户
  5. ```shell
  6. useradd admin
  7. passwd admin
  8. chown -R admin /opt/module/hue
  9. ./build/env/bin/supervisor

如果需要添加Hue 的登录用户,在服务器端新建用户和密码后,执行如下命令将登录用户信息写入Hue 元数据库

  1. build/env/bin/hue useradmin_sync_with_unix

HDFS

  1. 修改Hadoop 集群的hdfs-site.xml

    1. <property>
    2.   <name>dfs.webhdfs.enabled</name>
    3.   <value>true</value>
    4. </property>
  2. 修改core-site.xml,重启集群

    1. <!--admin 为Hue的登录用户-->
    2. <property>
    3.   <name>hadoop.proxyuser.admin.hosts</name>
    4.   <value>*</value>
    5. </property>
    6. <property>
    7.   <name>hadoop.proxyuser.admin.groups</name>
    8.   <value>*</value>
    9. </property>
  3. 配置hue 的配置文件hue.ini

    1. # node01是Hadoop集群NameNode端口,这些配置可见Hadoop的core-site.xml
    2. fs_defaultfs=hdfs://node01:8020
    3. webhdfs_url=http://node01:50070/webhdfs/v1
    4. hadoop_conf_dir=/opt/module/hadoop-2.7.7/etc/hadoop

    YARN

    配置hue.ini

    1. resourcemanager_host=node01
    2. resourcemanager_port=8032
    3. submit_to=True
    4. resourcemanager_api_url=http://node01:8088
    5. proxy_api_url=http://node01:8088
    6. history_server_api_url=http://node01:19888

    Hive

  4. 保证hiveserver2 已启动,具体操作见Hive 安装部署

  5. 配置hue.ini

    1. hive_server_host=node01
    2. hive_server_port=10000
    3. hive_conf_dir=/opt/module/hive-2.3.6/conf

    HBase

    1. [hbase]
    2. hbase_clusters=(Hbase|node01:9090)
    3. hbase_conf_dir=/opt/module/hbase-2.3.6/conf
    4. thrift_transport=buffered

    RDBMS

    1. [[databases]]
    2. [[[mysql]]]
    3. nice_name="My SQL DB"
    4. name=hue
    5. engine=mysql
    6. host=node01
    7. port=3306
    8. user=root
    9. password=123456

    问题

  6. database is locked

迁移数据库

  1. 执行 ./build/env/bin/hue syncdb 出错: ImportError: libmysqlclient_r.so.18: cannot open shared object file

发现是libmysqlclient_r.so.18 缺失,去找相应的文件并没有找到,只在目录下找到了 libmysqlclient_r.so.20 ,发现是兼容性问题,下载对应 mysql 版本的lib包,安装即可解决

  1. wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm

lib包可以到pkgs.org找,wget下载即可

  1. Hue的web界面报错: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

    1. yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
  2. 更换元数据库时,执行./build/env/bin/hue syncdb 出错: Unknown database '/opt/module/hue/desktop/desktop.db'

hue的配置文件 hue.ini (个人命名的配置文件,因人各异), [[database]] 下把name指定为mysql的数据库

  1. [[database]]
  2. name=hue
  1. you are a Hue admin but not a HDFS superuser, "hdfs" or part of HDFS supergroup

默认的超级用户是hdfs ,我的是admin用户登录的, 也就是说首次登录admin这个用户是我的超级用户
此时只需要将hue.ini配置改为

  1. default_hdfs_superuser=admin
  1. Cannot access: /user/flume/.403 Client Error: Forbidden for url: http://node01:14000/webhdfs/v1/user/flume

参考

  1. 解决libmysqlclient.so.18缺失问题
  2. 配置HUE 遇到Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found
  3. hue使用mysql作为元数据库