## 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