`
wankunde
  • 浏览: 162292 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

hive启动web程序流程

    博客分类:
  • Hive
阅读更多

1.通过hwi service启动hwi.sh,在hwi.sh中到lib目录下找到hwi.jar和hwi.war,并执行主类org.apache.hadoop.hive.hwi.HWIServer
2.在HWIServer中进入start方法,设置好host和port变量,默认为0.0.0.0:9999,通过

webServer = ShimLoader.getJettyShims().startServer(listen, port);
  webServer.addWar(hwiWARFile.toString(), "/hwi"); //hwiWARFile 为war包的文件名
webServer.start();
  webServer.join();

来启动jetty服务器。
3.ShimLoader为shims包中的common文件夹下的工具类,他通过反射来实例化工具类对象,这里实例化一个JettyShims对象。
JettyShims封装了对Jetty服务器的一些操作,可以根据不同的Hadoop的版本(一个HashMap)生成相应的操作实例。

public interface JettyShims {
  Server startServer(String listen, int port) throws IOException;
  /**
  * Server.
  *
  */
  interface Server {
  void addWar(String war, String mount);
  void start() throws Exception;
  void join() throws InterruptedException;
  void stop() throws Exception;
  }
  }

这里我们一个Jetty20SShims实例为准,在startServer中我们先实例化一个Server对象,
private static class Server extends org.mortbay.jetty.Server implements JettyShims.Server
然后

public void setupListenerHostPort(String listen, int port)
  throws IOException {
SocketConnector connector = new SocketConnector();
  connector.setPort(port);
  connector.setHost(listen);
  this.addConnector(connector);
  }

至此,jetty服务器已经在指定的地址和端口启动了,OK.

使用JettyServer工具类进行测试。

public static void main(String[] args) throws Exception {

JettyServer js = new JettyServer();

js.setupListenerHostPort("localhost", 9999);

js.addWar("D:\\软件安装源程序\\Java\\eclipse_jee\\mywar.war", "/mywar");

js.start();

}

添加jetty-6.1.26.jar,jetty-util-6.1.26.jar,servlet-api-2.5-6.0.1.jar三个包,

此时可以即可访问启动的web程序了。

jetty7及以后版本由eclipse进行托管,使用方法有所改变。

<a href="http://download.eclipse.org/jetty/">http://download.eclipse.org/jetty/</a>

jetty6 下载地址,目前不知道以后还会不会提供下载。

<a href="http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip">http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip</a>

Jetty Version Comparison Table

Version Servlet Java Namespace Licenses Site Status
Jetty 9 Servlet 3.0+ Java 1.7 org.eclipse.jetty.* EPLv1 / ASLv2 Eclipse.org Alpha Milestones
Jetty 8 Servlet 3.0 Java 1.6 org.eclipse.jetty.* EPLv1 / ASLv2 Eclipse.org Stable
Jetty 7 Servlet 2.5 Java 1.5 org.eclipse.jetty.* EPLv1 / ASLv2 Eclipse.org Stable
Jetty 6 Servlet 2.5 Java 1.4 org.mortbay.* ASLv2 Codehaus.org End of Life / Nov 2010


其他问题:

启动jetty后,访问jsp页面,出现一下错误:

HTTP ERROR: 500

JSP support not configured

RequestURI=/capaa/WEB-INF/jsp/error/500.jsp

<a href="http://jetty.mortbay.org/">Powered by Jetty://</a>

原因:是应为没有加载jetty用来解释jsp的jar包。加载进来就可以了。

解决办法:project--点右键---property---java build path----Add Extenters Jars

选择jetty6.1--lib--jsp2.1---*.jar添加即可

分享到:
评论

相关推荐

    hive基础知识总结

    - **HWI (Hive Web Interface)**: HWI是Hive的一个Web界面,通过Web浏览器访问Hive。要使用HWI,需要安装Ant并配置其环境变量,然后通过命令`hive --service hwi`启动服务,之后可通过浏览器访问`localhost:9999/hwi...

    Hive用户指南 Hive user guide 中文版

    其中,CLI是最常用的交互方式,它在启动时会自动启动一个Hive服务副本;而Client则是指Hive的Java客户端API,通过该API可以直接在应用程序中执行Hive SQL;WUI则提供了基于Web的用户界面,方便用户远程访问和管理...

    Hive教程.pdf

    - **Hive程序的执行过程**: 包括词法语法解析、生成抽象语法树、代码生成等。 - **Hive的元数据存储**: 存储在关系型数据库中,如MySQL。 - **Hive客户端**: 提供与用户的接口,如命令行界面(CLI)、Web界面等。...

    hive和hadoop

    2. 使用`hive --service hwi`启动Hive Web Interface,可通过浏览器访问`http://192.168.110.223:9999/hwi/`。 完成上述步骤后,Hive即已成功配置并可开始使用。通过Hive,用户可以执行复杂的SQL查询,大大简化了大...

    大数据技术之Hive-03(源码).pdf

    无论是$HIVE_HOME/bin/hive还是$HIVE_HOME/bin/hiveserver2脚本,最终都是启动了Java程序org.apache.hadoop.hive.cli.CliDriver的主类。 在CliDriver类的main方法中,通过OptionsProcessor对象解析系统参数,然后...

    apache-hive-3.1.2-bin.tar.gz

    2. ETL 流程:在数据提取、转换和加载的过程中,使用 Hive 的 JDBC 驱动来执行 SQL 查询,处理大规模数据。 3. 应用程序集成:在 Web 应用或服务中,使用 Hive 的 JDBC 功能进行数据查询和处理。 4. 故障排查:开发...

    大数据入门HIVE和MySQL安装包

    5. **启动Hive**:启动Hive Server2和Hive Metastore服务,可以通过`hive`命令进入交互式shell。 **MySQL介绍** MySQL是一种快速、可靠且易于使用的开源数据库,支持ACID(原子性、一致性、隔离性和持久性)特性,...

    大数据编程林子雨实验hive安装包apache-hive-3.1.2-bin

    3. **启动Hive**:启动Hive服务器,如metastore服务和Hive CLI,或者通过Hue等可视化界面进行操作。 4. **创建表**:使用HQL语句定义数据表的结构,指定字段、数据类型和分桶等特性。 5. **加载数据**:将数据文件...

    java大数据案例_6Hive、Kettle

    这里给出了一个Java MapReduce程序`AccessLogPreProcess`的示例代码,该程序包含了Mapper和Reducer类的定义,但并未完整给出整个MapReduce作业的配置和执行流程。 4. **统计每个用户进入每个URL的次数:** - 使用...

    Hive简介及安装

    用户接口(UI)是Hive与用户交互的前端,包括命令行接口CLI、WebUI以及JDBC/ODBC驱动程序。CLI是Hive的命令行界面,启动时会同时启动一个Hive副本。当用户需要通过客户端连接到HiveServer时,会使用Client模式,并...

    hive开发资料.docx

    4. **Hive Server**:提供服务,使外部应用程序(如Web UI或远程客户端)能够与Hive通信。 5. **Web UI**:提供图形化的界面,便于管理和监控Hive作业。 6. **Hive Metastore Service**:处理元数据的查询和管理,...

    hive-jdbc-lib.zip

    这样,Kettle在启动时会自动加载这些库,使得在创建数据连接时可以选择Hive作为数据源。在Kettle的工作流中,可以通过“Hive2”步骤来配置Hive服务器的地址、端口、用户名和密码,然后进行数据的读取和写入。 5. **...

    hive apache教程译文

    - 支持多种用户界面,如 Hive Web UI、Hive 命令行和 Hive HDInsight 等。 2. **元数据存储 (MetaStore)** - 存储表、数据库、列及其类型的元数据,并保持与 HDFS 的映射关系。 3. **HiveQL 流程引擎 (HiveQL ...

    Apache Hive 中文手册.docx

    而JDBC接口则允许Hive与各种客户端应用程序(如Java、Python或Web应用)连接,使得开发者可以构建基于Hive的数据分析应用。 总之,Apache Hive是Hadoop生态系统中的一个重要组成部分,它简化了大数据的处理流程,...

    springboot+mybatisplus+druid+hive+mysql.zip

    6. **数据处理和分析**:使用Hive进行大数据分析,如聚合、分组、过滤等操作,以及数据导入导出的流程。 7. **错误处理和调试**:在集成过程中可能会遇到的问题,如连接问题、SQL异常、性能瓶颈等,如何进行调试和...

    HIVE教程内含源码以及说明书可以自己运行复现.zip

    Hive的安装过程包括下载Hive的最新版本,解压并配置环境变量,创建Hive的元数据存储目录,最后启动Hive服务。同时,还需要了解如何设置Hive的配置文件hive-site.xml,以满足特定的使用需求。 进入2.Hive基本操作,...

    第12章 Hive1

    - 执行计划通常转化为MapReduce任务,Hive并不生成具体的Java程序,而是通过XML文件驱动内置的Mapper和Reducer。 - Hive与JobTracker通信启动MapReduce任务,数据存储于HDFS,由NameNode管理。 3. **元数据管理**...

    基于SpringBoot+hiveJDBC+echarts的数据大屏可视化和大数据分析源码

    SpringBoot是Java领域的一个轻量级框架,它简化了Spring应用程序的初始搭建以及开发过程,使得开发者可以快速地构建可运行的应用程序。HiveJDBC是Apache Hive提供的一个接口,用于Java程序与Hive数据仓库进行交互,...

Global site tag (gtag.js) - Google Analytics