ubantu操作hbase

到firefox中按照网站找以下文件进行下载

ubantu操作hbase_第1张图片

新建一个窗口启动节点

ubantu操作hbase_第2张图片

ubantu操作hbase_第3张图片

下载完成则回到下载目录

ubantu操作hbase_第4张图片

如果下载慢也可以将文件放在share中,然后拷贝到当前目录

ubantu操作hbase_第5张图片

进入到root

ubantu操作hbase_第6张图片

然后回到hadoop

ubantu操作hbase_第7张图片

解压到/usr/local

ubantu操作hbase_第8张图片

进入到local,将hbase改名

ubantu操作hbase_第9张图片

修改权限

ubantu操作hbase_第10张图片

配置环境变量

ubantu操作hbase_第11张图片

ubantu操作hbase_第12张图片

ubantu操作hbase_第13张图片

ubantu操作hbase_第14张图片

执行

回到hbase配置conf文件ubantu操作hbase_第15张图片

ubantu操作hbase_第16张图片

打开另一个窗口找到这个路径

然后复制到这个下面

ubantu操作hbase_第17张图片

最底下注释掉这个

ubantu操作hbase_第18张图片

配置site

ubantu操作hbase_第19张图片

ubantu操作hbase_第20张图片

ubantu操作hbase_第21张图片

启动hbase

ubantu操作hbase_第22张图片

通过shell进入hbase查看版本号,可以通过exit退出

ubantu操作hbase_第23张图片

再通过version

ubantu操作hbase_第24张图片

再进入Hbase shell启动管理器。然后通过list查看

ubantu操作hbase_第25张图片

如果有student这个表可以先删除了

ubantu操作hbase_第26张图片

打开eclipse,然后新建一个项目

ubantu操作hbase_第27张图片

ubantu操作hbase_第28张图片

添加jar包

ubantu操作hbase_第29张图片

Lib包下除了文件夹其他都添加进去

ubantu操作hbase_第30张图片

再添加这个jar包,即可finish 

ubantu操作hbase_第31张图片

在该项目下创建一个新的类

ubantu操作hbase_第32张图片

然后编写以下代码进行测试

ubantu操作hbase_第33张图片

package hbaseTestfile;

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

import java.io.IOException;


public class hBaseTest {

	public static Configuration configuration;
	public static Connection connection;
	public static Admin admin;
	public static void main(String[] args) throws IOException{
		init();
		createTable("student", new String[]{"score"});
		insertData("student", "zhangsan", "score", "English", "69");
		insertData("student", "zhangsan", "score", "Math", "86");
		insertData("student", "zhangsan", "score", "Computer", "77");
		getData("student", "zhangsan", "score", "English");
		close();
	}
	
	public static void init(){
		configuration = HBaseConfiguration.create();
		configuration.set("Hbase.rootdir","hdfs://localhost:9000/hbase");
		try {
			connection = ConnectionFactory.createConnection(configuration);
			admin = connection.getAdmin();
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void close(){
		try {
			if(admin != null) {
				admin.close();
			}
			if(null != connection){
				connection.close();
			}
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
	public static void createTable(String myTableName, String[] colFamily) throws IOException{
		TableName tableName = TableName.valueOf(myTableName);
		if(admin.tableExists(tableName)) {
			System.out.println("table exists");
		}else {
			TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
			for(String str: colFamily) {
				ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();
				tableDescriptor.setColumnFamily(family);
			}
			admin.createTable(tableDescriptor.build());
		}
	}
	public static void insertData(String tableName, String rowKey, String colFamily, String col, String val) throws IOException {
		Table table = connection.getTable(TableName.valueOf(tableName));
		Put put = new Put(rowKey.getBytes());
		put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
		table.put(put);		
		table.close();	
	}
	public static void getData(String tableName, String rowKey, String colFamily, String col) throws IOException{
		Table table = connection.getTable(TableName.valueOf(tableName));
		Get get = new Get(rowKey.getBytes());
		get.addColumn(colFamily.getBytes(), col.getBytes());
		Result result = table.get(get);
		System.out.println(new String(result.getValue(colFamily.getBytes(), col==null?null:col.getBytes())));
		table.close();	
	}
	
}

启动项目后

可以看到正确输出69

ubantu操作hbase_第34张图片

也可以看到有student这个表

ubantu操作hbase_第35张图片

通过scan指令可以查看表里的数据

ubantu操作hbase_第36张图片

你可能感兴趣的:(虚拟机,hbase,数据库,大数据)