Hbase 集群安装及配置
  fztgkkRjHIsV 2023年11月02日 83 0


docker

  1. 先使用Docker构建一个Zookeeper运行环境的镜像,之前做过Hadoop的集群,我做过一个镜像(这里)
  2. 然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点
  3. 在Master节点上配置Slave节点信息
  4. 在Master上启动Hadoop集群
  5. 在Master上启动Zookeeper集群

Hbase安装

我使用的是hbase-1.2.6-bin,其他版本这里

cd /usr/local/hadoop
wget http://mirror.bit.edu.cn/apache/hbase/1.2.6/hbase-1.2.6-bin.tar.gz
tar -zxvf hbase-1.2.6-bin.tar.gz

Hbase环境变量


编辑配置  vi ~/.bashrc  


#Hbase
export HBASE_HOME=/usr/local/hadoop/hbase-1.2.6
export PATH=$HBASE_HOME/bin:$PATH


生效配置 source ~/.bashrc

Hbase配置

修改及配置 vi hbase-env.sh

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


修改及配置  vi hbase-site.sh


<configuration>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2</value>
    <description>The directory shared by RegionServers.
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hadoop/zookeeper-3.4.11/data </value>
    <description>
    注意这里的zookeeper数据目录与hadoop ha的共用,也即要与 zoo.cfg 中配置的一致
    Property from ZooKeeper config zoo.cfg.
    The directory where the snapshot is stored.
    </description>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
    <description>The directory shared by RegionServers.
                 官网多次强调这个目录不要预先创建,hbase会自行创建,否则会做迁移操作,引发错误
                 至于端口,有些是8020,有些是9000,看 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 里面的配置,本实验配置的是
                 dfs.namenode.rpc-address.hdcluster.nn1 , dfs.namenode.rpc-address.hdcluster.nn2
    </description>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>分布式集群配置,这里要设置为true,如果是单节点的,则设置为false
      The mode the cluster will be in. Possible values are
      false: standalone and pseudo-distributed setups with managed ZooKeeper
      true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)
    </description>
  </property>
</configuration>


在文件中添加各个从属服务器的ip或者hostname, vi egionservers


master  
slave1  
slave2

Hbase

重点来了

前面已经将Hadoop的镜像构建好了,下面就是使用这个镜像搭建Master节点和Slave节点了:

前面已经将Hadoop的镜像构建好了,下面就是使用这个镜像搭建Master节点和Slave节点了:

节点

hostname

ip

用途

Docker启动脚本

Master

master

10.0.0.2

follower 

or leader

docker run  -p 50070:50070 -p 19888:19888 -p 8088:8088 -p 2181:2181 -p 16010:16010 --name  master  -ti -h master  linux:hadoop

Slave

slave1

10.0.0.3


follower 

or

leader


docker run -it -h slave1 --name slave1  linux:hadoop  /bin/bash

Slave

slave2

10.0.0.4


follower 

or 

leader


docker run -it -h slave2 --name slave2  linux:hadoop  /bin/bash

这里有几个问题:

  1. Docker容器中的ip地址是启动之后自动分配的,且不能手动更改
  2. hostname、hosts配置在容器内修改了,只能在本次容器生命周期内有效。如果容器退出了,重新启动,这两个配置将被还原。且这两个配置无法通过

commit

  1. 命令写入镜像

配置hosts

  1. 通过

ifconfig

  1. 命令获取各节点ip。环境不同获取的ip可能不一样,例如我本机获取的ip如下: 
  • master:172.17.0.2
  • slave1:172.17.0.3
  • slave2:172.17.0.4
  1. 使用 

vi /etc/hosts

  1.   命令将如下配置写入各节点的hosts文件,注意修改ip地址:
172.17.0.2      master  
172.17.0.3      slave1  
172.17.0.4      slave2
  1. 启动sshd  /usr/sbin/sshd 
  2. 启动hbase.sh start-hbase.sh

jps查看进程

Hbase 集群安装及配置_Hadoop

Hbase 集群安装及配置_hadoop_02

可以通过Web页面看到查看Master的状态:http://IP:16010 

Hbase 集群安装及配置_hadoop_03

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
fztgkkRjHIsV