hadoop2.6安装HUE,配置hdfs,yarn,hive

HUE简介:

通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。

简单来讲,就是用图形化的界面来操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览Hbase数据库,oozie,flume等等。

网络上单一的教程不足以帮助人安装成功,故写下此篇文章,记录下安装过程。

本篇博客资料来源:

官网网站:http://gethue.com/

官网安装帮助:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html

https://www.jianshu.com/p/93136579d4d4


安装步骤:

安装环境:centos6.5,hadoop2.6

这里安装的前提是Hadoop2.6的环境已经装好


1.安装编译运行HUE需要的依赖。

切换到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


2.如无报错,安装成功进入下一步,如果中间有某些包安装不成功,一定要先安装成功才能进入下一步,不然编译会提示缺少响应的工具,这里我没有遇到问题。


3.下载HUE

下载链接:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.5.4.tar.gz


4.编译HUE

4.1上传linux,解压HUE,建议将hue安装在主节点上。

tar -zxf hue-3.9.0-cdh5.5.4.tar.gz

4.2进入HUE解压目录下,执行命令make apps编译HUE,编译成功后开始配置HUE


5.配置HUE

在HUE安装目录下的/desktop/conf/目录下编辑HUE的配置文件hue.ini,打开后更改如下属性:

其中secret_key直接复制http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html#_install_hue上的3.1.2. Specifying the Secret Key节的key值.

以下hadoop01是安装HUE的节点。

 http_host=hadoop01
  http_port=8888

  # Time zone name
  time_zone=Asia/Shanghai

  # Enable or disable Django debug mode.
  django_debug_mode=false

  # Enable or disable database debug mode.
  ## database_logging=false

  # Enable or disable backtrace for server error
  http_500_debug_mode=false


6.启动HUE。

切换到hadoop用户(非root用户)。

在HUE安装目录下,执行命令: build/env/bin/supervisor

确认没有报错信息,在浏览器上输入:主机名:8888即可访问HUE的注册界面。

创建自己的用户后登录进去,发现有很多配置问题。下面我们就来逐一解决。


HUE与hadoop的集成

1.hadoop的配置:

1.1配置hdfs-site.xml文件

添加如下内容:

<property>

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

</configuration>

1.2.配置core-site文件,添加如下内容:

<property>
               <name>hadoop.proxyuser.hadoop.hosts</name>
               <value>*</value>
</property>

<property>
               <name>hadoop.proxyuser.hadoop.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是我的主机的用户名

1.3.httpfs-site.xml添加如下内容:

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

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

        </property>

说明:

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

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

由于第一种方案官方说明中有完整示例,而且基于本例是在完全分布式且HA环境已经部署的情况下搭建的,所以,采用第二种方式。即配置如上,请大家注意。

1.4.scp分发到各个节点上后重启hadoop集群,在namenode所在节点上使用sbin/httpfs.sh start来启动Bootstrap进程,以服务HttpFS管理


2.hue.ini配置

2.1修改Hue.ini文件,先找到[[hdfs_clusters]]这个标签,然后修改如下:

以下的hadoop01是namenode所在节点主机名

[[hdfs_clusters]]
    # HA support by using HttpFs

    [[[default]]]
      # Enter the filesystem uri
      fs_defaultfs=hdfs://mycluster

      # NameNode logical name.
      logical_name=mycluster

      # Use WebHdfs/HttpFs as the communication mechanism.
      # Domain should be the NameNode or HttpFs host.
      # Default port is 14000 for HttpFs.
      webhdfs_url=http://hadoop01:14000/webhdfs/v1

      # Change this if your HDFS cluster is Kerberos-secured

     ## security_enabled=false

      # In secure mode (HTTPS), if SSL certificates from YARN Rest APIs
      # have to be verified against certificate authority
      ## ssl_cert_ca_verify=True

      # Directory of the Hadoop configuration
      hadoop_conf_dir=/home/hadoop/app/hadoop/etc/hadoop
      hadoop_hdfs_home=/home/hadoop/app/hadoop
      hadoop_bin=/home/hadoop/app/hadoop/bin

2.2修改Hue.ini文件,先找到[[yarn_clusters]]这个标签,然后修改如下:

以下的hadoop01是resourceManager所在节点主机名

[[[default]]]
      # Enter the host on which you are running the ResourceManager
      resourcemanager_host=hadoop01

      # The port where the ResourceManager IPC listens on
      resourcemanager_port=8032

      # Whether to submit jobs to this cluster
      submit_to=True

      # Resource Manager logical name (required for HA)这个逻辑名请到yarn-site中查看
      logical_name=yarn-rm-cluster

      # Change this if your YARN cluster is Kerberos-secured
      ## security_enabled=false

      # URL of the ResourceManager API
      resourcemanager_api_url=http://hadoop01:8088

      # URL of the ProxyServer API
      proxy_api_url=http://hadoop01:8088

      # URL of the HistoryServer API
      history_server_api_url=http://hadoop03:19888

说明:

logical_name名字就是你集群中yarn-site.xml中配置的 

<property> 
        <name>yarn.resourcemanager.ha.rm-ids</name>  
        <value>rm1,rm2</value> 
</property> 

 

     URL of the ResourceManager API 这里配置资源管理的地址和端口,对应yarn-site.xml中的

复制代码
<property>
         <name>yarn.resourcemanager.webapp.address.rm1</name>
         <value>djt11:8088</value>
</property>


<property>
         <name>yarn.resourcemanager.webapp.address.rm2</name>
         <value>djt12:8088</value>
</property>
URL of the HistoryServer API 这里配置历史记录资源管理的地址和端口,对应mapred-site.xml中的
<property>
              <name>mapreduce.jobhistory.webapp.address</name>
              <value>djt13:19888</value>
</property>


3.重启HUE服务并测试

先使用Ctrl+C关闭HUE服务,再使用如下命令重启:build/env/bin/supervisor

发现问题:about页面检查配置,有一个提示:Filesystemroot '/' should be owned by 'hdfs'

原因是在hadoop集群都使用用户hadoop,并没有创建用户hdfs。解决方案是将hue.ini中的default_hdfs_superuser设置:

# This should be the hadoop cluster admin
default_hdfs_superuser=hadoop

重启Hue后警告解除。

测试HDFS点进:File Browser选项

测试Yarn点进:Job Browser选项


HUE与HIVE的集成:

1.首先要配置hive-site.xml,添加以下内容(hadoop01是hive所在节点,注意这里hive与hue最好在同一节点上,不然可能会有奇怪的错误):

<property>
                <name>hive.server2.thrift.bind.port</name>
                <value>10000</value>
        </property>

        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>hadoop01</value>
        </property>

        <property>
                <name>hive.server2.long.polling.timeout</name>
                <value>5000</value>
        </property>

<!--        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://hadoop01:9083</value>
        </property>
-->
            <property>
            <name>hive.server2.authentication</name>
            <value>NOSASL</value>
    </property>


2.配置hue.ini:

[beeswax]

  # Host where HiveServer2 is running.
  # If Kerberos security is enabled, use fully-qualified domain name (FQDN).
  hive_server_host=hadoop01

  # Port where HiveServer2 Thrift server runs on.
  hive_server_port=10000

  # Hive configuration directory, where hive-site.xml is located
  hive_conf_dir=/home/hadoop/app/apache-hive-2.2.0-bin/conf

3.启动hiveserver2

bin/hiveserver2

4.重启Hue服务,在“查询编辑器”中选择Hive.

报错:Could not start SASL: Error in sasl_client_start(-4) SASL(-4): no mechanism available: No worthy mechsfound

安装以下即可:

yum install cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi

报错:页面报错:Could not connect to localhost:10000

未启动hiveserver2或者hive-site.xml未配置端口hive_server_port为10000

5.进行hql的执行测试

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26010491/article/details/79974214
个人分类: Hadoop
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭