作者:mobiledu2502907187 | 来源:互联网 | 2023-08-29 12:42
前言:在安装hbase集群版之前要确保本机有Hadoop集群(一定要),zookeeper集群(也可以没有)学个鸡毛,来把农药压压惊。一、配置解压安装将hbase-1.1.6-bi
前言:在安装hbase集群版之前要确保本机有Hadoop集群(一定要),zookeeper集群(也可以没有)
学个鸡毛,来把农药压压惊。
一、配置
-
解压安装
将hbase-1.1.6-bin.tar.gz安装包解压安装到/usr/local目录下
tar -zvxf hbase hbase-1.1.6-bin.tar.gz -C /usr/local
解压后/usr/local下会出现hbase1.1.6文件
-
在hbase1.1.6创建tmp目录
mkdir tmp
用来做HBase 临时文件路径
-
进入conf目录
修改hbase-site.xml、hbase-env.sh、regionservers三个文件
修改habse-site.xml
hbase.rootdir
hdfs://master:8020/hbase # 使用 8020 端口
The directory shared by region servers.
hbase.master.info.port
60010 # 使用 master 节点 60010 端口
hbase.zookeeper.property.clientPort
2181 # 使用 master 节点 2181 端口
Property from ZooKeeper's config zoo.cfg. The port at
which the clients will connect.
zookeeper.session.timeout
120000 # ZooKeeper 超时时间
hbase.zookeeper.quorum
master,slave1,slave2,slave3 # ZooKeeper 管理节点
hbase.tmp.dir
/usr/local/hbase/tmp # HBase 临时文件路径
hbase.cluster.distributed
true # 使用分布式 HBase
修改hbase-env.sh文件
jdk、hadoop要对应自己的版本
#Java 安装位置
export JAVA_HOME=/usr/java/jdk1.7.0_80
#值为 true 使用 HBase 自带的 ZooKeeper,值为 false 使用在 Hadoop上装的ZooKeeper
export HBASE_MANAGES_ZK=false
#HBase 类路径
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop/
修改regionserver文件
注释掉localhost,添加其他节点主机名
slave1
slave2
slave3
-
添加环境变量
vi /etc/profile
export HBASE_HOME=/usr/local/hbase1.1.6
export PATH=$PATH:$HBASE_HOME/bin
-
远程分发到其他节点机器
scp -r /usr/local/hbase1.1.6 root@slave1:/usr/local
scp -r /usr/local/hbase1.1.6 root@slave2:/usr/local
scp -r /usr/local/hbase1.1.6 root@slave3:/usr/local
同步环境变量
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
scp -r /etc/profile root@slave3:/etc/profile
记得保存,用source /etc/profile
-
启动
启动顺序:先启动hadoop,在启动zookeeper集群,再启动hbase集群。关闭则相反。
成功标志:
在浏览器输入
master:60010
出现证明启动成功。
二、总结
1.常规操作解压、安装、添加环境变量
2.改三个文件regionservers、hbase-site.xml、hbase-ev.sh
3.同步到其他机器
三、可能出现的问题
1.打不开master:60010,说明没有HMaster
2.没有HMaster,启动hbase,jps后会有HMaster.没有的话看看是不是hbase下没有创建tmp临时目录,以及hbase-site.xml文件,第一行的hdfs端口与hadoop集群的hdfs.site.xml里面的端口不一样。