在CentOS上部署HBase应用需要经过以下几个步骤:
HBase依赖于Java,因此首先需要安装Java环境。
sudo yum install java-1.8.0-openjdk-devel 从Apache HBase官方网站下载最新版本的HBase,并解压到指定目录。
wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz tar -xzvf hbase-2.4.9-bin.tar.gz -C /opt 进入HBase目录并进行配置。
cd /opt/hbase-2.4.9 cp conf/hbase-site.xml.template conf/hbase-site.xml 编辑conf/hbase-site.xml文件,添加以下配置:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://your-namenode:8020/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>your-zookeeper-node1,your-zookeeper-node2,your-zookeeper-node3</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/var/lib/zookeeper</value> </property> </configuration> 确保Hadoop集群已经启动,并且HBase能够访问HDFS。
编辑conf/hbase-env.sh文件,添加以下内容:
export HBASE_MANAGES_ZK=false export HBASE_HEAPSIZE=4G export HBASE_REGIONSERVER_HEAPSIZE=8G 启动HBase Master和RegionServer。
start-hbase.sh 使用HBase shell连接到HBase。
hbase shell 在HBase shell中执行以下命令,验证HBase是否正常运行:
list status 'simple' 将你的HBase应用部署到CentOS服务器上,并确保应用能够连接到HBase集群。
pom.xml中添加HBase依赖:<dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.4.9</version> </dependency> </dependencies> import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; public class HBaseExample { public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", "your-zookeeper-node1,your-zookeeper-node2,your-zookeeper-node3"); config.set("hbase.zookeeper.property.clientPort", "2181"); try (Connection connection = ConnectionFactory.createConnection(config)) { TableName tableName = TableName.valueOf("yourTableName"); Table table = connection.getTable(tableName); // 插入数据 Put put = new Put(Bytes.toBytes("rowKey")); put.addColumn(Bytes.toBytes("columnFamily"), Bytes.toBytes("columnQualifier"), Bytes.toBytes("value")); table.put(put); // 查询数据 Get get = new Get(Bytes.toBytes("rowKey")); Result result = table.get(get); System.out.println("Value: " + Bytes.toString(result.getValue(Bytes.toBytes("columnFamily"), Bytes.toBytes("columnQualifier")))); table.close(); } } } mvn clean package java -cp target/your-application-1.0-SNAPSHOT.jar HBaseExample 通过以上步骤,你可以在CentOS上成功部署并运行HBase应用。