win7下intellij IDEA中使用JDBC连接虚拟机中的phoenix
来源:互联网 发布:baocms7.8完整源码 编辑:程序博客网 时间:2024/06/12 00:51
前提:在VM中安装好hadoop+zookeeper+hbase+phoenix,并可以成功启动。
1.在win7下解压hadoop.tar.gz,在github上搜winutils,下载下来,覆盖之前解压的haodoop/bin目录下的文件。
2.设置环境变量:
HADOOP_HOME=F:\hadoop\hadoop-2.6.3
HADOOP_PREFIX=F:\hadoop\hadoop-2.6.3
在path中新加;%HADOOP_HOME%\bin
F:\hadoop\hadoop-2.6.3是我之前解压hadoop的路径。
3.从hadoop集群的master上拷贝core-site.xml、hdfs-site.xml、hbase-site.xml,三个文件到IDEA的src下,如图:
4.添加phoenix的client和core.jar包,上图有
5.在resource下新建log4j.property,新加代码如下,直接网上copy的,这步是为了看Debug和Warn信息
log4j.rootLogger=DEBUG, CAlog4j.appender.CA=org.apache.log4j.ConsoleAppenderlog4j.appender.CA.layout=org.apache.log4j.PatternLayoutlog4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n6.连接代码如下:注意,如果zookeeper用主机名称的话,需要在win7的C:\Windows\System32\drivers\etc\hosts文件中添加host和ip。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Phoenix_Test { /** * 使用phoenix提供的api操作hbase读取数据 */ public static void main(String[] args) throws Throwable { System.setProperty("hadoop.home.dir","F:\\hadoop\\hadoop-2.6.3"); try { // 下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+ // Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver"); // phoenix4.3用下面的驱动对应hbase0.98+ Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); } catch (Exception e) { e.printStackTrace(); } // 这里配置zookeeper的地址,可单个,也可多个。可以是域名或者ip String url = "jdbc:phoenix:master,data1,data2:2191"; // String url = // "jdbc:phoenix:41.byzoro.com,42.byzoro.com,43.byzoro.com:2181"; Connection conn = DriverManager.getConnection(url); Statement statement = conn.createStatement(); String sql = "select * from \"phoenix\""; long time = System.currentTimeMillis(); ResultSet rs = statement.executeQuery(sql); while (rs.next()) { String row=rs.getString("ROW"); System.out.println("row -- " + row); String name=rs.getString("name"); System.out.println("name -- " + name); } long timeUsed = System.currentTimeMillis() - time; System.out.println("time " + timeUsed + "mm"); // 关闭连接 rs.close(); statement.close(); conn.close(); }}7.因为我运行时一直提示HADOOP_HOME or hadoop.home.dir are not set.所以加了个这个:
System.setProperty("hadoop.home.dir","F:\\hadoop\\hadoop-2.6.3");8.结果:
row -- row001name -- phoenixrow -- row002name -- hbasetime 277mm
阅读全文
0 0
- win7下intellij IDEA中使用JDBC连接虚拟机中的phoenix
- python使用jdbc连接phoenix
- Win7下使用SecureCRT连接VMware虚拟机中的Ubuntu
- Phoenix Jdbc 连接HBase
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<1>
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<2>
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4<3>
- Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.7.1经验总结
- win7下Eclipse连接虚拟机中的ubuntu下的hadoop
- Mac下使用 IntelliJ IDEA
- intellij idea实现java通过JDBC连接mysql中错误解决
- IDEA中使用JDBC
- IDEA使用JDBC连接Mysql
- 【Intellij Idea】关于idea下使用lombok
- 使用Win7连接虚拟机linux中的telnet出错解决方法
- IntelliJ idea 中使用Git
- IntelliJ IDEA中Docker使用
- IntelliJ IDEA 中使用GitHub
- ContentValues(Java)
- C++模板
- PAT 1015. Reversible Primes (20)
- Kubernetes总架构图
- 算法 c语言 冒泡排序改进
- win7下intellij IDEA中使用JDBC连接虚拟机中的phoenix
- 跳马问题
- Codeforces Round #425 (Div. 2) B. Petya and Exam
- 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)
- jackson解析json
- Win10百度云8秒视频怎么破?防止百度云视频变成8秒视频的方法!
- 解决notepad++中英文混编的换行问题
- PHP的异常处理
- Springboot中使用缓存