单机hbase配置snappy压缩
前言
1. 过程比较坎坷,网上帖子说法不一,以下过程是参考几个帖子亲自走过一遍,并最终可以成功建表。
2. 本人安装的所有目录均为/data/test-hbase,涉及目录的替换为自己的目录即可。
参考连接
- https://blog.csdn.net/weixin_34185512/article/details/92091958
- https://www.likecs.com/show-305977788.html#sc=2200
- https://blog.csdn.net/wang6733284/article/details/125397154
- https://blog.csdn.net/warrah/article/details/79074141
- https://askubuntu.com/questions/1173587/e-package-libssl1-0-0-has-no-installation-candidate
- https://blog.csdn.net/tang05709/article/details/110366597
- https://blog.csdn.net/plifemao/article/details/86711771
一、hbase环境准备(如果有可跳过)
1. 下载hbase-2.4.15
2. 下载jdk1.8
[Oracle账号](http://bugmenot.com/view/oracle.com)
3. 解压hbase、jdk
tar -zxvf hbase-2.4.15-bin.tar.gz
tar -zxvf jdk-8u202-linux-x64.tar.gz
4. 配置jdk
vim hbase-2.4.15/conf/hbase-env.sh
export JAVA_HOME=/data/test-hbase/jdk1.8.0_202/
5. 配置表数据存储路径(可选)
vim ./hbase-2.4.15/conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:///data/test-hbase/hbase-data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/test-hbase/zookeeper-data</value>
</property>
二、 依赖包安装
1. 安装基础依赖
sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libsnappy-dev bzip2 libbz2-dev libjansson-dev fuse libfuse-dev libxrender-dev libxtst-dev libsasl2-dev libssl-dev
注意cmake需要3.1版本以上,安装完执行cmake --version 如果不是3.1以上的版本,需要下载包手动安装
2. 安装libssl1.0-dev
2.1. 添加源
vim /etc/apt/sources.list
2.2. 在末尾添加
deb http://security.ubuntu.com/ubuntu bionic-security main
2.3. 执行安装
sudo apt update && apt-cache policy libssl1.0-dev
sudo apt-get install -y libssl1.0-dev
三、 依赖软件安装
1. maven(如果有可跳过)
tar -zxvf apache-maven-3.8.6-bin.tar.gz
2. snappy-1.1.1
tar -zxvf snappy-1.1.1.tar.gz
cd snappy-1.1.1
./autogen.sh
./configure
make && make install
#查看是否成功
ll /usr/local/lib/ | grep snappy
3. protobuf-2.5.0
tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./autogen.sh
./configure
make && make install
sudo ldconfig
#查看是否成功
protoc --version
4. hadoop-3.2.3
4.1. 解压
tar -zxvf hadoop-3.2.3-src.tar.gz
4.2. 配置环境变量
vim /etc/profile
#maven
export MAVEN_HOME=/data/test-hbase/apache-maven-3.8.6
export PATH=${MAVEN_HOME}/bin:$PATH
#java
export JAVA_HOME=/data/test-hbase/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
4.3. 编译生成hadoop-native-Libraries
cd hadoop-3.2.3-src
mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X
4.4. 进入hadoop-3.2.3-src/hadoop-dist/target/hadoop-3.2.3/lib/native目录,检查是否存在以下文件
4.5. 配置类库路径
注意路径
vim hbase-2.4.15/conf/hbase-env.sh
export HBASE_LIBRARY_PATH=/data/test-hbase/hadoop-3.2.3-src/hadoop-dist/target/hadoop-3.2.3/lib/native/
4.6. 配置启动检查(可选)
不配置不影响使用,配置的话hbase启动会检查配置的类库是否正确,如果不正确hbase直接启动失败,如果不配置,hbase可以正常启动,但是建表的时候如果本地类库不正确,也会报错。
vim hbase-2.4.15/conf/hbase-site.xml
<property>
<name>hbase.regionserver.codecs</name>
<value>snappy</value>
</property>
五、启动hbase
./hbase-2.4.15/bin/start-hbase.sh
六、测试
6.1. 启动hbase命令行
./hbase-2.4.15/bin/hbase shell
6.2. 建表
create 'snappyTest',{NAME=>'f',COMPRESSION => 'SNAPPY'};
6.3. 查看描述
describe 'snappyTest';
6.4. 添加数据
put 'snappyTest','rowKey','f:c','data-Valuejkasjdkfjaksjdkfjaskdjfkajskdfjaksdjfjskdf';
6.5 查询数据
scan 'snappyTest';
到此完成