## hue on swarm
定稿人 | 定稿日期 | 系统环境
| :--------: | :-----: | :----: |
黄镇游 | 2017.12.21 | ubuntu14.04 + docker1.13 + docker-compose1.16
#### docker-compose.yml文件
```yaml
version: "3"
services:
cloudera:
image: gethue/hue:latest
command: ./build/env/bin/hue runserver_plus 0.0.0.0:8888
hostname: hue
ports:
- "8888:8888"
networks:
- frontend
volumes:
- ./hue.ini:/hue/desktop/conf
deploy:
replicas: 1
networks:
frontend:
```
#### 部署在swarm
> hue部署在多机swarm(所有关联的容器服务需要用同一个voerlay网络,才能利用服务发现机制)
1. 启动服务
```powershell
# 前期准备工作-swarm集群创建参考【Swarm入门】
# 启动gethue/hue
$ docker stack deploy -c docker-compose.yml lyc
# 启动hive-hadoop
$ docker service create --network lyc_frontend --name hadoop-master --hostname hadoop-master teradatalabs/cdh5-hive
```
2. 修改配置`./hue.ini/pseudo-distributed.ini`[挂载到hue容器的`/hue/desktop/conf`]
- **配置hdfs**
- 需要添加hdfs的配置
1. hdfs-site.xml
```xml
<!-- 启用WebHdfs. -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
```
2. core-site.xml
```xml
<!-- Hue配置 -->
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
```
- 修改hue的全局配置文件:desktop/conf/hue.ini

------
- **配置hive**【hive是本地mysql模式】
- 如果hive是远程mysql模式,需要修改`hive-site.xml`文件
- 修改hue的全局配置文件:desktop/conf/hue.ini

- **报错**`Could not connect to localhost:10000 (code THRIFTTRANSPORT): TTransportException('Could not connect to localhost:10000',)`

------
**进入hue界面查看服务是否关联成功**


#### hue on swarm模式配置hadoop其他组件
- 配置Zookeeper
- 配置文件(Zookeeper的yml文件在附件docker-compose.yml)

- 成功界面

------
- 配置mysql
- 配置文件

- 成功界面

#### 部署多个集群(如Zookeeper)
- 配置文件

- 成功界面

#### hue用户权限管理
- 点击admin —> Manage Users

- 用户、组、权限配置如下

- 分别登录admin和zy用户
1. **admin**所有在`$HUE/desktop/conf/pseudo-distributed.ini`配置过的服务都能操作
2. **zy**用户只能对hive操作。其他没给予的服务权限会提示如下图

- 特别说明:
> ***目前尚未发现对部分集群(比如hadoop/spark/Hbase/集群)授权的操作。***
## 问题总结
- [参考网站](https://www.cnblogs.com/zlslch/p/6819622.html?utm_source=itdadao&utm_medium=referral#undefined)
- Docker
- Docker入门
- docker管理UI
- 封装各大数据组件
- 自主封装
- 封装hadoop
- 封装spark
- 官方封装
- 封装hue
- 封装jenkins
- Swarm
- Swarm入门
- Zookeeper on swarm
- Hue on swarm
- Grafana
- influxDB
- Prometheus
- cAdvisor
- kubernetes
- k8s入门
- k8s部署dashboard
- minikube
- 手动搭建k8s的高可用集群
- 01环境准备
- 02部署etcd集群
- 03配置kubelet
- 04部署flannel网络
- 05部署master集群
- 06配置高可用
- 07部署node节点
- 08验证集群
- Monitor
- swarm 监控
- influxDB+Grafana
- Prometheus+Grafana
