分布式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_rsa、id_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整合的更多相关文章
- Hadoop Hive与Hbase整合+thrift
Hadoop Hive与Hbase整合+thrift 1. 简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...
- Hadoop生态圈-hbase介绍-完全分布式搭建
Hadoop生态圈-hbase介绍-完全分布式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Hadoop生态圈-hbase介绍-伪分布式安装
Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...
- 快速搭建Hadoop及HBase分布式环境
本文旨在快速搭建一套Hadoop及HBase的分布式环境,自己测试玩玩的话ok,如果真的要搭一套集群建议还是参考下ambari吧,目前正在摸索该项目中.下面先来看看怎么快速搭建一套分布式环境. 准备 ...
- hadoop+zookeeper+hbase分布式安装
前期服务器配置 修改/etc/hosts文件,添加以下信息(如果正常IP) 119.23.163.113 master 120.79.116.198 slave1 120.79.116.23 slav ...
- Hbase 整合 Hadoop 的数据迁移
上篇文章说了 Hbase 的基础架构,都是比较理论的知识,最近我也一直在搞 Hbase 的数据迁移, 今天就来一篇实战型的,把最近一段时间的 Hbase 整合 Hadoop 的基础知识在梳理一遍,毕竟 ...
- Hadoop 伪分布式上安装 HBase
hbase下载:点此链接 (P.S.下载带bin的) 下载文件放入虚拟机文件夹,打开,放在自己指定的文件夹 -src.tar.gz -C /home/software/ 修改环境配置 gedit / ...
- CentOS7.4伪分布式搭建 hadoop+zookeeper+hbase+opentsdb
前言 由于hadoop和hbase都得想zookeeper注册,所以启动顺序为 zookeeper——>hadoop——>hbase,关闭顺序反之 一.前期准备 1.配置ip 进入文件编辑 ...
- Centos搭建mysql/Hadoop/Hive/Hbase/Sqoop/Pig
目录: 准备工作 Centos安装 mysql Centos安装Hadoop Centos安装hive JDBC远程连接Hive Hbase和hive整合 Centos安装Hbase 准备工作: 配置 ...
随机推荐
- 123457123456#0#----com.ppGame.ChengYu43--前拼后广--成语caicaicai_pp
com.ppGame.ChengYu43--前拼后广--成语caicaicai_pp
- Vue学习笔记十二:vue-resource的基本使用
目录 HTML 浏览器效果 Vue不提倡使用操作DOM,所以Jquery不使用了,ajax也不使用了.所以,Vue给我们提供了一种和ajax差不多功能的指令,vue-resource HTML < ...
- C++高精度整数加减乘除模板
其中高精度乘法通过了POJ2389,其他没有测过,不过应该是没有问题的. 其中高精度除法返回一对string,分别表示商和余数. 代码: #include <bits/stdc++.h> ...
- LODOP中带caption的表格被关联并次页偏移测试
ADD_PRINT_TABLE中的thead和tfoot可以每页输出,后面的打印项关联表格,可以紧跟着表格,实现在表格后面紧跟着输出内容的效果,表格可以自动分页,并总是跟在表格后面 ,在表格最后输出. ...
- CHIMA网络安全攻防大赛经验分享
比赛模式 第一轮:20分钟基础知识赛(50道题) 安全运维,法律法规,linux操作系统等 第二轮:50分钟CTF夺旗(5道题) 题目涵盖 密码学 运用多种工具,如ASCII对照,古典密码,凯撒密码, ...
- Tuner工作原理详解
1.TV自动搜台原理:https://wenku.baidu.com/view/3b771f8b84868762caaed514 2.彩电自动搜台的原理与维修:http://tv.baoxiu.c ...
- shrio学习笔记
Thymeleaf扩展坐标 <!--thyemleaf对shrio的扩展坐标--> <dependency> <groupId>com.github.thebora ...
- .NET Core IOC AOP
IOC简介 IOC思想 把类当做组件或服务来看待,组件内一定要高内聚,组件之间一定要低耦合,既然要保持低耦合,那就一定不要轻易的去new什么对象. 那组件之间的交互怎么处理呢?那最好的方式就是把new ...
- 第五章 模块之 shtil 、 json / pickle、importlib、collections
5.8 shtil 高级的 文件.文件夹.压缩包 处理模块 shutil.rmtree 删除目录 import shutilshutil.rmtree(path) shutil.move 重命名:移动 ...
- C++语言动态创建对象
焦头烂额的考试月终于过去了,终于有时间能停下来思考记录一下这一个月学过的东西,首先先总结一下,在自己仿写魂斗罗游戏时遇见的问题之一,人物在移动的时候如何去判断什么时候掉入水中显示水中画面,什么时候敌人 ...