环境:

  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. Flink统计当日的UV、PV

    Flink 统计当日的UV.PV 测试环境: flink 1.7.2 1.数据流程 a.模拟数据生成,发送到kafka(json 格式) b.flink 读取数据,count c. 输出数据到kafk ...

  2. git 本地项目推送到远程服务器

    3进入本地电脑的将要上传的项目的目录下面 1)git  init 初始化一个git 2) vim .gitignore 新增以及编写这个文件 node_modules/ 意思就是上传的时候忽略这个文件 ...

  3. vue 的反向代理

    情景描述: 原本的vue打包文件是放在.net core 项目的www文件夹下去发布的.这样运行没问题,但是公司领导让服务器单独部署vue,前后端要完全分离.然后这样就出问题了,有一个上传接口的地址一 ...

  4. 02. xadmin的过滤器queryset()

    需求: 每个老师都只能看到自己的课程 # models.py from django.contrib.auth.models import AbstractUser class UserProfile ...

  5. AndFix Bug 热修复框架原理及源码解析

    作为阿里巴巴开源的 Android 应用热修复工具——AndFix,帮助 Anroid 开发者修复应用的线上问题.Andfix 是 “Android hot-fix” 的缩写. 1.什么是AndFix ...

  6. Linux 脚本语言入门

    0.脚本编写初步介绍 (1)脚本第一行以 #!/bin/sh 开始,也可以用 #!/bin/bash 开始,但是第一行必须以这种方式开始. (2)脚本名需要以.sh结尾 (3)#开头的句子表示注释 ( ...

  7. [转帖]nginx sendfile tcp_nopush tcp_nodelay参数解释

    nginx sendfile tcp_nopush tcp_nodelay参数解释 2013-06-25 13:59:40 zmj_88888888 阅读数 20425 文章标签: nginxtcp_ ...

  8. Quartz.Net—DateBuilder

    定时框架中最重要的就是时间,我们也可以直接使用Cron这种事件格式.  使用其他的时间格式,就可以用DateBuilder快速的创建出需要的时间. 因为quartz是一个定时框架,所以对于操控时间  ...

  9. Nio学习笔记(大部分网上摘抄)

    Nio与IO的区别 原有的 IO 是面向流的.阻塞的,NIO 则是面向块的.非阻塞的. 1.IO流每次从流中读一个或多个字节,直至读完所有字节,他们没有被缓存在其他地方,并且,IO流不能移动流中的数据 ...

  10. WUSTOJ 1307: 校门外的树(Java)

    题目链接: