环境:

  CentOS 6.6                hadoop-2.6.0            hbase-0.98.10.1

  HBase1    192.168.1.4     Master

  HBase2    192.168.1.5     Slave1

  HBase3    192.168.1.6     Slave2

准备工作:

新建hadoop账户

  每台主机都需要设置

useradd hadoop

passwd hadoop

 

  切换到hadoop用户,以下操作全部使用hadoop用户,所有目录的user和group均为hadoop,如果不是,手动改为hadoop

设置JAVA环境

  每台主机都需要设置

  参考文章:http://www.cnblogs.com/xs104/p/4478096.html

设置hosts

  每台主机都需要设置

vi /etc/hosts

127.0.0.1   localhost
192.168.1.4 HBase1
192.168.1.5 HBase2
192.168.1.6 HBase3

设置无密码ssh访问子节点

在Master机器上(HBase1)执行:

  1.在/home/hadoop目录下新建文件夹.ssh,设置权限为700

  2.生成密钥

ssh-keygen -t rsa 

  连续输入三次回车,则在.ssh文件夹内生成了id_rsaid_rsa.pub两个密钥文件  

  3.在其他两台机器上新建.ssh目录并将id_rsa.pub公钥文件复制到.ssh文件中

  在其他两台机器上新建文件夹

ssh hadoop@192.168.1.5 "mkdir /home/hadoop/.ssh;chmod 700 /home/hadoop/.ssh"
ssh hadoop@192.168.1.6 "mkdir /home/hadoop/.ssh;chmod 700 /home/hadoop/.ssh"

  将密钥复制到其他两台机器的.ssh文件夹

scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.5:/home/hadoop/.ssh/id_rsa.pub
scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.6:/home/hadoop/.ssh/id_rsa.pub

  执行第三步的时候,需要远程连接其他两台机器,所以会提示需要输入hadoop账户的密码

在三台机器上分别执行:

touch /home/hadoop/.ssh/authorized_keys

  这样就新建了一个authorized_keys文件,需要注意,该文件的权限为600,如果不是,手动更改

将Master上的id_rsa.pub文件添加到authorized_keys中

cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

  

  这时候回到Master机器上,就可以无密码ssh连接自己和子节点了

ssh 192.168.1.4
ssh 192.168.1.5
ssh 192.168.1.6

  有时候第一连接的时候会需要输入密码,第二次就不需要了,如果确保前面的操作没有错误,第二次还需要密码的话,尝试关闭防火墙,要是还不行,尝试关闭SELinux

chkconfig iptables off
#关闭selinux
编辑/etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

  

  至此,准备工作已经完成,开始部署hadoop。

Hadoop

在正式配置hadoop之前,需要在master本地文件系统创建以下文件夹:

/home/hadoop/dfs/name

/home/hadoop/dfs/data

/home/hadoop/tmp

开始配置,所有配置文件均在hadoop的etc/hadoop目录下

  1. hadoop-env.sh

   export JAVA_HOME=你的jdk目录

  2. yarn-env.sh

       export JAVA_HOME=你的jdk目录

  3. slaves

   填写所有子节点

  4. core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.4:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>io.native.lib.available</name>
<value>true</value>
</property>
</configuration>

  5. hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.1.4:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

  6. mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.1.4:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.1.4:19888</value>
</property>
</configuration>

  7. yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.4:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.4:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.4:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.1.4:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.1.4:8088</value>
</property>
</configuration>

  配置完成之后,将hadoop复制到两台子节点中

sudo scp -r /usr/local/hadoop2./ hadoop@192.168.1.5:/usr/local/

sudo scp -r /usr/local/hadoop2./ hadoop@192.168.1.6:/usr/local/

  至此,所有配置完成,剩下的就是启动验证了

格式化hadoop

bin/hdfs namenode -format

启动

sbin/start-all.sh

  启动之后,在Master上使用jps命令会显示有“Jps、NameNode、SecondaryNameNode、ResourceManager”四个进程。在slave上使用jps命令会显示有“DataNode、Jps、 NodeManager”三个进程。

HBase

安装需要注意以下几点:

1. 已经配置JDK环境

2. hadoop已经正确安装

3. ssh必须安装启动

4. 各个主机时间必须相同(可容易些许的不一致)

sudo ntpdate time.nist.gov

开始配置HBase

1. 在每个节点创建hbase的临时目录和zookeeper目录

2. 配置hbase-env.sh文件

修改JAVA环境

export JAVA_HOME=/usr/local/jdk1.

启动HBase自动的zookeeper

export HBASE_MANAGES_ZK=true

  3. 配置hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.1.4:8020/hbase</value>
<description>The directory shared by region servers.</description>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://192.168.1.4:60000</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbaseTmp</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>HBase1,HBase2,HBase3</value>
</property>
</configuration>

至此,HBase安装完成

  启动hbase

bin/start-hbase.sh

  

分布式Hadoop和HBase整合的更多相关文章

  1. Hadoop Hive与Hbase整合+thrift

    Hadoop Hive与Hbase整合+thrift 1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...

  2. Hadoop生态圈-hbase介绍-完全分布式搭建

    Hadoop生态圈-hbase介绍-完全分布式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  4. 快速搭建Hadoop及HBase分布式环境

    本文旨在快速搭建一套Hadoop及HBase的分布式环境,自己测试玩玩的话ok,如果真的要搭一套集群建议还是参考下ambari吧,目前正在摸索该项目中.下面先来看看怎么快速搭建一套分布式环境. 准备 ...

  5. hadoop+zookeeper+hbase分布式安装

    前期服务器配置 修改/etc/hosts文件,添加以下信息(如果正常IP) 119.23.163.113 master 120.79.116.198 slave1 120.79.116.23 slav ...

  6. Hbase 整合 Hadoop 的数据迁移

    上篇文章说了 Hbase 的基础架构,都是比较理论的知识,最近我也一直在搞 Hbase 的数据迁移, 今天就来一篇实战型的,把最近一段时间的 Hbase 整合 Hadoop 的基础知识在梳理一遍,毕竟 ...

  7. Hadoop 伪分布式上安装 HBase

    hbase下载:点此链接  (P.S.下载带bin的) 下载文件放入虚拟机文件夹,打开,放在自己指定的文件夹 -src.tar.gz -C /home/software/ 修改环境配置 gedit / ...

  8. CentOS7.4伪分布式搭建 hadoop+zookeeper+hbase+opentsdb

    前言 由于hadoop和hbase都得想zookeeper注册,所以启动顺序为 zookeeper——>hadoop——>hbase,关闭顺序反之 一.前期准备 1.配置ip 进入文件编辑 ...

  9. Centos搭建mysql/Hadoop/Hive/Hbase/Sqoop/Pig

    目录: 准备工作 Centos安装 mysql Centos安装Hadoop Centos安装hive JDBC远程连接Hive Hbase和hive整合 Centos安装Hbase 准备工作: 配置 ...

随机推荐

  1. gitlab 配置到jenkins

    直接把公匙配到了gitlab,然后填入jenkins https://blog.csdn.net/zhufengyan521521/article/details/81219193  配置全局凭据 h ...

  2. Delphi 中使用计算出的字段

    在很多情况下,我们需要的数据与数据库中其它字段的数据相关,例如订单的金额为数量与单价的乘积.在应用程序中,若要在显示订单具体条目的同时显示金额,通常要创建一个字段,在显示该字段之前先进行乘法运算,将金 ...

  3. delphi 多线程定时执行程序如何写

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  4. Cas(08)——单点登出

    单点登出 目录 1.1     Cas Client端配置单点登出 1.2     Cas Server端禁用单点登出 1.1     Cas Client端配置单点登出 单点登出功能跟单点登录功能是 ...

  5. 开发环境下的 Kubernetes 容器网络演进之路

    马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech 使用 Docker+Kubernetes 来简化开发人员的工作流,使应用更加快速地迭代,缩短发布周期,在很多研发团队中已经是常见的做法. 如果 ...

  6. 【C/C++开发】C中调用C++函数

    C中如何调用C++函数? 前阵子被问及一个在C中如何调用C++函数的问题,当时简单回答是将函数用extern "C"声明,当被问及如何将类内成员函数声明时,一时语塞,后来网上查了下 ...

  7. idea安装svn

    idea不像eclipse那样是用插件,idea是直接指向已经安装好的svn.exe.

  8. Asp.Net Core中完成拒绝访问功能

    很多时候如果用户没有某个菜单的操作权限的话在页面是不应该显示出来的. @if (SignInManager.IsSignedIn(User) && User.IsInRole(&quo ...

  9. Python-19-元类

    一.定义 元类就是类的类 type是python的一个内建元类 类的两种定义方式 # 定义类的两种方式 class Foo(object): def __init__(self, name, age) ...

  10. EAFP vs LBYL

    EAFP vs LBYL 检查数据可以让程序更健壮,用术语来说就是防御性编程.检查数据的时候,有EAFP和LBYL两种不同的编程风格,具体的意思如下: LBYL: Look Before You Le ...