array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 linux下hue的安装与部署 - 爱码网

一、Hue 简介

Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下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的架构

linux下hue的安装与部署

三、安装与部署

1、下载

hue官网:http://gethue.com/
配置文档:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.6/manual.html#_install_hue
源码:https://github.com/cloudera/hue

这里我们直接用下载Hue:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.6.tar.gz

2、安装系统包

yum 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

在安装系统包的时候遇到的问题:

sqlite-devel不能从镜像下载,这里我是用了手动下载tar包,安装编译。下载地址: http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz

tar zxf sqlite-autoconf-3070500.tar.gz
cd sqlite-autoconf-3070500
./configure
make
sudo make install

3、编译Hue

tar -zxvf hue-3.7.0-cdh5.3.6.tar.gz
mv hue-3.7.0-cdh5.3.6 hue
cd hue
make apps

编译Hue时遇到的问题:

a、

OpenSSL/crypto/crl.c:6:23: error: static declaration of ‘X509_REVOKED_dup’ follows non-static declaration
 static X509_REVOKED * X509_REVOKED_dup(X509_REVOKED *orig) {
                       ^
In file included from /usr/include/openssl/ssl.h:156:0,
                 from OpenSSL/crypto/x509.h:17,
                 from OpenSSL/crypto/crypto.h:30,
                 from OpenSSL/crypto/crl.c:3:
/usr/include/openssl/x509.h:751:15: note: previous declaration of ‘X509_REVOKED_dup’ was here
 X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev);
               ^
error: command 'gcc' failed with exit status 1
make[2]: *** [/mnt/hue/desktop/core/build/pyopenssl/egg.stamp] Error 1
make[2]: Leaving directory `/mnt/hue/desktop/core'
make[1]: *** [.recursive-env-install/core] Error 2
make[1]: Leaving directory `/mnt/hue/desktop'
make: *** [desktop] Error 2

解决办法:

将/usr/include/openssl/x509.h文件下:
这两行删除,必须删除,采用注释的方式不行:
X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev);
X509_REQ *X509_REQ_dup(X509_REQ *req);

4、配置hue.ini文件

cd /mnt/hue/desktop/conf
  secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o

  # Webserver listens on this address and port
  http_host=master
  http_port=8888

  # Time zone name
  time_zone=Asia/Shanghai

5、启动

cd  /mnt/hue/build/env/bin

linux下hue的安装与部署

启动的时候遇到的问题:

Couldn't get user id for user hue

首先说明出现此问题的原因是因为你使用的root用户安装了hue,然后在root用户下使用的build/env/bin/supervisor

linux下hue的安装与部署

解决办法:

a、创建个普通用户,并给添加密码:

[root@master bin]# useradd hue
[root@master bin]# passwd hue
然后设置好密码

b、给刚才解压的hue文件改变拥有者属性,通过 chown -R 用户名 文件地址。

[root@master bin]# chown -R hue /mnt/hue

最后,我们使用 su 命令切换用户,到hue文件夹下执行运行hue的命令就可以了。

linux下hue的安装与部署

然后在页面上登录:192.168.200.100:8888

输入用户和密码:

 linux下hue的安装与部署

linux下hue的安装与部署

 四、Hue与HDFS、MYSQL、Hive、Zookeeper集成配置

 Hue集成zookeeper:

 进入目录:/mnt/hue/desktop/conf,配置hue.ini

[zookeeper]
  [[clusters]]
    [[[default]]]
      # Zookeeper ensemble. Comma separated list of Host/Port.
      # e.g. localhost:2181,localhost:2182,localhost:2183
      host_ports=master:2181,slave01:2181,slave02:2181
      # The URL of the REST contrib service (required for znode browsing)
      ## rest_url=http://localhost:9998  

A、 启动zk(master、slave01、slave02)

       zkServer.sh start

B、 启动hue

进入目录/mnt/hue/build/env/bin:

./ supervisor

linux下hue的安装与部署

C、访问192.168.200.100:8888页面

linux下hue的安装与部署

Hue集成MYSQL

进入目录:/mnt/hue/desktop/conf,配置hue.ini

# mysql, oracle, or postgresql configuration.
      [[[mysql]]]
      # Name to show in the UI.
       nice_name="My SQL DB"
      # For MySQL and PostgreSQL, name is the name of the database.
      # For Oracle, Name is instance of the Oracle server. For express edition
      # this is 'xe' by default.
      ## name=mysqldb
      # Database backend to use. This can be:
      # 1. mysql
      # 2. postgresql
      # 3. oracle
      engine=mysql
      # IP or hostname of the database to connect to.
       host=master
      # Port the database server is listening to. Defaults are:
      # 1. MySQL: 3306
      # 2. PostgreSQL: 5432
      # 3. Oracle Express Edition: 1521
          port=3306
      # Username to authenticate with when connecting to the database.
       user=root
      # Password matching the username to authenticate with when
      # connecting to the database.
       password=010209
      # Database options to send to the server when connecting.
      # https://docs.djangoproject.com/en/1.4/ref/databases/
          ## options={}

启动hue:

linux下hue的安装与部署

linux下hue的安装与部署

对比mysql数据库:

linux下hue的安装与部署

Hue集成hive

A、进入目录:/mnt/hue/desktop/conf,配置hue.ini

# Host where HiveServer2 is running.
  # If Kerberos security is enabled, use fully-qualified domain name (FQDN).
  hive_server_host=master
  # Port where HiveServer2 Thrift server runs on.
  hive_server_port=10000
  # Hive configuration directory, where hive-site.xml is located
  hive_conf_dir=/mnt/hive/conf
  # Timeout in seconds for thrift calls to Hive service
  server_conn_timeout=120
  # Choose whether Hue uses the GetLog() thrift call to retrieve Hive logs.
  # If false, Hue will use the FetchResults() thrift call instead.
      ## use_get_log_api=true

B、配置hue与hive集成需要启动hiveserver2的相关参数(hive-site.xml):

    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>master</value>
   </property>
   <property>
        <name>hive.metastore.uris</name>
        <value>thrift://192.168.200.100:9083</value>
       </property>

C、启动

1、启动hive之前先启动hdfs:start-dfs.sh

2、启动hive相关服务

   hive --service metastore &

   hive --service hiveserver2 &

linux下hue的安装与部署

linux下hue的安装与部署

3、启动hue

配置环境变量之后可以这样使用,没有配置的话,请到相关目录下执行:

linux下hue的安装与部署

4、访问HUE页面

linux下hue的安装与部署

当每执行一次查询成功的时候,hiveserver2就会打印ok

linux下hue的安装与部署

D、Hue集成hive遇到的问题:

   启动hive的hue之后,访问hue页面,连接hive数据库时,始终超时:

   相关错误信息:

Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

解决办法:

查看是否少了cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi中的rpm包,缺少谁就安装谁

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

Hue集成HDFS

    A、进入目录:/mnt/hue/desktop/conf,配置hue.ini

# HA support by using HttpFs
    [[[default]]]
      # Enter the filesystem uri
      fs_defaultfs=hdfs://master:8020
      # NameNode logical name.
      ## logical_name=
      # Use WebHdfs/HttpFs as the communication mechanism.
      # Domain should be the NameNode or HttpFs host.
      # Default port is 14000 for HttpFs.
      webhdfs_url=http://master:50070/webhdfs/v1
      hadoop_hdfs_home=/mnt/hadoop
      hadoop_bin=/mnt/hadoop/bin
      # Change this if your HDFS cluster is Kerberos-secured
      ## security_enabled=false
      # Default umask for file and directory creation, specified in an octal value.
      ## umask=022
      # Directory of the Hadoop configuration
      ## hadoop_conf_dir=$HADOOP_CONF_DIR when set or '/etc/hadoop/conf'
          hadoop_conf_dir=/mnt/hadoop/etc/hadoop

B、启动hdfs,和HUE,访问页面:

linux下hue的安装与部署

可以看到我们可以通过hue对hdfs上的文件进行操作,删除等等,还可以直接查看文件:点击sparktest.txt,如下:

linux下hue的安装与部署

 

相关文章: