本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 。

1 节点环境介绍:

1.1 环境介绍:

1.2 各节点角色分配

  • master: NameNode、SecondaryNameNode、HMaster、QuorumPeerMain
  • slave1: DataNode、HMaster(候补节点)、HRegionServer、QuorumPeerMain
  • slave2: DataNode、HRegionServer、QuorumPeerMain

2 HBase 下载

下载 hbase-1.2.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为:

/usr/local

将解压得到的目录改名为 hbase

 cd /usr/local
mv hbase-1.2./ hbase/

3 添加 HBase 环境变量

在"/etc/profile"中添加内容:

 export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

重新加载环境:

source /etc/profile

4 修改 HBase 配置信息

4.1 修改 hbase 环境变量 (hbase-env.sh)

编辑文件:

vim $HBASE_HOME/conf/hbase-env.sh

添加内容:

 export JAVA_HOME=/usr/local/jdk1.
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop export HBASE_MANAGES_ZK=false

关于 HBASE_CLASSPATH , 官方文档解释如下:Of note, if you have made HDFS client configuration changes on your Hadoop cluster, such as configuration directives for HDFS clients, as opposed to server-side configurations, you must use one of the following methods to enable HBase to see and use these configuration changes:

  • Add a pointer to your HADOOP_CONF_DIR to the HBASE_CLASSPATH environment variable in hbase-env.sh.
  • Add a copy of hdfs-site.xml (or hadoop-site.xml) or, better, symlinks, under ${HBASE_HOME}/conf, or
  • if only a small set of HDFS client configurations, add them to hbase-site.xml.

An example of such an HDFS client configuration is dfs.replication. If for example, you want to run with a replication factor of 5, HBase will create files with the default of 3 unless you do the above to make the configuration available to HBase.

HBASE_MANAGES_ZK 设置是否使用内置 ZooKeeper ,默认为 true 也就是使用内置 ZooKeeper 笔者这里使用外置 ZooKeeper 。(生产环境建议使用外置ZooKeeper,维护起来比较方便,可参考到底要不要用hbase自带的zookeeper

4.2 修改 hbase 默认配置(hbase-site.xml)

编辑文件:

vim $HBASE_HOME/conf/hbase-site.xml

配置可参考如下代码:

 <configuration>
<!--HBase 的数据保存在 HDFS 对应的目录下-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!--是否分布式环境-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--配置 ZK 的地址, 三个节点都启用 ZooKeeper-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<!--内置 ZooKeeper 的数据目录-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/zookeeper</value>
</property>
</configuration>

4.3 指定 regionservers (regionservers)

编辑文件:

vim $HBASE_HOME/conf/regionservers

添加内容:

 slave1
slave2

4.4 指定候补节点(backup-masters)

这个文件需要自己创建。

编辑文件:

vim $HBASE_HOME/conf/backup-masters

添加内容:

slave1

为了保证HBase集群的高可靠性,HBase支持多Backup Master 设置。当Active Master挂掉后,Backup Master可以自动接管整个HBase的集群。

5 分发 hbase 和 profile 给 slave1,slave2(建议将 hbase 压缩后分发)

 scp -r /usr/local/hbase slave1:/usr/local
scp -r /usr/local/hbase slave2:/usr/local
 scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/

分发后分别在各节点重新加载环境并测试,可使用 hbase version 测试。

6 安装 ZooKeeper

参考 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

7 开放相关端口(坑!!!!!!)

注:服务器端口全部开放的可以直接跳过这一步,不想看笔者BB的也可以直接跳到该小结的最后。

可能是由于计算机网络没学好,从搭建Hadoop开始大半的时间都被浪费到这个端口问题上,各种 Error 全都是因为这个问题。

阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)的更多相关文章

  1. 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

    准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...

  2. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  3. 阿里云ECS服务器部署HADOOP集群(六):Flume 安装

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...

  4. 阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

    本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿 ...

  5. 阿里云ECS服务器部署HADOOP集群(五):Pig 安装

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...

  6. 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 本地模式需要采用MySQL数据库存储数据. 1 环境介绍 一台阿里云ECS服务器:master ...

  7. thinkphp项目阿里云ECS服务器部署

    [日记]thinkphp项目阿里云ECS服务器部署   项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS  代码管理方式git 一.阿里ECS服务器配置 ...

  8. 阿里云ECS服务器部署Node.js项目全过程详解

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  9. 【日记】thinkphp项目阿里云ECS服务器部署

    项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS  代码管理方式git 一.阿里ECS服务器配置 1.因为线上已经有几个站点了.所以要配置ngnix多站 ...

随机推荐

  1. Chrome 浏览器垃圾回收机制与内存泄漏分析

    Chorme 浏览器中的垃圾回收和内存泄漏 垃圾回收 通常情况下,垃圾数据回收分为手动回收和自动回收两种策略. 手动回收策略,何时分配内存.何时销毁内存都是由代码控制的. 自动回收策略,产生的垃圾数据 ...

  2. 21.Nginx代理缓存

    1.环境准备 操作系统 应用服务 外网地址 内网地址 CentOS7.6 LB01 10.0.0.5 172.16.1.5 CentOS7.6 Web01 10.0.0.7 172.16.1.7 2. ...

  3. 阿里巴巴开源故障注入工具_chaosblade

    chaosblade是阿里巴巴最近开源的一款故障注入的工具,因为我最近在做公司的虚拟化平台的可靠性测试工具,无意中发现这个工具,个人感觉比较有用,用起来也比较简单,所以拿出来分享一下,期望对大家的工作 ...

  4. vue-route动态路由

    配置子路由: 路由的视图都需要使用view-router 子路由也可以嵌套路由使用: children来做嵌套如上图 使用location.页面name就可以做页面跳转 mounted:挂载,延迟跳转 ...

  5. Rest_Framework之认证、权限、频率组件源码剖析

    一:使用RestFramwork,定义一个视图 from rest_framework.viewsets import ModelViewSet class BookView(ModelViewSet ...

  6. 感谢ZhangYu dalao回关

  7. 使用Typescript重构axios(三十二)——写在最后面(总结)

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. 重置root密码!

    偶尔把密码忘记了也不用慌,重置密码只需简单几步: 第1步:开机后在内核上敲击“e”. 第2步:在linux16这行的后面输入“rd.break”并敲击“ctrl+x“. 第3步:进入到了系统的紧急求援 ...

  9. JVM 中你不得不知的一些参数

    有的同学虽然写了一段时间 Java 了,但是对于 JVM 却不太关注.有的同学说,参数都是团队规定好的,部署的时候也不用我动手,关注它有什么用,而且,JVM 这东西,听上去就感觉很神秘很高深的样子,还 ...

  10. mysql并发量过大造成 update语句更新错误

    mysql并发量过大造成 update语句更新错误 在同一字段的时候更新的时候 如果并发量太大 就会更新错误 这个时候只能用 swoole 消息队列更新