当前位置:   article > 正文

IDEA连接HBase集群_idere连接 windows系统hadoop和hbase的配置

idere连接 windows系统hadoop和hbase的配置

#环境介绍#

本地电脑window10

IntelliJ IDEA Community Edition 2023.2.3

虚拟机集群Hadoop3.1.4:master/slave1/slave2/slave3

HBase2.2.2

一、在IDEA中创建工程

  1. file->new->New Project

        设置项目名和存储路径,选择Archetype

        2.选择项目,创建目录结构。

        项目名右击->new->directory(下图的前两个)

        得到如下目录结构:

        将core-site.xml和hbase-site.xml放入resources目录下

                core-site.xml在虚拟机master节点下的/usr/local/hadoop-3.1.4/etc/hadoop/

                hbase-site.xml在虚拟机master节点下的/opt/hbase-2.2.2/conf/

        在项目中导入jar包(hadoop解压后的jar包和hbase解压后的jar包)

        先将hadoop和hbase的压缩包解压到本地

        file->project structure->libraries-> “+”

        导入hadoop解压后(C:\hadoop-3.1.4\share\hadoop\client)路径下所有包

                    hbase解压后(C:\hbase-2.2.2\lib)路径下所有包

                    hbase解压后(C:\hbase-2.2.2\lib\client-facing-thirdparty)路径下所有包

        导完之后的效果:

二、配置Windows系统环境变量

        我的电脑右击属性->高级系统设置->环境变量

        在系统变量中新建,添加HADOOP_HOME的变量名和对应的路径

        在系统变量的Path变量中添加HADOOP_HOME变量

三、配置Windows系统hosts文件

        查看虚拟机中/etc/hosts文件      

     将ip与主机名映射复制,粘贴到windows系统的hosts文件中,hosts文件路径为(C:\Windows\System32\drivers\etc),用记事本打开。

四、hadoop.dll文件导入

        将hadoop.dll文件放入C:\Windows\System32\路径下。

五、启动HBase集群

        master节点start-dfs.sh 和start-yarn.sh

        slave1、slave2和slave3依次启动zookeeper:zkServer.sh start

        master节点start-hbase.sh

        master节点hbase shell进行hbase,输入list_namespace测试        

六、在IDEA中编写程序,测试连接

        在src\main\java下创建com.zx.hbase包,在包下创建HBaseTest文件。

        将以下代码放入其中        

  1. package com.zx.hbase;
  2. import org.apache.hadoop.conf.Configuration;
  3. import org.apache.hadoop.hbase.*;
  4. import org.apache.hadoop.hbase.client.*;
  5. import org.apache.hadoop.hbase.util.Bytes;
  6. import java.io.IOException;
  7. public class HBaseTest {
  8. public static Configuration configuration; //管理HBase的配置信息
  9. public static Connection connection; //管理HBase的连接
  10. public static Admin admin; //管理HBase数据库表信息
  11. public static void main(String[] args)throws IOException{
  12. init();
  13. createTable("my_ns:teacher123",new String[]{"score","info"});
  14. close();
  15. }
  16. //建立连接
  17. public static void init(){
  18. configuration = HBaseConfiguration.create();
  19. configuration.set("hbase.rootdir","hdfs://master:8020/hbase");
  20. try{
  21. connection = ConnectionFactory.createConnection(configuration);
  22. admin = connection.getAdmin();
  23. }catch (IOException e){
  24. e.printStackTrace();
  25. }
  26. }
  27. // 关闭连接
  28. public static void close() {
  29. try {
  30. if (admin != null) {
  31. admin.close();
  32. }
  33. if (null != connection) {
  34. connection.close();
  35. }
  36. } catch (IOException e) {
  37. e.printStackTrace();
  38. }
  39. }
  40. //创建表
  41. public static void createTable(String myTableName,String[] colFamily) throws IOException {
  42. TableName tableName = TableName.valueOf(myTableName);
  43. if(admin.tableExists(tableName)){
  44. System.out.println("talbe is exists!");
  45. }else {
  46. TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
  47. for(String str:colFamily){
  48. ColumnFamilyDescriptor family =
  49. ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();
  50. tableDescriptor.setColumnFamily(family);
  51. }
  52. admin.createTable(tableDescriptor.build());
  53. }
  54. }
  55. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/585303
推荐阅读
相关标签
  

闽ICP备14008679号