大数据实操篇 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

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

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

ssh-copy-id hadoop100

本机和其他机器全部copy

注意: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

<!--指定HDFS中NameNode的地址-->
<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop100:9000</value>
</property>
<!--指定Hadoop运行时产生文件的存储目录-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/module/hadoop-3.1.2/data/tmp</value>
</property>
</configuration>

4.3 配置hdfs-site.xml

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

<configuration>
    <!--指定HDFS地址 -->
    <property>
        <name>dfs.http.address</name>
        <value>hadoop100:50070</value>
    </property>
    <!--指定HDFS副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--指定HDFS中辅助名称节点secondary节点主机配置 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop102:50090</value>
    </property>
</configuration>

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

<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop101</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

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

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

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

修改/etc/Hadoop/workers

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

hadoop100
hadoop101
hadoop102

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

第5章 历史服务器

5.1 配置mapred-site.xml

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

<configuration>
    <!--历史服务器地址-->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop102:10020</value>
    </property>
    <!--历史服务器web端地址-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop102:19888</value>
    </property>
</configuration>

并分发到所有hadoop集群

5.2 配置日志聚集

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

<property>
        <name>yarn.log.server.url</name>
        <value>http://hadoop102:19888/jobhistory/logs</value>
    </property>
    <!-- 日志聚集功能使能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 日志保留时间设置 7 天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

并分发到所有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高可用集群搭建

猜你喜欢

转载自blog.csdn.net/dzh284616172/article/details/105980074