本篇将在阿里云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. mycat+mysql搭建高可用集群1--垂直分库

    mycat垂直分库 本文主要介绍了如何使用mycat对mysql数据库进行垂直分库,包括: 垂直分库的步骤 垂直分库的环境准备 配置mycat垂直分库 1. 垂直分库的步骤 收集分析业务模块间的关系 ...

  2. php好在哪?

    PHP即“超文本预处理器”,是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 PHP 自创的语法.利于学习 ...

  3. 13.多级代理下Nginx透传真实IP

    1.基于代理(七层负载均衡)情况下 透传客户端的真实IP 环境: 10.0.0.5 proxy_node1 一级代理 10.0.0.6 proxy_node2 二级代理 10.0.0.7 proxy_ ...

  4. C++bosst遍历文件目录,根据文件名返回文件路径。

    VS2071安装Boost库 安装boost库 接着安装boost_system-vc140(可根据开发需求,更改版本) 废话不多说,上代码 // 测试程序.cpp : 此文件包含 "mai ...

  5. 二叉树的查找(前序、中序、后序、层序遍历)--biaobiao88

    建立一棵含有n个结点的二叉树,采用二叉链表存储: 输出前序.中序.后序..层序遍历该二叉树的遍历结果. 定义二叉树的数据类型——二叉树结点结构体BiNode.建立二叉链表可以采用扩展二叉树的一个遍历序 ...

  6. 使用JRebel插件实现SpringBoot应用代码热加载

    前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面 ...

  7. vue 组件样式如何不影响全局

    可以在 "style" 标签中添加 "scoped" 属性. <style scoped> .red { color: #f00; } </s ...

  8. 探究JavaScript闭包

    什么是JavaScript闭包? 刚开始知道这个词,就误以为是自动执行的匿名函数块. 比如说+function(){}(); 然而并不是,那么请看下面的例子: function init() { va ...

  9. Spring Cloud Feign初接触

    最近想使用下Feign,然后简单了解了一下,简单的搭了个demo. 首先简单介绍一下Feign,它是一个Http请求客户端,类似HttpClient,具体里面实现还没去看,知道它是一个请求客户端就行, ...

  10. Leetcode Tags(8)Binary Search

    一.475. Heaters 输入: [1,2,3],[2] 输出: 1 解释: 仅在位置2上有一个供暖器.如果我们将加热半径设为1,那么所有房屋就都能得到供暖. 输入: [1,2,3,4],[1,4 ...