专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
OSC开源社区  ·  谷歌“干儿子”Kotlin不可能取代Java ·  昨天  
OSC开源社区  ·  Java 23和IntelliJ IDEA ·  昨天  
程序员的那些事  ·  800 万粉丝网红翻车!嘲讽大学生找不到工作 ·  昨天  
码农翻身  ·  字节跳动真的太懂程序员了! ·  2 天前  
51好读  ›  专栏  ›  OSC开源社区

CentOS7 搭建 Hadoop + HBase + Zookeeper集群

OSC开源社区  · 公众号  · 程序员  · 2017-05-27 08:25

正文


一、基础环境准备


➣ 1、下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日)

1)jdk-8u131

2)hadoop-2.7.3

3)hbase-1.2.5

4)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=disable



二、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环境搭建完成





推荐阅读

盘点那些评分最高的项目管理工具,不服来战!

Redis 单例、主从模式、sentinel 以及集群的配置方式及优缺点对比

Spring 思维导图,让 Spring 不再难懂(ioc 篇)

一名 40 岁“老”程序员的反思

“放码过来”邀您亮“项”,一不小心就火了!

点击“阅读原文”查看更多精彩内容