基于centos7搭建hadoop+zookeeper+hbase大数据集群

最近在给公司项目 搭集群,顺手整理了一个文档,特别详细,相信新手看了也能一次搭好hadoop集群

1. 环境准备

jdk1.8.0_121  hadoop-2.6.5  zookeeper-3.4.10  hbase-1.2.4

 

三台集群主机安装centos7系统

 

ip分别为

192.168.10.208(master)

192.168.10.207 (slave1)

192.168.10.206 (slave2)

 

2. 修改hosts文件

映射主机名和ip地址

 

# vim /etc/hosts

--加入如下内容

192.168.10.208 master

192.168.10.207 slave1

192.168.10.206 slave2

 

每台主机都需要修改

3. 安装jdk

--首先检查是否系统是否已集成自带openjdk

# java -version

如果显示jdk版本先卸载openjdk

 

# rpm -qa |grep java(查找安装位置)

--显示如下内容

java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64

java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64

 

--卸载

# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64

# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64

 

--安装jdk

 

--解压jdk安装包

# mkdir /usr/java

# tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/java

 

--拷贝jdkslave1slave2

# scp -r /usr/java slave1:/usr

# scp -r /usr/java slave2:/usr

 

-- 设置jdk环境变量

# vim /etc/environment  

JAVA_HOME=/usr/java/jdk1.8.0_121 

JRE_HOME=/usr/java/jdk1.8.0_121/jre

 

# vim/etc/profile

--加入如下内容

export JAVA_HOME=/usr/java/jdk1.8.0_121 

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

 

# source /etc/profile 使改动生效

 

4. 设置集群间无密码访问

slave1

--使用rsa加密

# ssh-keygen -t rsa

--拷贝公钥

# cp ~/.ssh/id_rsa.pub ~/.ssh/slave1_id_rsa.pub

--传送到master

# scp ~/.ssh/slave1_id_rsa.pub master:~/.ssh/

 

slave2上进行同样的操作

 

master

--使用rsa加密

# ssh-keygen -t rsa 

--拷贝master公钥到authorized_keys

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

--拷贝master公钥到authorized_keys

--拷贝slave1公钥到authorized_keys

# cat ~/.ssh/slave1_id_rsa.pub >> ~/.ssh/authorized_keys 

--拷贝slave2公钥到authorized_keys

# cat ~/.ssh/slave2_id_rsa.pub >> ~/.ssh/authorized_keys

 

此时masterauthorized_kyes里面有三台机器的公钥

 

--传送authorized_kyesslave1slave2

# 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

 

6. Hadoop安装及配置

--解压缩安装包及创建基本目录

# tar -zxvf hadoop-2.6.5.tar.gz -C /usr 

# cd /usr/hadoop-2.6.5 

# mkdir tmp logs hdf hdf/data hdf/name

 

--修改配置文件

--修改slaves文件

 

# vim /usr/hadoop-2.6.5/etc/hadoop/slaves 

删除localhost

加入

slave1

slave2

 

-- 修改 core-site.xml 文件 

# vim /usr/hadoop-2.6.5/etc/hadoop/core-site.xml 

 

configuration节点中加入如下内容

 

fs.default.name 

hdfs://master:9000 

 

 

hadoop.tmp.dir 

file:/usr/hadoop-2.6.5/tmp 

 

 

--修改hdfs-site.xml 文件 

# vim /usr/hadoop-2.6.5/etc/hadoop/hdfs-site.xml 

configuration节点中加入如下内容

 

dfs.datanode.data.dir 

/usr/hadoop-2.6.5/hdf/data 

true 

 

 

dfs.namenode.name.dir 

/usr/hadoop-2.6.5/hdf/name 

true 

 

 

--修改mapred-site.xml文件

# cp /usr/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /usr/hadoop-2.6.5/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.6.5/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 

 

 

--复制hadoopslave1slave2节点

# scp -r /usr/hadoop-2.6.5 slave1:/usr 

# scp -r /usr/hadoop-2.6.5 slave2:/usr

 

 

--配置hadoop环境变量

# vim /etc/profile

 

添加如下内容

export HADOOP_HOME=/usr/hadoop-2.6.5 

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 

export HADOOP_LOG_DIR=/usr/hadoop-2.6.5/logs 

export YARN_LOG_DIR=$HADOOP_LOG_DIR

 

执行

# source /etc/profile

 

#vim ~/.bashrc

 

添加如下内容

export HADOOP_PREFIX=/usr/hadoop-2.6.5/

 

每个节点都要修改

 

--格式化namenode

#/usr/hadoop-2.6.5/bin/hdfs namenode -format

每个节点都要格式化

 

Hadoop环境搭建成功!

# /usr/hadoop-2.6.5/sbin/start-all.sh  启动hadoop查看是否成功

 

7. Zookeeper 环境搭建

--解压缩 zookeeper安装包,并建立基本目录

# tar -zxvf zookeeper-3.4.10.tar.gz -C /usr 

# mkdir /usr/zookeeper-3.4.10/data

 

--修改配置文件

--复制配置文件模版

# 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文件(每个节点都需创建)

# touch /usr/zookeeper-3.4.10/data/myid 

# vim /usr/zookeeper-3.4.10/data/myid 

分别添加如下内容

1(master节点添加

2(slave2节点添加

3(slave3节点添加

 

Zookeeper搭建成功

# cd /usr/zookeeper-3.4.10/bin 

# ./zkServer.sh start

启动zookeeper查看是否成功,每个节点都需分别启动

可查看我的另一篇文章,提供的shell命令启动关闭方法,只需在master运行一个命令即可

http://blog.csdn.net/loopeng1/article/details/79012989

 

8.  hbase环境搭建

--解压缩hbase安装包

# tar -zxvf hbase-1.2.4-bin.star.gz -C /usr 

# mkdir /usr/hbase-1.2.4-bin/logs

 

--修改配置文件

# vim /usr/hbase-1.2.4/conf/hbase-env.sh

添加如下内容

export JAVA_HOME=/usr/java/jdk1.8.0_121 

export HBASE_LOG_DIR=${HBASE_HOME}/logs 

export HBASE_MANAGES_ZK=false

 

--修改regionservers

# vim /usr/hbase-1.2.4/conf/regionservers 

 

-- 删除localhost,新增如下内容 

master 

slave1 

slave2

 

--修改配置文件

# vim /usr/hbase-1.2.4/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 

 

--传送hbaseslave1slave2

# scp -r /usr/hbase-1.2.4 slave1:/usr 

# scp -r /usr/hbase-1.2.4 slave2:/usr

 

hbase环境搭建完成

# /usr/hbase-1.2.4/bin/start-hbase.sh  启动hbase查看是否安装成功


关于hbase的一些基本操作,会在后面陆续更新

你可能感兴趣的:(前端,大数据)