Hue的安装与集成hdfs,yarn,hive,mysql,oozie,hbase,zookeeper

来源

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

帮助文档

http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html

准备环境依赖

打开官方网站可以找到对应的部署HUE所需的各种依赖列表,如下图所示:

如上图所示,这部分内容是告诉你,安装编译Hue需要依赖哪些Linux安装包,你只需要使用yum命令一次安装就可以了,在此给大家整理好该命令(注意使用root权限安装):

# yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel

安装完后把openjdk全部删除

(查询:# rpm -qa | grep java)

(删除:# rpm -e --nodeps xxxxxxx-java-xxxx.rpm)

hue-chd安装包 https://download.csdn.net/download/kxj19980524/11158592

解压hue,然后进行编译   make apps

如果编译过程中出现如下错误的话

vim  /usr/include/openssl/x509.h   使用root用户编辑,在该文件中删除751、752  这两行,必须删掉,注释不行,然后把hue删除掉,重新解压编译

编译完成后,配置HUE,/opt/modules/cdh/hue-3.7.0-cdh5.3.6/desktop/conf/hue.ini

secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=hadoop-senior01.buba.com
http_port=8888
time_zone=Asia/Shanghai

启动HUE    build/env/bin/supervisor   出现如下表示启动成功

访问8888端口出现如下信息,这句话是在提示你,第一次使用本工具,需要创建一个用户及密码,且会成为hue的超级用户凭证,在此呢,我设置为admin用户名,密码随意,那就123456吧,然后呢就可以见到如下界面了:

现在只是启动成功能正常访问了,还没配置与hdfs的配置,所以不能访问hdfs

配置hadoop

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

<!-- Oozie Server的Hostname -->
	<property>
		<name>hadoop.proxyuser.kxj.hosts</name>
		<value>*</value>
	</property>

	<!-- 允许被Oozie代理的用户组 -->
	<property>
		<name>hadoop.proxyuser.kxj.groups</name>
		<value>*</value>
	</property>
	
	<property>
		<name>hadoop.proxyuser.httpfs.hosts</name>
		<value>*</value>
	</property>
	
	<property>
		<name>hadoop.proxyuser.httpfs.groups</name>
		<value>*</value>
	</property>

如果你的Hadoop配置了高可用,则必须通过httpfs来访问,需要添加如下属性,反则则不必须。(如果HUE服务与Hadoop服务不在同一节点,则必须配置)

属性:hadoop.proxyuser.hue.hosts

变更为:hadoop.proxyuser.httpfs.hosts

属性值:*

属性:hadoop.proxyuser.hue.groups

变更为:hadoop.proxyuser.httpfs.groups

属性值:*

httpfs-site.xml

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

解释:以上两个属性主要用于HUE服务与Hadoop服务不在同一台节点上所必须的配置。

尖叫提示:

* 如果没有配置NameNode的HA,HUE可以用WebHDFS来管理HDFS

* 如果配置了NameNodeHA,则HUE只可用HttpFS来管理HDFS

 

scp同步到其它hadoop节点

scp -r etc/ hadoop-senior02.buba.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/

scp -r etc/ hadoop-senior03.buba.com:/opt/modules/hadoop-2.5.0-cdh5.3.6/

启动httpfs服务 ,在哪台节点启动都可以

$ /opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start

重启hadoop集群

配置hue.ini   找到[hadoop]标签

fs_defaultfs=hdfs://hadoop-senior01.buba.com:8020
webhdfs_url=http://hadoop-senior01.buba.com:14000/webhdfs/v1
hadoop_conf_dir=/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop
hadoop_hdfs_home=/opt/modules/hadoop-2.5.0-cdh5.3.6
hadoop_bin=/opt/modules/hadoop-2.5.0-cdh5.3.6/bin

如果配置了namenode高可用的话加上这个,后面的值为高可用名称

启动hue    build/env/bin/supervisor   ,这儿提示的该目录不属于hdfs用户

原因是hdfs都属于kxj这个用户

解决办法,可以将hdfs所属用户改为hdfs,也可以更改hue为kxj用户

/opt/modules/hue-3.7.0-cdh5.3.6/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

把原来的注释掉改为kxj

重新启动hue,就能正常访问了

配置YARN

现在查看这个job显示出来的东西是不正确的

resourcemanager_host=hadoop-senior02.buba.com
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://hadoop-senior02.buba.com:8088	
proxy_api_url=http://hadoop-senior01.buba.com:8088
history_server_api_url=http://hadoop-senior01.buba.com:19888

如果resourceManager配置了HA的话,加上logical_name=高可用名称

配置完后重启hue     build/env/bin/supervisor    显示如下,这就可以了.

运行一个mapreduce任务进行测试

配置HIVE

<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
  <description>Port number of HiveServer2 Thrift interface.
  Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
</property>

<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>hadoop-senior01.buba.com</value>
  <description>Bind host on which to run the HiveServer2 Thrift interface.
  Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>
</property>

<property>
  <name>hive.server2.long.polling.timeout</name>
  <value>5000</value>
  <description>Time in milliseconds that HiveServer2 will wait, before responding to asynchronous calls that use long polling</description>
</property>

<!-- thrift是一个跨语言跨平台的中间商,让多种语言进行通讯 -->
<!-- 配置远程的metastore服务 -->
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://hadoop-senior01.buba.com:9083</value>
  <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>

启动Hive两个服务  bin/hive --service metastore &      bin/hive --service hiveserver2 &

尖叫提示:如果设置了hive.metastore.uris,在今后使用Hive时,那么必须启动如上两个命令,否则Hive无法正常启动。

修改hue配置文件

配置完后重启hue     build/env/bin/supervisor

配置mysql    配置完后重启hue     build/env/bin/supervisor

配置oozie

启动Oozie相关服务    bin/oozied.sh start

重启HUE测试查看Oozie         build/env/bin/supervisor

点这里就能查询任务详细情况了,coordinator是周期任务,想要杀死周期任务得点到这个tab页,才能删除,workflow是当前运行的任务,周期任务都会在workflow生成当前任务,杀死当前任务只是停止了当前这一次,它是杀不死周期任务的.

下面这个是可以直接在页面上创建oozie任务.

现在这个页面上还报这个错,它是oozie默认与hdfs上关联的路径,只要在hdfs上创建这个目录就可以了.

配置hbase

启动HBase的thrift服务      bin/hbase-daemon.sh start thrift

重启HUE进行测试              build/env/bin/supervisor

配置zookeeper集群节点,以逗号隔开就好

重启HUE查看即可         build/env/bin/supervisor

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值