大数据实操篇 No.2-Hadoop集群搭建

第1章 集群规划

 

Hadoop100

Hadoop101

Hadoop102

NameNode

 

 

DataNode

SecondaryNameNode

 

 

ResourceManager

 

 

NodeManager

第2章 下载安装

到官网下载文件,解压到服务器上,此处略。

第3章 准备环境

3.1 配置ssh无密登录

在/home/zihao/.ssh目录下(即~/.ssh)执行

ssh-keygen -t rsa

连续三下回车,生产公钥私钥

大数据实操篇 No.2-Hadoop集群搭建_第1张图片

拷贝公钥至其他服务器或本机服务器

ssh-copy-id hadoop100

本机和其他机器全部copy

大数据实操篇 No.2-Hadoop集群搭建_第2张图片

注意:namenode节点和resourcemanage节点需要访问其他机器,所以需要在着2个机器上生成密钥,并拷贝公钥至其他节点。

Root用户也需要配置。

3.2 配置集群间文件拷贝

3.2.1 安装rsync文件拷贝

服务器执行命令  

yum install rsync -y

scap完全拷贝,复制所有文件

rsync只拷贝差异化内容,只对差异文件做更新

rsync -rvl README.txt root@hadoop101:/opt/software/

3.2.2 编写xsync集群分发脚本

配置脚本

在/home/zihao/bin目录下建立脚本文件xsync

mkdir bin
cd bin/
touch xsync
vi xsync

脚本文件内容如下:

#! /bin/bash
#1获取输入参数的个数,如果没有参数直接退出
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname='basename $p1'
echo fname=$fname
#3 获取上级目录到绝对路径
pdir='cd -p $(dirname $p1);pwd'
echo pdir=$pdir
#4 获取当前用户的名称
user='whoami'
#5循环
for((host=103;host<105;host++));do
echo -----------hadoop$host-----------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

 

如果没有权限,自行修改脚本xsync具有执行权限

调用脚本xsync,即可将文件分发到集群中其他机器上(脚本配置的机器)

xsync /home/zihao/bin

第4章 配置文件

4.1 配置hadoop-env.sh

配置 /etc/hadoop/hadoop-env.sh  JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_221

4.2 配置core-site.xml

配置/etc/hadoop/core-site.xml




  fs.defaultFS
  hdfs://hadoop100:9000



  hadoop.tmp.dir
  /opt/module/hadoop-3.1.2/data/tmp

4.3 配置hdfs-site.xml

配置/etc/hadoop/hdfs-site.xml :


    
    
        dfs.http.address
        hadoop100:50070
    
    
    
        dfs.replication
        3
    
    
    
        dfs.namenode.secondary.http-address
        hadoop102:50090
    

4.4 配置yarn-env.sh

配置 /etc/hadoop/yarn-env.sh  JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_221

4.5 配置yarn-site.xml

配置 /etc/hadoop/yarn-site.xml


    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.resourcemanager.hostname
        hadoop101
    
    
        yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
    

4.6 配置mapred-env.sh

配置 etc/hadoop/yarn-env.sh  JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_221

4.7 配置mapred-site.xml

配置 etc/hadoop/mapred-site.xml


    
        mapreduce.framework.name
        yarn
    
    
        mapreduce.application.classpath
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*
    

4.8 配置workers(旧版本hadoop文件名为slaves)

修改/etc/Hadoop/workers

填写主机名或IP,不允许有多余空格和空行,内容如下:

hadoop100
hadoop101
hadoop102

所有配置文件修改完后分发至集群其他机器 

第5章 历史服务器

5.1 配置mapred-site.xml

修改/etc/hadoop/mapred-site.xml,添加如下内容


    
    
        mapreduce.jobhistory.address
        hadoop102:10020
    
    
    
        mapreduce.jobhistory.webapp.address
        hadoop102:19888
    

并分发到所有hadoop集群

5.2 配置日志聚集

修改/etc/hadoop/yarn-site.xml,添加如下内容


        yarn.log.server.url
        http://hadoop102:19888/jobhistory/logs
    
    
    
        yarn.log-aggregation-enable
        true
    
    
    
        yarn.log-aggregation.retain-seconds
        604800
    

并分发到所有hadoop集群

5.3 启动历史服务器

在hadoop102上启动

$ sbin/mr-jobhistory-daemon.sh start historyserver

进程:

12730 JobHistoryServer

 可打开浏览器访问历史服务器web

http://hadoop102:19888/jobhistory/

第6章 集群群起

6.1 启动/停止HSDFS

包括:namenode、datanode、secondarynamenode

sbin/start-dfs.sh
sbin/stop-dfs.sh

6.2 启动/停止YARN

包括:rescourcemanager、datamanager

*必须在配置rescourcemanager节点所在的机器上启动

sbin/start-yarn.sh
sbin/stop-yarn.sh

第7章 检查部署情况 

7.1 HDFS访问地址

http://hadoop100:50070/

7.2 Hadoop集群访问地址

http://hadoop101:8088/cluster

 

HA高可用请参考下一篇文章:大数据实操篇 No.3-Hadoop HA高可用集群搭建

你可能感兴趣的:(从0到1的大数据探索,hadoop,大数据,hdfs,mapreduce,apache)