## 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
![选区_011](https://box.kancloud.cn/d8ec55cfaee278b99805fd1bc0eb382e_3145x877.png)
------
- **配置hive**【hive是本地mysql模式】
- 如果hive是远程mysql模式,需要修改`hive-site.xml`文件
- 修改hue的全局配置文件:desktop/conf/hue.ini
![](https://box.kancloud.cn/75d97a0e3585bc622d367fa7dc81c247_3144x873.png)
- **报错**`Could not connect to localhost:10000 (code THRIFTTRANSPORT): TTransportException('Could not connect to localhost:10000',)`
![](https://box.kancloud.cn/7745d4cd50de1577deaf001b94ae4f79_1545x844.png)
------
**进入hue界面查看服务是否关联成功**
![](https://box.kancloud.cn/9e68ac919484a4eab1a8b81c47d11276_1546x846.png)
![](https://box.kancloud.cn/25376c523f3905813db5d42421e1265f_1545x846.png)
#### hue on swarm模式配置hadoop其他组件
- 配置Zookeeper
- 配置文件(Zookeeper的yml文件在附件docker-compose.yml)
![](https://box.kancloud.cn/0ab1696c5bd16cc472a47751354fd5ab_1539x517.png)
- 成功界面
![](https://box.kancloud.cn/49f392eafcedea44bafef6a22d179079_1544x843.png)
------
- 配置mysql
- 配置文件
![](https://box.kancloud.cn/31ca1ee5674a8db45497cb85d68d8b4b_1265x796.png)
- 成功界面
![](https://box.kancloud.cn/f900d1d2a74d298fe03a899cfcef5d36_1543x846.png)
#### 部署多个集群(如Zookeeper)
- 配置文件
![](https://box.kancloud.cn/71965653df8030f5faa552ddfc620a51_1262x575.png)
- 成功界面
![](https://box.kancloud.cn/7879ee1a53623ede23e90b50e3f3eeeb_1544x803.png)
#### hue用户权限管理
- 点击admin —> Manage Users
![](https://box.kancloud.cn/cd3cd0e5313198ae9db1156e4297c336_1547x836.png)
- 用户、组、权限配置如下
![](https://box.kancloud.cn/f96a31317c1529095dc92e1683d9ed79_1544x807.png)
- 分别登录admin和zy用户
1. **admin**所有在`$HUE/desktop/conf/pseudo-distributed.ini`配置过的服务都能操作
2. **zy**用户只能对hive操作。其他没给予的服务权限会提示如下图
![](https://box.kancloud.cn/ae09d5b97279fb7c1c612ce8b29aa9cd_1544x807.png)
- 特别说明:
> ***目前尚未发现对部分集群(比如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