Hue 交互工具安裝並與Hdfs、Hive集成


HUE

第一部分Hue概述
Hue(Hadoop User Experience)是一個開源的 Apache Hadoop UI系統,最早是由 Cloudera Desktop演化而來,由Cloudera貢獻給開源社區,它是基於PythonWeb框架Django實現的。通過使用Hue可以在瀏覽器端的Web控制台上與Hadoop集群進行交互來分析處理數據,例如操作HDFS上的數據,運行MapReduceJob等等。Hue所支持的功能特性集合:

  • 默認基於輕量級sqlite數據庫管理會話數據,用戶認證和授權,可以自定義為MySQL、Postgresql,以及Oracle
  • 基於文件瀏覽器(File Browser)訪問HDFS
  • 基於Hive編輯器來開發和運行Hive查詢
  • 支持基於Solr進行搜索的應用,並提供可視化的數據視圖,以及儀表板(Dashboard)
  • 支持基於Impala的應用進行交互式查詢
  • 支持Spark編輯器和儀表板(Dashboard)
  • 支持Pig編輯器,並能夠提交腳本任務
  • 支持Oozie編輯器,可以通過儀表板提交和監控Workflow、Coordinator和Bundle
  • 支持HBase瀏覽器,能夠可視化數據、查詢數據、修改HBase表
  • 支持Metastore瀏覽器,可以訪問Hive的元數據,以及HCatalog
  • 支持Job瀏覽器,能夠訪問MapReduce Job(MR1/MR2-YARN)
  • 支持Job設計器,能夠創建MapReduce/Streaming/Java Job
  • 支持Sqoop 2編輯器和儀表板(Dashboard)
  • 支持ZooKeeper瀏覽器和編輯器
  • 支持MySql、PostGresql、Sqlite和Oracle數據庫查詢編輯器

一句話總結:Hue是一個友好的界面集成框架,可以集成我們各種學習過的以及將要學習的框架,一個界面就可以做到查看以及執行所有的框架。

HUE

官方網址:https://gethue.com/

Hue的安裝並不是那么簡單,官方並沒有編譯好的軟件包,需要從github上下載源碼、安裝依賴、編譯安裝。以下詳細講解Hue下載、編譯、安裝的操作過程。

安裝Hue的節點上最好沒有安裝過MySQL,否則可能有版本沖突,這里選擇將Hue安裝在slave1上。

下載軟件包

1.hue-release-4.10.0.tar.gz
2.apache-maven-3.8.3-bin.tar.gz
https://dlcdn.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz

將軟件包下載至 /opt/software

解壓至/opt/servers

tar -zxvf apache-maven-3.8.3-bin.tar.gz -C /opt/servers
tar -zxvf hue-release-4.10.0.tar.gz -C /opt/servers
# 檢查軟件包的完整性

安裝必要依賴

具體參見:https://docs.gethue.com/administrator/installation/dependencies/#centosrhel

Python2.7以上

# CentOS/RHEL 系統所需依賴
yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel

Node.js 安裝

wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.tar.xz
tar -xvf node-v16.13.0-linux-x64.tar.xz

Node.js 環境變量

vim /etc/profile
# Node.js
export PATH=$PATH:/opt/software/node-v16.13.0/bin

設置 Maven 環境變量

編譯 Hue 還需要 Maven 環境,因此在編譯前需要安裝 Maven。

vim /etc/profile

# 添加環境變量
# MAVEN
export MAVEN_HOME=/opt/software/apache-maven-3.8.3
export PATH=$PATH:$MAVEN_HOME/bin

# 驗證安裝
source /etc/profile
mvn -v

編譯 Hue

:進入hue源碼目錄,進行編譯。使用 PREFIX 指定安裝 Hue 的路徑

# 進入源碼目錄
cd /opt/software/hue-release-4.10.0

PREFIX=/opt/servers make install

注意:編譯需要下載 Jar 包所以要保持聯網狀態,編譯過程可能需要持續30分鍾

image

修改 Hadoop 配置

在 hdfs-site.xml 中增加配置

<!-- HUE -->
<property>
    <!-- HDFS Web 服務 -->
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>

在core-site.xml中增加配置

<!-- HUE -->
<property>
    <name>hadoop.proxyuser.hue.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hue.groups</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hdfs.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hdfs.groups</name>
    <value>*</value>
</property>

增加 httpfs-site.xml 文件,加入配置

<!--HUE-->
<property>
    <name>httpfs.proxyuser.hue.hosts</name>
    <value>*</value>
</property>
<property>
    <name>httpfs.proxyuser.hue.groups</name>
    <value>*</value>
</property>

分發到其他節點中

rsync-script hdfs-site.xml
rsync-script core-site.xml
rsync-script httpfs-site.xml

備注:修改完HDFS相關配置后,需要把配置 scp 給集群中每台機器,重啟hdfs服務。

Hue 配置

# 進入安裝目錄
cd /opt/servers/hue

# 進入配置目錄
cd desktop/conf

# 復制一份 HUE 的配置文件,並修改復制的配置文件
cp pseudo-distributed.ini.tmpl pseudo-distributed.ini
vi pseudo-distributed.ini
#[desktop]
http_host=slave1
http_port=8000
time_zone=Asia/shanghai
dev=true
server_user=hue
server_group=hue
default_user=hue

#[[database]]。Hue默認使用SQLite數據庫記錄相關元數據,替換為mysql
engine=mysql
host=slave2
port=3306
user=hive
password=0000
# 增加一行 數據庫名稱
name=hue 

# 211行左右。app黑名單,禁用solr,規避報錯
app_blacklist=search

# 1003行,Hadoop配置文件的路徑
hadoop_conf_dir=/opt/servers/hadoop-2.10.1/etc/hadoop

slave2

# 在mysq1中創建數據庫hue,用來存放元數據
mysql -uhive -p0000
mysql> create database hue;
# 初始化數據庫
pwd
/opt/servers/hue/

# 如果是mysql8的版本需要修改密碼加密方式為舊版
build/env/bin/hue syncdb

build/env/bin/hue migrate
# 檢查數據
mysql> show tables;

image

image

修改mysql加密方式

use mysql;
select user,plugin from user where user='root';

alter user 'hive'@'%' identified with mysql_native_password by '0000';

flush privileges;

啟動服務

build/env/bin/supervisor

如果啟動時出現以下異常
image
則是沒有hue這個用戶

useradd hue -U -m -s /bin/bash
passwd hue

image

訪問地址
http://slave1:8000/

第一次進入需要創建用戶和密碼
image
此時會報錯,需要進行hive的整合

Hue 集成 HDFS、YARN

/opt/servers/hue/desktop/conf

vim pseudo-distributed.ini
# [hadoop] -- [[hdfs_clusters]] -- [[[default]]]
# 注意端口號。
fs_defaultfs=hdfs://master:9000
webhdfs_ur1=http://master:50070/webhdfs/v1

# [hadoop] -- [[yarn_clusters]] -- [[[default]]]
resourcemanager_host=slave2
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://slave2:8088
proxy_api_ur1=http://slave2:8088
history_server_api_url=http://slave2:19888

Hue 集成 Hive

集成 Hive 需要啟動 Hiveserver2 服務,在 slave2 節點上啟動 Hiveserver2

#[beeswax]
hive_server_host=slave2
hive_server_port=10000
hive_conf_dir=/opt/servers/hive-2.3.9/conf

# 注意到注釋上說,11是hive3.0的
thrift_version=7

Hue 集成MySQL

[librdbms]--[[databases]]--[[[mysq]]]];1922行

注意:1922行原文:##[[mysql]]=>[[mysql]];兩個##要去掉!

[[[mysq]]]]
nice_name="My SQL DB"
name=hue
engine=mysql
host=slave2
port=3306
user=hive
password=0000

注意:name是database_name


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM