CentOS7搭建 Hadoop + HBase + Zookeeper集群
摘要: 本文主要介绍搭建Hadoop、HBase、Zookeeper集群环境的搭建
一、基础环境准备
1、下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日)
1)jdk-8u131
下载地址:Java SE Development Kit 8
2)hadoop-2.7.3
下载地址:Index of /apache/hadoop/common/hadoop-2.7.3
3)hbase-1.2.5
下载地址:Index of /apache/hbase/1.2.5
4)zookeeper-3.4.10
下载地址:Index of /apache/zookeeper/zookeeper-3.4.10
2、修改hosts文件(使用的三台集群主机默认IP为192.168.0.100、192.168.0.101、192.168.0.102)
vim /etc/hosts
添加以下信息
192.168.0.100 master
192.168.0.101 slave1
192.168.0.102 slave2
3、安装JDK
-- 解压jdk安装包
mkdir /usr/java
tar -zxvf jdk-8u131-linux-x64.tar.gx -C /usr/java
-- 拷贝jdk至slave1及slave2中
scp -r /usr/java slave1:/usr
scp -r /usr/java slave2:/usr
-- 设置jdk环境变量
vim /etc/environment
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
4、设置免密登陆
slave1
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/slave1_id_rsa.pub
scp ~/.ssh/slave1_id_rsa.pub master:~/.ssh/
slave2
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/slave2_id_rsa.pub
scp ~/.ssh/slave2_id_rsa.pub master:~/.ssh/
master
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/slave1_id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/slave2_id_rsa.pub >> ~/.ssh/authorized_kyes
-- 拷贝文件至slave1及slave2
scp ~/.ssh/authorized_keys slave1:~/.ssh
scp ~/.ssh/authorized_keys slave2:~/.ssh
5、关闭防火墙及SELINUX
-- 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
-- 关闭SELINUX
vim /etc/selinux/config
-- 注释掉
SELINUX=enforcing
SELINUXTYPE=targeted
-- 添加
SELINUX=disabled
二、Hadoop环境搭建
1、解压缩安装包及创建基本目录
tar -zxvf hadoop-2.7.3-x64.tar.gz -C /usr
cd /usr/hadoop-2.7.3
mkdir tmp logs hdf hdf/data hdf/name
2、修改hadoop配置文件
-- 修改 slaves 文件
vim /usr/hadoop-2.7.3/etc/hadoop/slaves
-- 删除 localhost,添加
slave1
slave2
-- 修改 core-site.xml 文件
vim /usr/hadoop-2.7.3/etc/hadoop/core-site.xml
-- 在 configuration 节点中添加以下内容
fs.default.name
hdfs://master:9000
hadoop.tmp.dir
file:/usr/hadoop-2.7.3/tmp
-- 修改 hdfs-site.xml 文件
vim /usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
-- 在 configuration 节点添加以下内容
dfs.datanode.data.dir
/usr/hadoop-2.7.3/hdf/data
true
dfs.namenode.name.dir
/usr/hadoop-2.7.3/hdf/name
true
-- 修改 mapred-site.xml 文件
cp /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vim /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml
-- 在 configuration 节点添加以下内容
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
-- 修改 yarn-site.xml 文件
vim /usr/hadoop-2.7.3/etc/hadoop/yarn-site.xml
-- 在 configuration 节点添加以下内容
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
3、复制hadoop到slave节点
scp -r /usr/hadoop-2.7.3 slave1:/usr
scp -r /usr/hadoop-2.7.3 slave2:/usr
4、配置 master 和 slave 的 hadoop 环境变量
vim /etc/profile
-- 添加如下内容
export HADOOP_HOME=/usr/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/usr/hadoop-2.7.3/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
-- 保存后执行
source /etc/profile
vim ~/.bashrc
-- 添加如下内容
export HADOOP_PREFIX=/usr/hadoop-2.7.3/
5、格式化 namenode
/usr/hadoop-2.7.3/sbin/hdfs namenode -format
6、启动 hadoop
/usr/hadoop-2.7.3/sbin/start-all.sh
到这一步已经成功完成了hadoop环境的搭建
三、Zookeeper环境搭建
1、解压缩 zookeeper 安装包,并建立基本目录
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr
mkdir /usr/zookeeper-3.4.10/data
2、修改配置文件
-- 复制配置文件模板
cp /usr/zookeeper-3.4.10/conf/zoo-sample.cfg /usr/zookeeper-3.4.10/conf/zoo.cfg
-- 修改配置文件
vim /usr/zookeeper-3.4.10/conf/zoo.cfg
-- 添加如下内容
dataDir=/usr/zookeeper-3.4.10/data
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
-- 创建myid文件(master、slave1、slave2均需更新)
touch /usr/zookeeper-3.4.10/data/myid
vim /usr/zookeeper-3.4.10/myid
-- 添加如下内容
1(master节点添加)
2(slave2节点添加)
3(slave3节点添加)
3、启动zookeeper
-- master、slave1、slave2增需要执行
cd /usr/zookeeper-3.4.10/bin
./zkServer.sh start
./zkServer.sh status
到这一步完成了zookeeper环境的搭建
四、HBase环境搭建
1、解压缩hbase安装包
tar -zxvf hbase-1.2.5-bin.star.gz -C /usr
mkdir /usr/hbase-1.2.5-bin/logs
2、修改配置文件
vim /usr/hbase-1.2.5/conf/hbase-env.sh
-- 添加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=false
3、修改regionservers
vim /usr/hbase-1.2.5/conf/regionservers
-- 删除localhost,新增如下内容
master
slave1
slave2
4、修改配置文件
vim /usr/hbase-1.2.5/conf/hbase-site.xml
-- 在configuration节点下添加如下内容
hbase.rootdir
hdfs://master:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
master,slave1,slave2
hbase.zookeeper.property.dataDir
/usr/zookeeper-3.4.10/data
hbase.master
hdfs://master:60000
5、复制hbase到slave中
scp -r /usr/hbase-1.2.5 slave1:/usr
scp -r /usr/hbase-1.2.5 slave2:/usr
6、启动hbase
/usr/hbase-1.2.5/bin/start-hbase.sh
到这一步hbase环境搭建完成
CentOS7搭建 Hadoop + HBase + Zookeeper集群的更多相关文章
- [推荐]Hadoop+HBase+Zookeeper集群的配置
[推荐]Hadoop+HBase+Zookeeper集群的配置 Hadoop+HBase+Zookeeper集群的配置 http://wenku.baidu.com/view/991258e881c ...
- ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群
前言: 前段时间自己参考网上的文章,梳理了一下基于分布式环境部署的业务系统在解决数据一致性问题上的方案,其中有一个方案是使用ZooKeeper,加之在大数据处理中,ZooKeeper确实起 ...
- 用三台虚拟机搭建Hadoop全分布集群
用三台虚拟机搭建Hadoop全分布集群 所有的软件都装在/home/software下 虚拟机系统:centos6.5 jdk版本:1.8.0_181 zookeeper版本:3.4.7 hadoop ...
- Hadoop(三)手把手教你搭建Hadoop全分布式集群
前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...
- Hadoop(三)搭建Hadoop全分布式集群
原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...
- 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现
『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...
- ZooKeeper学习之路 (九)利用ZooKeeper搭建Hadoop的HA集群
Hadoop HA 原理概述 为什么会有 hadoop HA 机制呢? HA:High Available,高可用 在Hadoop 2.0之前,在HDFS 集群中NameNode 存在单点故障 (SP ...
- 基于 ZooKeeper 搭建 Hadoop 高可用集群
一.高可用简介 二.集群规划 三.前置条件 四.集群配置 五.启动集群 六.查看集群 七.集群的二次启动 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS ...
- Hadoop 学习之路(八)—— 基于ZooKeeper搭建Hadoop高可用集群
一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFS NameNode 对数据存储及其一致性的要求 ...
随机推荐
- Unity热更新文件的服务器部署(IIS)
1.VS新建一个"ASP.NET空网站" 工程结构如下 最好设置.Net FrameWork版本为 V4.0或者V4.5版本的,因为我们的程序最后是要部署到阿里云的虚拟服务器上的, ...
- Java开发工程师(Web方向) - 03.数据库开发 - 第4章.事务
第4章--事务 事务原理与开发 事务Transaction: 什么是事务? 事务是并发控制的基本单位,指作为单个逻辑工作单元执行的一系列操作,且逻辑工作单元需满足ACID特性. i.e. 银行转账:开 ...
- flex布局笔记
flex布局: 容器: 容器主轴方向: 项目的主轴对齐方式: space-between:两端对齐,项目之间的间隔都相等. space-around:每个项目两侧的间隔相等.所以,项目之间的间隔比项目 ...
- MySQL三方面优化
第一方面:30种mysql优化sql语句查询的方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用 ...
- [Clr via C#读书笔记]Cp6类型和成员基础
Cp6类型和成员基础 成员 常量:字段(静态字段和实例字段):实例构造器:类型构造器(用于静态字段的构造):方法(静态方法和实例方法):操作符重载(本质是一个方法):转换操作符:属性(本质还是方法): ...
- 【第一章】Shell 概述
一.什么是Shell? shell是一个命令解释器,它不仅包含大量的命令以实现操作系统的对话,还可以实现定义变量.条件判断.循环控制.函数调用等功能. 作用:解释执行用户输入的命令及程序等. 从键盘输 ...
- Java进阶——— 线程池的原理分析
前言 在了解线程池之前,其实首先出现的疑问是:为什么要使用线程池,其次是了解什么是线程池,最后是如何使用线程池,带着疑问去学习. 为什么要使用 前面多线程文章中,需要使用线程就开启一个新线程,简单方便 ...
- 你真的了解JAVA里的String么
Java中String类细节问题 (考察点Java内存分配问题) 1. String str1 = "abc"; System.out.println(str1 == &quo ...
- Alphabetic Removals(模拟水题)
You are given a string ss consisting of nn lowercase Latin letters. Polycarp wants to remove exactly ...
- Thunder团队第一周 - Scrum会议3
Scrum会议3 小组名称:Thunder 项目名称:在线考试系统 Scrum Master:杨梓瑞 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李 ...