搭建HDFS和HBase集群
为什么80%的码农都做不了架构师?>>>
一、软件版本
Oracle JDK7、Hadoop 2.7.3、HBase 1.2.3、Centos 7
二、注意点
1. 操作系统的hostname必须配置,不要直接用IP,否则zookeeper会报错
2. 关闭操作系统防火墙,或者配置port白名单
3. 必须同步时钟,否则HBase的Master进程会报错(https://my.oschina.net/nk2011/blog/784015)
三、集群共4台机器,hostname和ip对应如下
192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4
四、机器分配如下
Hadoop:
node1 namenode
node2 secondarynamenode
node3 datanode
node4 datanode
HBase:
node1 master zookeeper
node2 backup zookeeper regionServer
node3 zookeeper regionServer
五、开始搭建 Hadoop 的 HDFS
1. 关门防火墙
systemctl stop firewalld
2. 编辑 /etc/hostname,修改hostname
3. 编辑 /etc/hosts,添加IP与hostname的映射
4. 创建 hadoop 用户,并修改密码
useradd hadoop
passwd hadoop
5. 安装JDK7,解压 Hadoop 2.7.3 到 /opt 目录
6. 修改 Hadoop 和 HBase 目录的拥有者
chown -R hadoop:hadoop /opt/hadoop-2.7.3
chown -R hadoop:hadoop /opt/hbase-1.2.3
7. 创建HDFS的数据目录
mkdir /opt/hadoop-2.7.3/hdfs
# name node 数据目录
mkdir /opt/hadoop-2.7.3/hdfs/name
# data node 数据目录
mkdir /opt/hadoop-2.7.3/hdfs/data
# 修改拥有者
chmod -R hadoop:hadoop /opt/hadoop-2.7.3/hdfs
8. 设置SSH免密码登录(https://my.oschina.net/nk2011/blog/778623)
# 切换到 hadoop 用户
su hadoop
# 创建SSH的RSA密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 复制公钥到所有服务器
ssh-copy-id hadoop@node1
ssh-copy-id hadoop@node2
ssh-copy-id hadoop@node3
ssh-copy-id hadoop@node4
9. 配置 Hadoop 集群
1)打开 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh,设置 JAVA_HOME
2)打开 ${HADOOP_HOME}/etc/hadoop/core-site.xml,添加以下配置
<configuration><property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>
</configuration>
3)打开 ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml,添加以下配置
<configuration><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.name.dir</name><value>file:/opt/hadoop-2.7.3/hdfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/opt/hadoop-2.7.3/hdfs/data</value></property><property><name>dfs.blocksize</name><value>268435456</value></property><property><name>dfs.namenode.handle.count</name><value>100</value></property>#secondary name node配置<property><name>dfs.namenode.secondary.http-address</name><value>node2:50090</value></property><property><name>dfs.namenode.http-address</name><value>node1:50070</value></property>
</configuration>
4)清空 ${HADOOP_HOME}/etc/hadoop/slaves,并加入以下内容
node2
node3
node4
5) 格式化HDFS的 name node
${HADOOP_HOME}/bin/hdfs namenode -format hadoop_cluster
10. 在node1,node2,node3,node4 上重复 1-9 步骤
11. Hadoop 的 HDFS 配置完毕,在 node1 上启动 Hadoop
[hadoop@node1]$ hadoop-2.7.3/sbin/start-dfs.sh
Starting namenodes on [node1]
node1: starting namenode, logging to /opt/hadoop-2.7.3/logs/hadoop-hadoop-namenode-node1.out
node3: starting datanode, logging to /opt/hadoop-2.7.3/logs/hadoop-hadoop-datanode-node3.out
node2: starting datanode, logging to /opt/hadoop-2.7.3/logs/hadoop-hadoop-datanode-node2.out
node4: starting datanode, logging to /opt/hadoop-2.7.3/logs/hadoop-hadoop-datanode-node4.out
Starting secondary namenodes [node2]
node2: starting secondarynamenode, logging to /opt/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-node2.out
六、搭建 HBase
1. 解压 HBase 1.2.3 到 /opt 目录
2. 打开 ${HBASE_HOME}/conf/hbase-env.sh,设置 JAVA_HOME
3. 打开 ${HBASE_HOME}/conf/hbase-env.sh,设置 HBASE_PID_DIR
4. 打开 ${HBASE_HOME}/conf/hbase-site.xml,添加以下内容
<configuration><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.rootdir</name><value>hdfs://node1:8020/hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>node1,node2,node3</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/opt/hbase-1.2.3/zookeeper</value></property>
</configuration>
5. 清空 ${HBASE_HOME}/conf/regionservers 文件,添加以下内容
node2
node3
6. 创建 ${HBASE_HOME}/conf/backup-masters 文件,添加以下内容
node2
7. 在 node1,node2,node3 重复 1-6 步骤
8. HBase配置完毕,在 node1 上启动 HBase(确保Hadoop已经启动)
[hadoop@node3]$ /opt/hbase-1.2.3/bin/start-hbase.sh
node1: starting zookeeper, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-zookeeper-node1.out
node2: starting zookeeper, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-zookeeper-node2.out
node3: starting zookeeper, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-zookeeper-node3.out
starting master, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-master-node1.out
node2: starting regionserver, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-regionserver-node2.out
node3: starting regionserver, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-regionserver-node3.out
node2: starting master, logging to /opt/hbase-1.2.3/bin/../logs/hbase-hadoop-master-node2.out
转载于:https://my.oschina.net/nk2011/blog/783809
搭建HDFS和HBase集群相关推荐
- HBase详解(对hbase集群搭建、读写流程、hbase的javaApi等细致入微的讲解与保姆级的图解)
学HBase的意义是什么 我本想用MySQL来与HBase作比较,但发现他们两者毫无可比性,因为两者运用领域不同,各自有各自的优点,就好比爬山穿登山鞋,潜水穿脚蹼一般. 一门技术的兴起,一个优秀的开源 ...
- hadoop hive hbase 集群搭建
摘要:去年开发BI系统,其中ETL用到了Hadoop和Hive,我用三台Dell服务器,搭建了一个Hadoop集群,用于开发测试. 在接下来的几篇中,我会介绍些BI架构设计的内容,以及在开发中遇到的困 ...
- hbase集群搭建,hbase单个节点重启
1.1 hbase集群结构 REGION:是HBASE中对表进行切割的单元 HMASTER: HBASE的主节点,负责整个集群的状态感知,负载分配.负责用户表的元数据管理 (可以配置多个用来实现HA) ...
- 在Hadoop集群上,搭建HBase集群
(1)下载Hbase包,并解压:这里下载的是0.98.4版本,对应的hadoop-1.2.1集群 (2)覆盖相关的包:在这个版本里,Hbase刚好和Hadoop集群完美配合,不需要进行覆盖. 不过这里 ...
- 基于centos6.5 hbase 集群搭建
注意本章内容是在上一篇文章"基于centos6.5 hadoop 集群搭建"基础上创建的 1.上传hbase安装包 hbase-0.96.2-hadoop2 我的目录存放在/usr ...
- Hadoop(六)搭建分布式HBase集群
接上一章节,在单机版的HBase中,HMaster,HRegionServer,Zookeeper都在一个JVM进程中运行,通过两个阶段来搭建.学习分布式的HBase,伪分布式和分布式. 一,伪分布式 ...
- Hbase集群搭建超详细教程
Hbase集群搭建 前言 详细步骤 1.下载安装包 2.解压 3.修改配置文件 3.1 修改hbase-env.sh文件 3.2 修改hbase-site.xml 3.3 修改regionserver ...
- Hadoop集群搭建Hbase集群
Habse介绍 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像B ...
- 大数据集群启停shell脚本:hadoop(hdfs、yarn)、hbase集群启停
#Hadoop集群启动/停止脚本#!/bin/bash if [ $3 lt 1 ] thenecho "No Args Input!"exit; fi case $1 in &q ...
- hadoop(八) - hbase集群环境搭建
1. 上传hbase安装包hbase-0.96.2-hadoop2-bin.tar.gz 2. 解压 tar -zxvf hbase-0.96.2-hadoop2-bin.tar.gz -C /clo ...
最新文章
- NSAttributedString 详解
- 计算机网络智能化在铁路通信的发展,计算机网络在铁路信号中的应用
- C#基础-面向对象-多态
- mysql命令导出表结构文件夹_mysql,命令导入\导出表结构或数据
- js Date 函数方法
- python全0序列_Python合集之Python序列(一)
- webpack-dev-server启动后, localhost:8080返回index.html的原理
- 设计模式学习笔记之四:抽象工厂模式
- 【JavaEE】javaee一些问题方案
- discuz子导航下面的版块只有图标没有标题,什么原因?
- 专利审查意见通知书中对比文件对应字母X、Y、A、R、P、E代表的含义
- 计算机毕业设计Python+uniapp基于微信小程序某企业考勤系统(小程序+源码+LW)
- 基于linux下QT象棋,课内资源 - 基于QT实现的网络象棋游戏
- Java监听mysql的binlog详解(mysql-binlog-connector)
- 基于Python+django的 天天生鲜超市网上购物商城-计算机毕业设计
- 【装卸臂项目】【MATLAB】液压阀模型——输入开度输出速度
- flutterapp部分手机无法打开_例举几种手机手机模拟门禁卡的方法,大同小异
- 【转360】KB4041678 Windows 仅安全更新(2017.10) 补丁更新后执行SQL出错! http://bbs.360.cn/thread-15201531-1-1.html...
- 谷歌音乐 Rhythmbox 插件 更新到支持 rhythmbox 0.13.1 版本 ( ubuntu10.10)
- Hello, FreeSWITCH(1)VoIP 基础
热门文章
- eclipse python java_如何使用Eclipse使用Python导入Java类?
- Adapter使用notifyDataSetChanged()刷新数据不更新的原因
- winform通过restsharp调用api接口登录及其它接口
- mysql 实现分页的SQL
- java赋值两个对象数组 clone_有关java对象数组的clone问题
- mysql数据库二级检索_MySQL数据库(2)检索信息
- LINUX:lpr不能打印,可以试试lp
- 错误: 程序包org.eclipse.swt.graphics不存在/swt.jar下载方法
- configure: error: Can‘t find ext2fs library
- 编程基本功:如何判断两个线段有重叠?