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
-
Master上:http://master:16010
-
Slaver上:http://regionserver:16030