环境

jdk1.8.0_121

hadoop-2.7.2

链接:https://pan.baidu.com/s/1vi3TNtnauqd-x0FQkpaZig 
提取码:ffo9 
复制这段内容后打开百度网盘手机App,操作更方便哦

zookeeper-3.4.5

链接:https://pan.baidu.com/s/11DBYKY4js-BUQwNBDPIYvg 
提取码:2645 
复制这段内容后打开百度网盘手机App,操作更方便哦

 hbase-1.3.1

链接:https://pan.baidu.com/s/1IuueRj4-8EeoEmc_mFNN6Q 
提取码:pvwk 
复制这段内容后打开百度网盘手机App,操作更方便哦

安装JDK和hadoop

​​ECS服务器搭建hadoop伪分布式_CBeann的博客-CSDN博客_宝塔部署hadoop​​

安装zookeeper

前提:

我将安装包放在  /opt/software  下

我安装包解压到 /opt/module  下

在准备用这篇文章之前请先快照一下,在准备用这篇文章之前请先快照一下,在准备用这篇文章之前请先快照一下

文章中有关的端口都确认开启

安装步骤:

1)上传 zookeeper-3.4.5.tar.gz 到  /opt/software  下

2)将  zookeeper-3.4.5.tar.gz 解压到   /opt/module

tar -zxvf zookeeper-3.4.5.tar.gz -C /opt/module/

HBase搭建单机版_HBase搭建单机版

3)将  zookeeper-3.4.5/conf  下的  zoo_sample.cfg 复制一份并且重命名为 zoo.cfg

cp zoo_sample.cfg zoo.cfg

HBase搭建单机版_jar_02

4)修改zoo.cfg文件 (细节比较多,请仔细看注意)

注意:

① dataDir=/opt/module/zookeeper-3.4.5/mydata         #指定zookeeper的数据存放目录,启动前需要建立好该目录(敲黑板)

② server.1=iZm5ea99qngm2v98asii1aZ:2888:3888  #此处需要按行分开指定所有的zookeeper集群节点,server后的数字 “1” 表示节点的id,范围为1-255,即zookeeper集群最多可以有255个节点,iZm5ea99qngm2v98asii1aZ依然为节点服务器的主机名hostname,此处由于我们是伪分布式集群模式,只有一个节点,所以只有一行配置

③ (敲黑板)由于上述配置文件定义当前节点服务器的zookeeper的id为1,所以需要在dataDir目录下创建一个内容为id值 “1” ,文件名为myid的文件,表面当前节点的id为1

修改前

HBase搭建单机版_zookeeper_03

修改后

HBase搭建单机版_jar_04

5)启动zookeeper(在zookeeper目录下)

HBase搭建单机版_hadoop_05

启动zookeeper

bin/zkServer.sh start

查看zookeeper状态

bin/zkServer.sh status

关闭zookeeper

bin/zkServer.sh stop

安装HBase

1)将 hbase-1.3.1-bin.tar.gz 上传到 //opt/software  目录下 ,将 安装包解压到  /opt/module  下

tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module/

2)修改hbase-1.3.1下conf下的hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_121
export HBASE_MANAGES_ZK=false

修改前

HBase搭建单机版_zookeeper_06

HBase搭建单机版_zookeeper_07

修改后

HBase搭建单机版_hadoop_08

HBase搭建单机版_HBase搭建单机版_09

3)修改hbase-1.3.1下conf下的hbase-site.xml

hbase.rootdir               HDFS的URL

hbase.zookeeper.quorum      zookeeper集群(linux01:2181,linux02:2181,linux03:2181)中间用逗号

hbase.zookeeper.property.dataDir    为有myid文件的目录,上面搭建zookeeper时候有说这个目录

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://iZm5ea99qngm2v98asii1aZ:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>

<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>

<property>
<name>hbase.regionserver.port</name>
<value>16201</value>
</property>

<property>
<name>hbase.regionserver.info.port</name>
<value>16301</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>iZm5ea99qngm2v98asii1aZ:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.5/mydata</value>
</property>

</configuration>

4)导入HBase 需要依赖的 (HDFS和zookeeper)Jar 包

4.1)删除 /opt/module/hbase-1.3.1/lib  下  hadoop-*   和zookeeper  .jar   :为了和自己安装的hadoop和zookepper版本一致

rm -rf hadoop-*
rm -rf zookeeper-3.4.6.jar

HBase搭建单机版_hadoop_10

4.2)将 自己版本的 jar 放在上面的lib下

注意: 找下面jar的方法在  下面的博客里有提到

​​Flume笔记_CBeann的博客-CSDN博客​​

hadoop-annotations-2.7.2.jar
hadoop-auth-2.7.2.jar
hadoop-client-2.7.2.jar
hadoop-common-2.7.2.jar
hadoop-hdfs-2.7.2.jar
hadoop-mapreduce-client-app-2.7.2.jar
hadoop-mapreduce-client-common-2.7.2.jar
hadoop-mapreduce-client-core-2.7.2.jar
hadoop-mapreduce-client-hs-2.7.2.jar
hadoop-mapreduce-client-hs-plugins-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2-tests.jar
hadoop-mapreduce-client-shuffle-2.7.2.jar
hadoop-yarn-api-2.7.2.jar
hadoop-yarn-applications-distributedshell-2.7.2.jar
hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar
hadoop-yarn-client-2.7.2.jar
hadoop-yarn-common-2.7.2.jar
hadoop-yarn-server-applicationhistoryservice-2.7.2.jar
hadoop-yarn-server-common-2.7.2.jar
hadoop-yarn-server-nodemanager-2.7.2.jar
hadoop-yarn-server-resourcemanager-2.7.2.jar
hadoop-yarn-server-tests-2.7.2.jar
hadoop-yarn-server-web-proxy-2.7.2.jar
zookeeper-3.4.5.jar

5)HBase 软连接 Hadoop 配置:将hadoop的/core-site.xml 和hdfs-site.xml 软连接到 hbase/conf下

用软连接不用复制的原因:万一hadoop上的配置修改了,还要重新复制一份,容易遗忘

HBase搭建单机版_hadoop_11

ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml  /opt/module/hbase-1.3.1/conf/
ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml  /opt/module/hbase-1.3.1/conf/

6)HBase 服务启动

HBase搭建单机版_HBase搭建单机版_12

启动hbase服务

bin/start-hbase.sh

关闭hbase服务

bin/stop-hbase.sh

出现如下图的警告

HBase搭建单机版_HBase搭建单机版_13

解决办法:如果使用的是 JDK8 以 上 版 本 , 则 应 在 hbase-evn.sh 中移除 “HBASE_MASTER_OPTS” 和 “HBASE_REGIONSERVER_OPTS” 配置

7)查看HBase界面  端口 16010

​http://ip:16010​

HBase搭建单机版_HBase搭建单机版_14

参考资料

Hbase端口设置


Hadoop+Hbase+Zookeeper伪分布式集群实践初探和心得记录