所有需要的工具:链接: https://pan.baidu.com/s/1zmklr9r9TC7UDn-q0SJ75A 提取码: afdy
本人选用的是jdk8+centos7+hadoop2.7.5+zookeeper3.4.10+hbase1.3.1
安装zookeeper
在hadoop1、hadoop2和hadoop3三个节点上部署Zookeeper。
上传Zookeeper安装包到/home/hadoop/apps/目录下并解压
tar -zxvf zookeeper-3.4.10.tar.gz -C /home/hadoop/apps/
在/home/hadoop/apps/zookeeper-3.4.10/这个目录下创建zkData
mkdir -p zkData
在/zkData目录下创建一个myid的文件
touch myid
编辑myid文件,在文件中添加与server对应的编号:
vim myid
1
同步zookeeper到hadoop2和hadoop3
注意hadoop1同步文件夹到hadoop2命令
scp -r 本机文件目录 hadoop2: 文件目录
如:scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop2:/home/hadoop/apps/
并分别在hadoop2、hadoop3上修改myid文件中内容为2、3。
接下来:配置zoo.cfg文件
重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
打开zoo.cfg文件,修改数据存储路径配
vim zoo.cfg
添加如下
dataDir=/home/hadoop/apps/zookeeper-3.4.10/zkData
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
同步到hadoop2,hadoop3.仅此文件同步传输或者每个机器自己执行一遍上述操作
配置参数解读
server.A=B:C:D。
A是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
三台分别启动Zookeeper,如图示
[hadoop@hadoop1 zookeeper-3.4.10]$ bin/zkServer.sh start
Hbase安装
Zookeeper 正常部署
首先保证 Zookeeper 集群的正常部署,并启动之:
zookeeper没配环境变量就需要进入到目录,如果配置了环境变量就不需要前缀bin
bin/zkServer.sh start
Hadoop 正常部署
Hadoop 集群的正常部署并启动:配置了环境变量
sbin/start-dfs.sh
sbin/start-yarn.sh
通过filezilla上传 Hbase 到指定目录并解压:
tar -zxvf hbase-1.3.1-bin.tar.gz -C /home/hadoop/apps
HBase 的配置文件
修改 HBase 对应的配置文件。
1) hbase-env.sh 修改内容:
export JAVA_HOME=/home/java/jdk1.8.0_231
export HBASE_MANAGES_ZK=false
2) hbase-site.xml 修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1: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.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/apps/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
3) regionservers:
hadoop1
hadoop2
hadoop3
4)软连接 hadoop 配置文件到 HBase:
ln -s /home/hadoop/apps/hadoop-2.7.5/etc/hadoop/core-site.xml /home/hadoop/apps/hbase/conf/core-site.xml
ln -s /home/hadoop/apps/hadoop-2.7.5/etc/hadoop/hdfs-site.xml /home/hadoop/apps/hbase/conf/hdfs-site.xml
HBase 同步到集群其他机器
注意hadoop1同步文件夹到hadoop2命令
scp -r 本机文件目录 hadoop2: 文件目录
如:scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop2:/home/hadoop/apps/
启动方式
进入到Hbase目录 输入
bin/start-hbase.sh
启动成功后,可以通过以下网址查看
http://hadoop1:16010
也可以通过到hbase目录输入以下命令进入
bin/hbase shell