分布式Hadoop和HBase整合

环境:

  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 [email protected]192.168.1.5 "mkdir /home/hadoop/.ssh;chmod 700 /home/hadoop/.ssh"
ssh [email protected]192.168.1.6 "mkdir /home/hadoop/.ssh;chmod 700 /home/hadoop/.ssh"

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

scp /home/hadoop/.ssh/id_rsa.pub [email protected]192.168.1.5:/home/hadoop/.ssh/id_rsa.pub
scp /home/hadoop/.ssh/id_rsa.pub [email protected]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.6/ [email protected]192.168.1.5:/usr/local/

sudo scp -r /usr/local/hadoop2.6/ [email protected]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.7

启动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

  

时间: 2024-10-11 11:09:12

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

伪分布式Hadoop + zookeeper + Hbase

目的: CentOS7 安装 Hadoop 伪分布式环境 组件版本信息: Hadoop: 2.7.7 Hbase: 1.4.8 zookeeper:3.4.7 资料下载: 资料包含:虚拟机安装包,CentOS7镜像,所需组件 链接:https://pan.baidu.com/s/1-Ye0vppf19bYQ9SUEDqHXg 提取码:hysl Linux 设置: (1.)关闭防火墙: systemctl stop firewalld.service            #停止firewall

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

Hadoop Hive与Hbase整合+thrift

1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析. Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类, 大致意思如图所示

Hadoop 伪分布式上安装 HBase

hbase下载:点此链接  (P.S.下载带bin的) 下载文件放入虚拟机文件夹,打开,放在自己指定的文件夹 tar -zxf /home/tools/hbase-1.2.6-src.tar.gz -C /home/software/ 修改环境配置 gedit /etc/profile //修改环境配置 //文件中添加 export HBASE_HOME=/home/software/hbase-1.2.6 export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME

Hive(五):hive与hbase整合

配置 hive 与 hbase 整合的目的是利用 HQL 语法实现对 hbase 数据库的增删改查操作,基本原理就是利用两者本身对外的API接口互相进行通信,两者通信主要是依靠hive_hbase-handler.jar工具类. 但请注意:使用Hive操作HBase中的表,只是提供了便捷性,前面章节已经介绍,hiveQL引擎使用的是MapReduce,对于性能上,表现比较糟糕,在实际应用过程中可针对不同的场景酌情使用. 注意:本文介绍的内容适用的版本见我前面章节,HDP2.4.2 ( HBase

hive存储处理器(StorageHandlers)以及hive与hbase整合

此篇文章基于hive官方英文文档翻译,有些不好理解的地方加入了我个人的理解,官方的英文地址为: 1.https://cwiki.apache.org/confluence/display/Hive/StorageHandlers 2.https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration 一 存储处理器介绍 通过HIVE存储处理器,不但可以让hive基于hbase实现,还可以支持cassandra JDBC MongoD

hadoop生态圈安装详解(hadoop+zookeeper+hbase+pig+hive)

目录 1.hadoop分布式安装 2.zookeeper分布式安装 3.hbase分布式安装 4.pig分布式安装 5.hive客户端安装

Hive HBase 整合

环境说明: l  hadoop:2.4.0 l  Zookeeper:3.4.6 l  Hbase:0.96 l  Hive:0.13.1   1.  Hive整合HBase原理 Hive与HBase整合的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠Hive安装包\apache-hive-0.13.1-bin\lib\hive-hbase-handler-0.9.0.jar工具类,它负责Hbase和Hive进行通信的. Hive和HBase通信原理如下图: 2.  Hive

hive与hbase整合

配置环境. hadoop 2.4 hbase 0.98.3 hive 0.13.1(源用的mysql) 配置. 分2种情况(1.hbase与hive在一台机器上,2.hbase与hive不在同一台机器上) (1)hbase与hive在一台机器上 比较简单,只需要在环境变量里把hbase,hive的home配置好即可.当然也可以按照不在一台进行配置. #config hadoop export HADOOP_HOME=/home/hUser/hadoop-2.4.0 export PATH=$HA