hbase client api 例子-2

本系列视频深入讲解Kubernetes的部署方式,包括minikube、kubeadm、kubeasz、rancher、k3s等,并详细阐述Kubernetes资源的使用配置和命令。同时,视频介绍了helm命令、helmchart语法、编写helmchart,以及深入分析各项目源码,学习编写helm插件。此外,还提供了关于Kubernetes资源如configmap、pod、service等的全面介绍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.youkuaiyun.com/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;

//Administrator
public class AdvancedCreateTableExample {
	public static void printRegion(String tableName)throws Exception{
		System.out.println("tableName:"+tableName);
		Configuration conf=HBaseConfiguration.create();
		HTable table=new HTable(conf,tableName);
		Pair<byte[][],byte[][]> pair=table.getStartEndKeys();
		byte[][]firsts=pair.getFirst();
		for(int i=0;i<firsts.length;i++){
			if(firsts[i].length==8){
				System.out.println(Bytes.toLong(firsts[i])+"--------"+Bytes.toLong(pair.getSecond()[i]));
			}else{
				System.out.println(Bytes.toStringBinary(firsts[i])+"--------"+Bytes.toStringBinary(pair.getSecond()[i]));
			}
			
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		HTableDescriptor tabDesc=new HTableDescriptor(Bytes.toBytes("test13"));
		HColumnDescriptor colDesc=new HColumnDescriptor("fam1");
		tabDesc.addFamily(colDesc);
		admin.createTable(tabDesc,Bytes.toBytes(1L),Bytes.toBytes(100L),10);
		printRegion("test13");
		HTableDescriptor tabDesc2=new HTableDescriptor(Bytes.toBytes("test14"));
		HColumnDescriptor colDesc2=new HColumnDescriptor("fam1");
		tabDesc2.addFamily(colDesc2);
		byte [][]spilit=new byte[][]{
				Bytes.toBytes("A"),
				Bytes.toBytes("B"),
				Bytes.toBytes("C"),
				Bytes.toBytes("D")
		};
		admin.createTable(tabDesc2, spilit);
		printRegion("test14");

	}

}
package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;

//Administrator
public class CreateTableExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		HTableDescriptor tableDesc=new HTableDescriptor("test2");
		HColumnDescriptor colDesc=new HColumnDescriptor("col1");
		tableDesc.addFamily(colDesc);
		admin.createTable(tableDesc);
		System.out.println(admin.isTableAvailable("test2"));
	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HBaseAdmin;

//Administrator
public class DDEExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		System.out.println("available:"+admin.isTableAvailable("test9"));
		System.out.println("enalbe:"+admin.isTableEnabled("test9"));
		System.out.println("disable:"+admin.isTableDisabled("test9"));
		System.out.println("------------");
		admin.disableTable("test9");
		System.out.println("available:"+admin.isTableAvailable("test9"));
		System.out.println("enalbe:"+admin.isTableEnabled("test9"));
		System.out.println("disable:"+admin.isTableDisabled("test9"));
		System.out.println("------------");
		admin.deleteTable("test9");
		System.out.println("available:"+admin.isTableAvailable("test9"));
		System.out.println("------------");
		System.out.println("exist:"+admin.tableExists("test9"));

	}

}

 

package example;
import java.util.ArrayList;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.BinaryComparator;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.FilterList.Operator;
import org.apache.hadoop.hbase.filter.QualifierFilter;
import org.apache.hadoop.hbase.filter.RowFilter;
import org.apache.hadoop.hbase.filter.SubstringComparator;
import org.apache.hadoop.hbase.filter.ValueFilter;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class FilterListExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HTable table=new HTable(conf,"testtable");
		List<Filter> filterList=new ArrayList<Filter>();
		Filter rowFilter=new RowFilter(CompareOp.EQUAL, new SubstringComparator("6"));
		filterList.add(rowFilter);
		Filter columnFilter=new QualifierFilter(CompareOp.NOT_EQUAL,  new SubstringComparator("6"));
		filterList.add(columnFilter);
		Filter valueFilter=new ValueFilter(CompareOp.LESS, new BinaryComparator(Bytes.toBytes("value8")));
		filterList.add(valueFilter);
		FilterList filters=new FilterList(filterList);
		Scan scan=new Scan();
		scan.setFilter(filters);
		ResultScanner resultScanner=table.getScanner(scan);
		for(Result result:resultScanner){
			for(KeyValue kv:result.raw()){
				System.out.println(kv+"--------"+Bytes.toString(kv.getValue()));
			}
		}
		resultScanner.close();
		System.out.println("------------");
		filters=new FilterList(Operator.MUST_PASS_ONE,filterList);
		scan.setFilter(filters);
		 resultScanner=table.getScanner(scan);
		for(Result result:resultScanner){
			for(KeyValue kv:result.raw()){
				System.out.println(kv+"--------"+Bytes.toString(kv.getValue()));
			}
		}
		resultScanner.close();

	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class IncrementExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HTable table=new HTable(conf,"testtable");
		long l=table.incrementColumnValue(Bytes.toBytes("row9"), Bytes.toBytes("family1"), Bytes.toBytes("inc"), 1);
		System.out.println(l);
		 l=table.incrementColumnValue(Bytes.toBytes("row9"), Bytes.toBytes("family1"), Bytes.toBytes("inc"), 0);
		System.out.println(l);
		l=table.incrementColumnValue(Bytes.toBytes("row9"), Bytes.toBytes("family1"), Bytes.toBytes("inc"), -1);
		System.out.println(l);

	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class ListTableExample {

	/**
	 * @param args
	 */
	public static void main(String[] args)throws Exception {
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		HTableDescriptor[] descList=admin.listTables();
		for(HTableDescriptor desc:descList){
			System.out.println(Bytes.toString(desc.getName()));
		}
		HTableDescriptor desc=admin.getTableDescriptor(Bytes.toBytes("testtable"));
		System.out.println(Bytes.toString(desc.getName()));
	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class ModifyTableExample {

	/**
	 * @param args
	 */
	public static void main(String[] args)throws Exception {
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		HTableDescriptor desc=new HTableDescriptor("modify");
		HColumnDescriptor colDesc=new HColumnDescriptor("fam1");
		desc.addFamily(colDesc);
		admin.createTable(desc);
		HTableDescriptor desc2=admin.getTableDescriptor(Bytes.toBytes("modify"));
		HColumnDescriptor colDesc2=new HColumnDescriptor("fami2");
		desc2.addFamily(colDesc2);
		admin.disableTable("modify");
		admin.modifyTable("modify", desc2);
		admin.enableTable("modify");
		HTableDescriptor desc3=admin.getTableDescriptor(Bytes.toBytes("modify"));
		System.out.println("is equal:"+desc2.equals(desc3));
		System.out.println(desc3);
	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class ModifyTableExample2 {

	/**
	 * @param args
	 */
	public static void main(String[] args)throws Exception {
		Configuration conf=HBaseConfiguration.create();
		HBaseAdmin admin=new HBaseAdmin(conf);
		admin.enableTable("test8");
		admin.disableTable("test8");
		admin.deleteColumn("test8", "fam1");
		admin.enableTable("test8");
		System.out.println(admin.getTableDescriptor(Bytes.toBytes("test8")));
		admin.disableTable("test8");
		admin.addColumn("test8", new HColumnDescriptor("fam1"));
		System.out.println(admin.getTableDescriptor(Bytes.toBytes("test8")));

	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Increment;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

//Administrator
public class MultiIncrementExample {

	/**
	 * @param args
	 */
	public static void main(String[] args)throws Exception {
		Configuration conf=HBaseConfiguration.create();
		HTable table=new HTable(conf,"testtable");
		Increment increment=new Increment(Bytes.toBytes("row9"));
		increment.addColumn(Bytes.toBytes("family1"), Bytes.toBytes("inc"), 0);
		increment.addColumn(Bytes.toBytes("family1"), Bytes.toBytes("inc1"), -1);
		increment.addColumn(Bytes.toBytes("family1"), Bytes.toBytes("inc2"), 2);
		
		Result result=table.increment(increment);
		for(KeyValue kv:result.raw()){
			System.out.println(kv+"-----"+Bytes.toLong(kv.getValue()));
		}

	}

}

 

package example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTableInterface;
import org.apache.hadoop.hbase.client.HTablePool;

//Administrator
public class TablePoolExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		Configuration conf=HBaseConfiguration.create();
		HTablePool pool=new HTablePool(conf,5);
		HTableInterface [] inter=new HTableInterface[10];
		for(int i=0;i<inter.length;i++){
			inter[i]=pool.getTable("testtable");
		}
		for(int i=0;i<inter.length;i++){
			pool.putTable(inter[i]);
		}
		
		pool.closeTablePool("testtable");

	}

}


 

### 如何在 IntelliJ IDEA 中使用 HBase Java API #### 配置 Maven 工程 为了在 IntelliJ IDEA 中使用 HBase Java API,首先需要创建一个 Maven 项目并添加必要的依赖项。以下是具体的配置过程: Maven 是一种常用的构建工具,可以通过 `pom.xml` 文件管理项目的依赖关系。对于 HBase 的开发环境,需要在 `pom.xml` 文件中引入 HBase 客户端库以及其相关依赖项[^3]。 ```xml <dependencies> <!-- HBase Client Dependency --> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.4.9</version> <!-- 替换为你使用的具体版本号 --> </dependency> <!-- Zookeeper Dependency (如果未被自动包含) --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.7.0</version> <!-- 替换为你使用的具体版本号 --> </dependency> </dependencies> ``` 完成上述配置后,右键单击 `pom.xml` 文件,选择 **Maven -> Reimport** 来刷新依赖项。 --- #### 设置 HBase 配置文件 HBase 使用 XML 格式的配置文件来定义运行参数。通常情况下,这些配置会被放置在一个名为 `hbase-site.xml` 的文件中。该文件应该位于项目的类路径下(通常是 `src/main/resources/`),以便应用程序能够加载它[^1]。 以下是一个典型的 `hbase-site.xml` 文件的内容示例: ```xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> <!-- 替换为实际的 ZooKeeper 地址 --> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> <!-- 替换为实际的 ZooKeeper 端口 --> </property> </configuration> ``` 此文件的作用是指定 HBase 和 ZooKeeper 的连接信息,从而允许客户端程序定位集群中的 Master 节点和 RegionServer 实例。 --- #### 编写 HBase 连接代码 一旦完成了 Maven 依赖导入和配置文件设置,就可以编写用于访问 HBase 数据表的应用逻辑了。下面展示了一个简单的例子,演示如何通过 HBase Java API 创建连接、执行基本操作,并最终释放资源[^2]。 ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.*; import java.io.IOException; public class HBaseExample { public static void main(String[] args) throws IOException { // 初始化 Configuration 对象 Configuration config = HBaseConfiguration.create(); try (Connection connection = ConnectionFactory.createConnection(config)) { // 自动关闭连接 TableName tableName = TableName.valueOf("my_table"); Table table = connection.getTable(tableName); System.out.println("成功获取表格:" + tableName); // 添加更多业务逻辑... } catch (IOException e) { System.err.println("发生错误:" + e.getMessage()); } } } ``` 注意:每次调用完 `ConnectionFactory.createConnection()` 方法返回的对象时,都应当显式地将其关闭以避免内存泄漏问题。 --- #### 测试与调试 当一切准备就绪后,可以尝试启动应用测试是否能正常工作。如果遇到任何异常情况,则可能需要重新核查以下几个方面: - 是否正确指定了目标机器上的 HBase/ZooKeeper IP 或主机名; - 当前用户的权限是否满足需求; - 版本兼容性是否存在冲突等问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值