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添加即可
相关推荐
- **HWI (Hive Web Interface)**: HWI是Hive的一个Web界面,通过Web浏览器访问Hive。要使用HWI,需要安装Ant并配置其环境变量,然后通过命令`hive --service hwi`启动服务,之后可通过浏览器访问`localhost:9999/hwi...
其中,CLI是最常用的交互方式,它在启动时会自动启动一个Hive服务副本;而Client则是指Hive的Java客户端API,通过该API可以直接在应用程序中执行Hive SQL;WUI则提供了基于Web的用户界面,方便用户远程访问和管理...
- **Hive程序的执行过程**: 包括词法语法解析、生成抽象语法树、代码生成等。 - **Hive的元数据存储**: 存储在关系型数据库中,如MySQL。 - **Hive客户端**: 提供与用户的接口,如命令行界面(CLI)、Web界面等。...
2. 使用`hive --service hwi`启动Hive Web Interface,可通过浏览器访问`http://192.168.110.223:9999/hwi/`。 完成上述步骤后,Hive即已成功配置并可开始使用。通过Hive,用户可以执行复杂的SQL查询,大大简化了大...
无论是$HIVE_HOME/bin/hive还是$HIVE_HOME/bin/hiveserver2脚本,最终都是启动了Java程序org.apache.hadoop.hive.cli.CliDriver的主类。 在CliDriver类的main方法中,通过OptionsProcessor对象解析系统参数,然后...
2. ETL 流程:在数据提取、转换和加载的过程中,使用 Hive 的 JDBC 驱动来执行 SQL 查询,处理大规模数据。 3. 应用程序集成:在 Web 应用或服务中,使用 Hive 的 JDBC 功能进行数据查询和处理。 4. 故障排查:开发...
5. **启动Hive**:启动Hive Server2和Hive Metastore服务,可以通过`hive`命令进入交互式shell。 **MySQL介绍** MySQL是一种快速、可靠且易于使用的开源数据库,支持ACID(原子性、一致性、隔离性和持久性)特性,...
3. **启动Hive**:启动Hive服务器,如metastore服务和Hive CLI,或者通过Hue等可视化界面进行操作。 4. **创建表**:使用HQL语句定义数据表的结构,指定字段、数据类型和分桶等特性。 5. **加载数据**:将数据文件...
这里给出了一个Java MapReduce程序`AccessLogPreProcess`的示例代码,该程序包含了Mapper和Reducer类的定义,但并未完整给出整个MapReduce作业的配置和执行流程。 4. **统计每个用户进入每个URL的次数:** - 使用...
用户接口(UI)是Hive与用户交互的前端,包括命令行接口CLI、WebUI以及JDBC/ODBC驱动程序。CLI是Hive的命令行界面,启动时会同时启动一个Hive副本。当用户需要通过客户端连接到HiveServer时,会使用Client模式,并...
4. **Hive Server**:提供服务,使外部应用程序(如Web UI或远程客户端)能够与Hive通信。 5. **Web UI**:提供图形化的界面,便于管理和监控Hive作业。 6. **Hive Metastore Service**:处理元数据的查询和管理,...
这样,Kettle在启动时会自动加载这些库,使得在创建数据连接时可以选择Hive作为数据源。在Kettle的工作流中,可以通过“Hive2”步骤来配置Hive服务器的地址、端口、用户名和密码,然后进行数据的读取和写入。 5. **...
- 支持多种用户界面,如 Hive Web UI、Hive 命令行和 Hive HDInsight 等。 2. **元数据存储 (MetaStore)** - 存储表、数据库、列及其类型的元数据,并保持与 HDFS 的映射关系。 3. **HiveQL 流程引擎 (HiveQL ...
6. **数据处理和分析**:使用Hive进行大数据分析,如聚合、分组、过滤等操作,以及数据导入导出的流程。 7. **错误处理和调试**:在集成过程中可能会遇到的问题,如连接问题、SQL异常、性能瓶颈等,如何进行调试和...
而JDBC接口则允许Hive与各种客户端应用程序(如Java、Python或Web应用)连接,使得开发者可以构建基于Hive的数据分析应用。 总之,Apache Hive是Hadoop生态系统中的一个重要组成部分,它简化了大数据的处理流程,...
Hive的安装过程包括下载Hive的最新版本,解压并配置环境变量,创建Hive的元数据存储目录,最后启动Hive服务。同时,还需要了解如何设置Hive的配置文件hive-site.xml,以满足特定的使用需求。 进入2.Hive基本操作,...
- 执行计划通常转化为MapReduce任务,Hive并不生成具体的Java程序,而是通过XML文件驱动内置的Mapper和Reducer。 - Hive与JobTracker通信启动MapReduce任务,数据存储于HDFS,由NameNode管理。 3. **元数据管理**...
- WUI (Web 用户界面): 用于通过 Web 浏览器访问 Hive。 2. **元数据存储**: Hive 使用关系型数据库(如 MySQL 或 Derby)来存储表结构、列定义、分区信息等元数据信息。 3. **解析器、编译器、优化器和执行器**:...
SpringBoot是Java领域的一个轻量级框架,它简化了Spring应用程序的初始搭建以及开发过程,使得开发者可以快速地构建可运行的应用程序。HiveJDBC是Apache Hive提供的一个接口,用于Java程序与Hive数据仓库进行交互,...