首先设置Zookeeper和HBase的环境变量,见第一篇文章

1设置Zookeeper

1.1 修改 conf/zoo.cfg 文件

 

在master、slave1、slave2这三台机器上,分别输入如下命令:

cd /usr/local/hadoop-2.9.2/zookeeper/conf
vim zoo.cfg

 

master机器的zoo.cfg文件,修改为如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop-2.9.2/zookeeper/data
dataLogDir=/usr/local/hadoop-2.9.2/zookeeper/log
clientPort=2181
server.1=0.0.0.0:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

 

slave1机器的zoo.cfg文件,修改为如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop-2.9.2/zookeeper/data
dataLogDir=/usr/local/hadoop-2.9.2/zookeeper/log
clientPort=2181
server.1=master:2888:3888
server.2=0.0.0.0:2888:3888
server.3=slave2:2888:3888

 

slave2机器的zoo.cfg文件,修改为如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop-2.9.2/zookeeper/data
dataLogDir=/usr/local/hadoop-2.9.2/zookeeper/log
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=0.0.0.0:2888:3888

注意,如果使用的zookeeper是3.5以上的版本,需要注意管理控制台的端口,默认为8080。

如果8080端口已经被占用,可以通过如下配置修改zookeeper的控制台的端口,例如可以修改为8880端口:

admin.serverPort=8880

 

1.2 增加data/myid文件

在master机器上:

cd /usr/local/hadoop-2.9.2/zookeeper/data
touch myid

打开myid文件,里面输入一个单独的数字:1。

 

在slave1r机器上:

cd /usr/local/hadoop-2.9.2/zookeeper/data
touch myid

打开myid文件,里面输入一个单独的数字:2。

 

在slave2r机器上:

cd /usr/local/hadoop-2.9.2/zookeeper/data
touch myid

打开myid文件,里面输入一个单独的数字:3。

 

1.3启动三台机器的zookeeper

在三台机器分别执行如下命令,可以对zookeeper进行控制:

cd /usr/local/hadoop-2.9.2/zookeeper/bin
#启动
./zkServer.sh start

#查看状态
./zkServer.sh status

#关闭
./zkServer.sh stop

 

2配置HBase

 

2.1将Hadoop的配置文件拷贝到HBase的目录中

在三台机器上分别执行如下命令,将Hadoop的配置文件拷贝到HBase的conf目录中:

 cp /usr/local/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /usr/local/hadoop-2.9.2/hbase-1.4.6/conf/

 cp /usr/local/hadoop-2.9.2/etc/hadoop/core-site.xml /usr/local/hadoop-2.9.2/hbase-1.4.6/conf/

 

2.2创建相关目录

在三天机器上检查如下目录是否存在,如果不存在则执行如下命令,创建目录

cd /usr/local/hadoop-2.9.2/hbase-1.4.6
mkdir logs
mkdir pids

并设置读写权限。

 

2.3修改HBase中conf/hbase-env.sh文件

三台机器相同,内容如下:

export JAVA_HOME=/usr/local/jdk1.8.0_261
export HBASE_CLASSPATH=/usr/local/hadoop-2.9.2/etc/hadoop
export HBASE_MANAGES_ZK=false #//此配置单独指定zookeeper,设为true使用自带zookeeper
export HBASE_HOME=/usr/local/hadoop-2.9.2/hbase-1.4.6
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers
export HBASE_PID_DIR=${HBASE_HOME}/pids

 

2.3创建conf/regionservers文件

三台机器相同,如文件不存在,则创建conf/regionservers文件,内容如下:

ubuntu@master
ubuntu@slave1
ubuntu@slave2

 

2.3设置conf/hbase-site.xml文件

三台机器设置略有不同,下面分别来说:

master机器上内容如下:

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/hadoop-2.9.2/zookeeper/data</value>
    </property>
    <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>0.0.0.0,slave1,slave2</value>
    </property>
</configuration>

 

slave1 机器上内容如下:

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/hadoop-2.9.2/zookeeper/data</value>
    </property>
    <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master,0.0.0.0,slave2</value>
    </property>
</configuration>

 

slave2 机器上内容如下:

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/hadoop-2.9.2/zookeeper/data</value>
    </property>
    <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master,slave1,0.0.0.0</value>
    </property>
</configuration>

 

3启动HBase集群

启动和关闭集群命令如下:

cd /usr/local/hadoop-2.9.2/hbase-1.4.6/bin

#启动集群
./start-hbase.sh  (HMaster  HRegionServer)
./hbase-daemon.sh start master
./hbase-daemon.sh start regionserver

#关闭集群
./stop-hbase.sh
./hbase-daemon.sh stop master
./hbase-daemon.sh stop regionserver

 

集群启动后,可以通过此地址查看HBase集群状态:

http://master公网IP:60010/

 

输入hbase shell 可以进入HBase的控制台,执行相关查询操作。

至此HBse配置完毕。

posted on 2020-08-31 11:43  Sempron2800+  阅读(185)  评论(0编辑  收藏  举报