Hue CLI Operation

本文主要介绍一些Hue的命令操作,如通过命令行重置用户密码、创建超级用户、同步Linux用户、更换Hue元数据存储位置等

设置用户信息

命令重置用户密码

1
$ {HUE_HOME}/build/env/bin/hue changepassword username

shell修改用户密码

1
2
3
4
5
$ {HUE_HOME}/build/env/bin/hue shell
>>from django.contrib.auth.models import User
>>user = User.objects.get(username='test')
>>user.set_password('123456')
>>user.save()

Hue shell亦可导入脚本批量修改用户密码,如创建脚本script.py,执行如下命令

1
$ {HUE_HOME}/build/env/bin/hue shell < script.py

script.py内容

1
2
3
4
5
6
7
from django.contrib.auth.models import User
user = User.objects.get(username='test')
user.set_password('123456a')
user.save()
user = User.objects.get(username='test1')
user.set_password('123456b')
user.save()

shell删除用户

1
2
3
4
$ {HUE_HOME}/build/env/bin/hue shell
>>from django.contrib.auth.models import User
>>user = User.objects.get(username='test')
>>user.delete()

设置超级用户

命令方式设置

1
$ {HUE_HOME}/build/env/bin/hue createsuperuser

Shell方式设置

1
2
3
4
5
6
7
$ {HUE_HOME}/build/env/bin/hue shell
>>from django.contrib.auth.models import User
>>user = User.objects.get(username='hdfs')
>>user.is_staff = True
>>user.is_superuser = True
>>user.set_password('hdfs')
>>user.save()

同步系统用户

同步当前操作系统中存在的用户到Hue,但同步到Hue中的用户没有密码,需要通过超级管理员手动设置。注:Hue不能自动同步系统上存在的用户,所以每次系统新增用户时需执行同步用户。

1
$ {HUE_HOME}/build/env/bin/hue useradmin_sync_with_unix

可选参数:

1
2
3
4
5
--min-uid=MIN_UID Minimum UID to import (Inclusive).
--max-uid=MAX_UID Maximum UID to import (Exclusive).
--min-gid=MIN_GID Minimum GID to import (Inclusive).
--max-gid=MAX_GID Maximum GID to import (Exclusive).
--check-shell=CHECK_SHELL Whether or not to check that the user's shell is not /bin/false.

元数据存储

简介

默认情况下,Hue的元数据是存储到SQLite数据库(一款轻型的关系型数据库,常用于嵌入式设备),数据库文件$HUE_HOME/desktop/desktop.db。

存在的问题:当多用户访问Hue时出现“Database is locked”的提示情况,且Hue Web页面提示:“SQLite is only recommended for small development environments with a few users”。所以将Hue的元数据存储到其它数据库中,这里使用MySQL数据库为例。

更换元数据存储:

1.配置$HUE_HOME/desktop/conf/hui.ini文件,修改[desktop]->[[database]]相关配置信息,更改如下:

1
2
3
4
5
6
7
8
9
[desktop]
[[database]]
engine=mysql
host=localhost
port=3306
user=root
password=123456a?
name=desktop
##options={}

2.在MySQL数据库中新建数据库desktop(name=desktop),注意如果对数据库访问进行用户授权。

3.同步和迁移数据库,执行命令:

1
2
$HUE_HOME/build/env/bin/hue syncdb --noinput (同步数据库)
$HUE_HOME/build/env/bin/hue migrate (迁移数据)

参考链接:
[1]http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hue_database.html

Kyle Joe wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!