CentOS6.5 HUE 安装配置及问题处理

CentOS6.5 HUE 安装配置

HUE简介

    HUE=Hadoop User Experience(Hadoop用户体验),直白来说就一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用HUE我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。

一、HUE安装(非root用户)

1、必备的软件环境:

1	Centos 6.5
2	Python 2.6.6 
3	jdk-8u171-linux-x64.tar/或者jdk7
4	apache-maven-3.3.9-bin.tar
5	apache-ant-1.8.1-bin.tar
6	hue-3.7.0-cdh5.3.6.tar

2、必备的集群环境

Hadoop+Hbase+Hive+zk+Mysql+oozie

3、安装步骤

3.1搭建maven环境

1)上传解压apache-maven-3.3.9-bin.tar到服务器
2)在/etc/profile文件中,配置maven参数

export MAVEN_HOME=/home/yanjiali/ruanjian/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

3)重新加载文件profile文件,测试maven是否安装成功

mvn  -version

结果如下,即安装成功

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /home/user/ruanjian/apache-maven-3.3.9
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /home/user/ruanjian/jdk1.7.0_67/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix
3.2 安装配置Ant

1 上传解压apache-ant-1.8.1-bin.tar到服务器
2 在/etc/profile文件中,配置ant参数

export ANT_HOME=/home/yanjiali/ruanjian/apache-ant-1.8.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin

3 重新加载文件profile文件,测试ant是否安装成功

ant -v

结果如下,即安装成功

Apache Ant version 1.8.1 compiled on April 30 2010
Trying the default build file: build.xml
Buildfile: build.xml does not exist!
Build failed
3.3 安装HUE所需要的依赖包
yum install asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-devel gmp-devel -y
3.4 解压安装Hue的tar包
3.4 进入解压后hue目录,编译(使用非root用户)
cd hue-3.7.0-cdh5.3.6
make apps
3.5 编译成功后,修改编写hue.ini配置文件
  1. 进入到desktop/conf目录下,找到hue.ini文件
  2. 修改hue.ini文件
    在hue.ini文件中找到如下内容,进行修改
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=对应ip地址
http_port=8888
time_zone=Asia/Shanghai

修改完后如下图
在这里插入图片描述

3.6 运行命令启动hue服务
$ build/env/bin/supervisor

启动成功后如下图:
在这里插入图片描述

3.5 访问HUE服务主页

浏览器地址栏输入:http://192.168.137.90:8888/ 即可进入HUE页面
第一次使用,需要创建一个用户及密码,且会成为hue的 超级用户凭证

二、HUE 与其他框架的集成

1、HUE与HDFS

1.1配置HDFS

修改:hdfs-site.xml

<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>

修改:core-site.xml

添加
<property>
  <name>hadoop.proxyuser.hue.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hue.groups</name>
  <value>*</value>
</property>
#设置代理用户
<property>
  <name>hadoop.proxyuser.huaqiang.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.huaqiang.groups</name>
  <value>*</value>
</property>
#如果你的Hadoop配置了高可用,则必须通过httpfs来访问,需要添加如下属性,反则则不必须。(如果HUE服务与Hadoop服务不在同一节点,则必须配置)
<property>
  <name>hadoop.proxyuser.httpfs.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.httpfs.groups</name>
  <value>*</value>
</property>

区别:WebHDFS是HDFS内置的组件,已经运行于NameNode和DataNode中。对HDFS文件的读写,将会重定向到文件所在的DataNode,并且会完全利用HDFS的带宽。HttpFS是独立于HDFS的一个服务。对HDFS文件的读写,将会通过它进行中转,它能限制带宽占用。

修改:httpfs-site.xml

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

提示:

  • 如果没有配置NameNode的HA,HUE可以用WebHDFS来管理HDFS
  • 如果配置了NameNodeHA,则HUE只可用HttpFS来管理HDFS

1.2启动httpfs服务

httpfs.sh start

1.3 配置hue.ini文件

找到**[hadoop]**标签

[[hdfs_clusters]]
    # HA support by using HttpFs
    [[[default]]]
      # Enter the filesystem uri
      ##HDFS服务器地址
      fs_defaultfs=hdfs://192.168.56.86:8020
      # 如果开启了高可用,需要配置如下
      ## logical_name=mycluster
      ##向HDFS发送命令的请求地址
      webhdfs_url=http://192.168.56.86:14000/webhdfs/v1
      #HADOOP的一些配置
      hadoop_conf_dir=/home/hadoop/apps/hadoop26/etc/hadoop
      hadoop_hdfs_home=/home/hadoop/apps/hadoop26
      hadoop_bin=/home/hadoop/apps/hadoop26/bin

1.4 测试

开启HUE服务:

$ build/env/bin/supervisor

打开HUE的页面,进行HDFS管理。

提示1:(不修改也可以):
如果提示错误根目录应该归属于hdfs,如下图:
在这里插入图片描述
请修改python变量,位置如下:

cd desktop/libs/hadoop/src/hadoop/fs/
vi webhdfs.py
修改其中的变量值为:
DEFAULT_HDFS_SUPERUSER = 'hadoop' #设置的hue超级用户

然后重启HUE服务即可。
提示2
启动HUE服务时,请先kill掉之前的HUE服务,如果提示地址被占用,请使用如下命令查看占用8888端口的进程并kill掉:

$ netstat -tunlp | grep 8888

2、HUE与YARN

2.1、配置hue.ini

找到[[yarn_clusters]]标签,涉及修改配置如下:

[[yarn_clusters]]
[[[default]]]
#yarn服务的配置
      resourcemanager_host=192.168.137.90
      resourcemanager_port=8032
      #是否将作业提交到此群集,并监控作业执行情况
      submit_to=True
      #logical_name=cluster-yarn1(如果开高可用的话)
      #配置yarn资源管理的访问入口
      resourcemanager_api_url=http://192.168.137.90:8088
      proxy_api_url=http://192.168.137.90:8088
      #历史服务器管理的入口,查看作业的历史运行情况
      history_server_api_url=http://192.168.137.90:19888

Hadoop启动jobhistoryserver来实现web查看作业的历史运行情况:

mr-jobhistory-daemon.sh start historyserver

2.2、重启HUE测试

$ build/env/bin/supervisor
# 运行内置wordcount 测试
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.1.jar wordcount /input/ /output

3、HUE与Hive

3.1修改Hive配置文件apache-hive-2.3.3-bin/conf/hive-site.xml

HUE与hive集成需要hive开启HiveServer2服务,相关配置如下:

# TCP 的监听端口
<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
  <description>TCP</description>
</property>
# TCP绑定的主机
<property>
	<name>hive.server2.thrift.bind.host</name>
	<value>192.168.137.90</value>
	<description>TCP</description>
</property>
# HiveServer2在响应使用长轮询的异步调用之前等待的时间(毫秒)
<property>
	<name>hive.server2.long.polling.timeout</name>
	<value>5000</value>
	<description>HiveServer2</description>
</property>
# 指向的是运行metastore服务的主机
<property>
	<name>hive.metastore.uris</name>
	<value>thrift://192.168.137.90:9083</value>
	<description>metastore</description>
</property>

3.2 启动Hive相关服务

$ bin/hive --service metastore &
$ bin/hive --service hiveserver2 &

提示1:如果设置了uris,在今后使用Hive时,那么必须启动如上两个命令,否则Hive无法正常启动。
提示2:如果如法正确启动,请尝试kill -9 RunJar ,在重新启动

3.2 配置hue.ini

找到[beeswax]属性标签,涉及修改如下:

[beeswax]
hive_server_host=192.168.137.900
hive_server_port=10000
hive_conf_dir=/home/hadoop/apps/apache-hive-2.3.3-bin/conf

3.3 重启HUE测试

$ build/env/bin/supervisor

4、 HUE与Mysql

4.1 配置hue.ini

找到[[[mysql]]]标签,涉及修改如下:

[[[mysql]]]
nice_name=db_mysql
engine=mysql
host=192.168.137.90
port=3306
user=root
password=123456

4.2 重启hue.ini测试

$ build/env/bin/supervisor

5、HUE与Zookeeper

5.1.配置hue.ini

找到[zookeeper]标签,涉及修改如下:

[zookeeper]
[[clusters]]
[[[default]]]
host_ports=192.168.56.86:2181,192.168.56.87:2181,192.168.56.88:2181

5.2 启动zk测试

启动:
zkServer.sh start
状态:
zkServer.sh status

5.3 重启HUE测试

6、HUE与HBase(先启动zk)

6.1、修改hue.ini配置

找到[hbase]标签,涉及修改内容如下:

[hbase]
hbase_clusters=(Cluster|192.168.137.90:9090)
hbase_conf_dir=/home/hadoop/apps/hbase/conf

6.2、启动HBase服务和Hbase的thrift服务

$ bin/start-hbase.sh
$ bin/hbase-daemon.sh start thrift

6.3、重启HUE进行测试

$ build/env/bin/supervisor

3.7、HUE与Oozie

7.1配置hue.ini

找到[liboozie]标签以及[oozie]标签涉及修改如下:

[liboozie]
#运行Oozie服务的URL。
oozie_url=http://192.168.137.90:11000/oozie
#HDFS上的位置,提交时部署工作流。
remote_deployement_dir=/user/hadoop/oozie-apps
[oozie]
#本地存储oozie示例的位置。
local_data_dir=/home/hadoop/apps/oozie-4.0.0-cdh5.3.6/examples
#本地存储oozie示例数据的位置。
sample_data_dir=/home/hadoop/apps/oozie-4.0.0-cdh5.3.6/oozie-apps
#HDFS上存储oozie示例和工作流的位置。
remote_data_dir=/user/hadoop/oozie-apps
#启用Cron来定义协调器的频率替换旧的频率数/单位。
enable_cron_scheduling=true

7.2 启动Oozie相关服务

$ bin/oozied.sh start

提示:
如果提示无法关联oozie的share/lib
修改oozie的配置文件oozie-site.xml

    <property>
        <name>oozie.service.WorkflowAppService.system.libpath</name>
        # 将此处的路径改为/user/oozie/share/lib
        <value>/user/oozie/share/lib</value>  
        <description>
            System library path to use for workflow applications.
            This path is added to workflow application if their job properties sets
            the property 'oozie.use.system.libpath' to true.
        </description>
    </property>

然后使用oozie命令重新上传yarn.tar.gz到HDFS

bin/oozie-setup.sh sharelib create -fs hdfs://192.168.137.90:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

HDFS 中就会生成对应的目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值