Zookeeper与HBse安装过程纪录

时间:2023-03-10 07:05:38
Zookeeper与HBse安装过程纪录

1 zookeeper安装

1.1 环境变量

1.2 配置zoo.cfg

初次使用 ZooKeeper 时, 需要将 $ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg。

ticketTime=2000

clientPort=2181

dataDir=/opt/zookeeper/data

dataLogDir=/opt/zookeeper/logs

1.3 启动再关闭服务

	zkServer.sh start
zkServer.sh stop

1.4 进入安装目录下的data/创建myid文件

先在zoo.cfg里的最后添加地址和id、端口映射

	server.1=Master:2888:3888
server.2=Slaver1:2888:3888
server.3=Slaver2:2888:3888

创建myid文件

在 dataDir 指定的目录下 (即 /opt/zookeeper/data 目录) 创建名为 myid 的文件, 文件内容和 zoo.cfg 中当前机器的 id 一致。根据上述配置, master 的 myid 文件内容为 1。

slave配置

按照相同步骤, 为 slave01 和 slave02 配置 zoo.cfg 和 myid 文件。zoo.cfg文件内容相同, slave01 的 myid 文件内容为 2, slave02 的 myid 文件内容为 3。

1.5 每个节点上启动服务

1.6 查看每个节点的状态

	zkServer.sh status

2 HBase安装

2.1 每台节点做单机配置

2.1.1 环境变量

2.1.2 配置文件

编辑 hbase-env.sh 配置文件:

	export JAVA_HOME=/opt/java/jdk1.7.0_80/  #JDK安装目录
export HBASE_MANAGES_ZK=true #配置hbase自己管理zookeeper
conf/hbase-site.xml

编辑 HBase 核心配置文件 hbase-site.xml, 指定本地文件系统上存储 HBase 和 ZooKeeper 数据的目录. 默认 HBase 数据会存储在 /tmp/hbase-${user.name} 目录下. 很多服务器在重启之后会删除 /tmp 目录, 所以应该将数据存储在其它目录下. 配置如下:

	<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/hadoop/opt/hbase/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/opt/hbase/data/zookeeper</value>
</property>
</configuration>

2.2 启动hbase

bin/start-hbase.sh 可以很方便的启动 HBase.

2.3 验证安装

使用 jps 命令可以看到启动了一个称为 HMaster 的进程.

2.4 关闭每个单独节点的hbase和zookeeper

	stop-hbase.sh
zkServer.sh stop

2.5 在Master上做分布式的配置,并把配置文件复制到其他各个节点##

2.5.1 配置conf/regionservers

regionservers 配置文件用来指定运行 RegionServer 的节点, 根据上表的节点规划, 编辑 conf/regionservers 文件, 删除内容为 localhost 的这一行, 然后将 Slaver1 等的主机名或 IP 地址添加进去.regionservers 配置文件的内容如下:

	Slaver1

2.5.2 配置conf/hbase-env.sh

HBase 集群的运行依赖 ZooKeeper 集群.所有的节点和客户端都必须要能够访问 ZooKeeper, HBase 自己默认会管理一个 ZooKeeper 集群, 这个集群会随着 HBase 的启动而启动。现在我们希望自己维护一个 ZooKeeper 集群, 需要在 conf/hbase-env.sh 文件中做以下配置:

	export JAVA_HOME=/opt/java/jdk1.7.0_80/  #JDK安装目录
export HBASE_MANAGES_ZK=false #不用HBase管理ZooKeeper集群
conf/hbase-site.xml

既然是我们自己管理 ZooKeeper 集群, 就需要告诉 HBase ZooKeeper 集群的地址, 修改 conf/hbase-site.xml 文件。

2.5.3 配置conf/hbase-site.xml

	<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>hbase.zookeeper.quorum</name>
<value>master,slave01,slave02</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/zookeeper/data</value>
</property>
</configuration>

2.5.4 拷贝master配置文件

使用以下命令拷贝 master 服务器上 HBase 安装目录下 conf 文件夹的内容到其他各个节点。

2.6 分布式启动

2.6.1 启动ZooKeeper集群

在每台服务器上执行 zkServer.sh start 命令即可启动集群。启动成功后, 使用 jps 命令可以看到每台服务器上都启动了这个 QuorumPeerMain 进程.

2.6.2 启动HBase集群

在 Master 节点上执行 start-hbase.sh 命令可以启动 HBase 集群.

2.7 验证分布式安装

在集群中的每台服务器上执行 jps 命令查看当前正在运行的 java 进程以检查集群是否启动成功

2.8 Web UI

3 参考文献