1. 下载镜像到本地
docker pull plumewhite/hue:v2
2. 启动容器
2.1 直接启动
docker run -it -p 宿主机端口:容器内部服务端口 镜像ID bash
docker run -it -p 1012:8888 7bea914601b4 bash
2.2 docker-compose启动
version: "2.1"
services:
hue:
image: 622d6a0a98c5 # 容器ID
hostname: hue
ports:
- "1012:8888" # 宿主机端口:容器内部服务端口
command: /usr/local/hue/build/env/bin/supervisor
restart: always
volumes: # 挂载文件 宿主机文件:容器内部文件
- /root/pseudo-distributed.ini:/usr/share/hue/desktop/conf/pseudo-distributed.ini
- /root/hive_server2_lib.py:/usr/share/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py
3. 启动后进入的目录为/usr/share/hue
4. 在当前目录执行sh language.sh
中文化脚本
5. 修改配置文件pseudo-distributed.ini
# 搜索 mysql 修改元数据地址 645行
engine=mysql # 元数据引擎
host=gwssi-cdh0106 # 地址
port=3307 # 端口
user=hue # 数据库用户
password=gwssi123 # 数据库密码
name=hue # 数据库名称
# 搜索 beeswax 配置hive
hive_server_host=主机名
hive_server_port=端口
# 搜索 impala 配置 impala
server_host=主机名
server_port=端口
# 搜索 interpreters 添加连接器 897行
phoenix
1. jdbc连接
[[[phoenix]]]
name=Phoenix
interface=jdbc
options='{"url": "jdbc:phoenix:thin:url=http://gwssi-app0102:8765;serialization=PROTOBUF;timeZone=GMT", "driver": "org.apache.phoenix.queryserver.client.Driver", "user": "phoenix", "password": "Gwssi@2019@phoenix"}'
2. sqlalchemy连接
[[[phoenix]]]
name=Phoenix
interface=sqlalchemy
options='{"url": "phoenix://192.168.1.102:8765/hbase"}'
hive
[[[hive]]]
name=Hive
interface=hiveserver2
impala
[[[impala]]]
name=Impala
interface=hiveserver2
6. 元数据数据迁移(第一次配置元数据服务地址后进行)
./build/env/bin/hue migrate
7. 启动hue
/usr/share/hue/build/env/bin/supervisor
问题项
hive连接出错:修改
apps/beeswax/src/beeswax/server/hive_server2_lib.py
# 645 行
self.user = user
self.user.username = 'hive'
# 由于hdfs上没有当前登陆用户的目录原因
页面有中文报错
# 仅仅使报错信息不在页面出现
apps/jobbrowser/src/jobbrowser/api2.py
# 注释45行 取消页面报错utf-8。
# response['message'] = smart_unicode(e)
连接hdfs
# 连接hdfs,没有对应用户,无法访问目录
vim apps/useradmin/src/useradmin/models.py
# 修改176行代码
#p.home_directory = "/user/%s" % p.user.username
p.home_directory = "/user/"