写在前面
本系列文章索引以及一些默认好的条件在传送门
默认使用master节点并用root用户登录终端进行操作
文章难免会有点小bug,如果有显而易见的错误,比如没有创建文件夹时就已经开始在该文件夹下操作,还请读者自行创建~
step1 下载并解压HBase
博主因为课程需要以及版本问题,下载的版本为2.0.5
请注意版本兼容性问题,具体适配情况如下图:
因为Hadoop为3.1.1,所以说HBase下载2.0.5是支持的
下载完成后,将该文件放置在/usr/local/
下
老样子,将该文件解压到该目录下并重命名
cd /usr/local tar -zxvf hbase-2.0.5-bin.tar.gz mv /usr/local/hbase-2.0.5 /usr/local/hbase
step2 环境变量的配置
修改~/.bashrc
文件
vim ~/.bashrc
加入下面的几行:
export HBASE_HOME=/usr/local/hbase export PATH=$HBASE_HOME/bin:$PATH export PATH=$HBASE_HOME/lib:$PATH
source一下让使其生效
source ~/.bashrc
查看HBase版本以确实环境变量是否得体:
出现版本号之后则说明环境变量设置的没问题
但是在第一次处理的时候,博主遇到了连个重复的jar包,还是有关日志文件的slf4j,如下图:
在这种情况下,我们需要删除一个,博主删除的是第一个:
rm -rf /usr/local/hbase/lib/slf4j-log4j12<Tab补全>
step3 配置文件修改
1. hbase-env.sh修改
跳到/usr/local/hbase/conf下,命令:
cd /usr/local/hbase/conf
修改hbase-env.sh,命令vim hbase-env.sh
加入:
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64 export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop export HBASE_MANAGES_ZK=false
根据自己的JDK版本进行添加,切勿盲目CV
2. hbase-site.xml 修改
cd /usr/local/hbase/conf
vim hbase-site.xml
加入:
<property><name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name><value>hdfs://master315:9000/hbase</value> </property> <property><name>hbase.zookeeper.quorum</name> <value>master315,slave01-315,slave02-315</value> <description>The directory shared by RegionServers. </description> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper</value> </property>
切勿盲目CV,一定看好自己的版本和名字并放到configuration标签之下
请注意:
要用HDFS为Hbase提供存储空间,
定义hbase.rootdir参数时HDFS文件系统的主机名和端口号必须与Hadoop的配置文件core-site.xml中fs.default.name参数的配置一致
3. regionservers 修改
cd /usr/local/hbase/conf/
vim regionservers
在master节点加入:
记得删除原本的localhost
name1 name2 . . . namen
4. backup-masters修改
这个是指出备份主机是谁,我们设为slave01
则编辑加入:
cd /usr/local/hbase/conf/
vim backup-masters
slave01
根据自己实际情况来看,切勿盲目CV
step4 传递到其他节点
将master节点下配置好的文件全部分发到slave1和slave2节点
命令:
scp -r /usr/local/hbase name1:/usr/local/ scp -r /usr/local/hbase name2:/usr/local/ . . . scp -r /usr/local/hbase namen:/usr/local/
然后将配置好的环境变量的文件~/.bashrc
也手动修改或者是传送到其他节点:
scp -r ~/.bashrc name1:~ scp -r ~/.bashrc name2:~ . . . scp -r ~/.bashrc namen:~
记得source一下使其生效
即在各个节点(除了master): source ~/.bashrc