在Hadoop集群的基础上,部署hbase集群
环境变量
tee /etc/profile.d/hbaseENV.sh <<-'EOF'
export HBASE_HOME=/usr/local/hbase-2.4.15/
export PATH=$PATH:$HBASE_HOME/bin
EOF
source /etc/profile
hbase部署
cd /data/setup
tar xvf hbase-2.4.15-bin.tar.gz -C /usr/local
cd /usr/local/hbase-2.4.15/
mkdir /usr/local/hbase-2.4.15/lib/native
cd /usr/local/hbase-2.4.15/lib/native
ln -s /usr/local/hadoop-3.2.4/lib/native/ /usr/local/hbase-2.4.15/lib/native/Linux-amd64-64
配置文件
tee /usr/local/hbase-2.4.15/conf/hbase-env.sh <<-'EOF'
LD_LIBRARY_PATH=/usr/local/hadoop-3.2.4/lib/native
export JAVA_HOME=/usr/local/jdk1.8.0_202
export HBASE_MANAGES_ZK=false
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/usr/local/hbase-2.4.15/lib/jul-to-slf4j-1.7.33.jar
#这里有一个可选的配置:如果您在 Hadoop 集群上进行了 HDFS 客户端配置的更改,比如将副本系数 dfs.replication 设置成 5,则必须使用以下方法之一来使 HBase 知道,否则 HBase 将依旧使用默认的副本系数 3 来创建文件:
export HBASE_CLASSPATH=/usr/local/hadoop-3.2.4/etc/hadoop
EOF
tee /usr/local/hbase-2.4.15/conf/regionservers <<-'EOF'
hadoop1
hadoop2
hadoop3
EOF
tee /usr/local/hbase-2.4.15/conf/hbase-site.xml <<-'EOF'
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoopCluster/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/zookeeper</value>
</property>
<property>
<name>hbase.client.keyvalue.maxsize</name>
<value>104857600</value>
</property>
<property>
<name>hbase.server.keyvalue.maxsize</name>
<value>104857600</value>
</property>
</configuration>
EOF
检查hbase环境状态
cd /usr/local/hbase-2.4.15/bin
./hbase org.apache.hadoop.util.NativeLibraryChecker
启动
/usr/local/hbase-2.4.15/bin/start-hbase.sh
浏览器打开主节点的16010端口查看集群状态
http://43.138.117.92:16010/master-status
命令查看状态
/usr/local/hbase-2.4.15/bin/hbase shell
status 'detailed'
zk中的状态
echo "ls /hbase/rs" | /usr/local/apache-zookeeper-3.8.4-bin/bin/zkCli.sh -server localhost:2181
测试读写
/usr/local/hbase-2.4.15/bin/hbase shell
create_namespace 'alienR'
create 'alienR:alienT', 'cf'
put 'alienR:alienT', 'row1', 'cf:col1', 'alienValue1'
scan 'alienR:alienT'
describe 'alienR:alienT'
list