0


【数仓】Hadoop软件安装及使用(集群配置)

一、环境准备

1、准备3台虚拟机

  • Hadoop131:192.168.56.131
  • Hadoop132:192.168.56.132
  • Hadoop133:192.168.56.133

本例系统版本 CentOS-7.8,已安装jdk1.8

2、hosts配置,关闭防火墙

vi /etc/hosts

添加如下内容,然后保存

192.168.56.131 hadoop131
192.168.56.132 hadoop132
192.168.56.133 hadoop133

关闭防火墙

systemctl stop firewalld

3、配置证书登录(免秘钥)

三台服务器都要操作一遍

ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa -q
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop131
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop132
ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop133

4、创建

Xsync

分发指令

rsync

是Linux系统下的一个非常实用的数据备份和同步工具,它可以在本地或远程系统之间进行文件或目录的同步和备份。这个指令的基本原理是通过对比源文件和目标文件的差异,只复制差异部分,从而提高数据传输的效率。

由于

xsync

是对 rsync 的再封装,因此需要先安装 rsync

yum install-yrsync

三台服务器都要安装

rsync

本节内容参考:xsync 集群同步工具

在 /usr/bin 下新建

xsync.sh
vi /usr/bin/xsync.sh

将以下内容粘贴到

xsync.sh

脚本中

#!/bin/bash#1. 判断参数个数if[$#-lt1]thenecho Not Enough Arguement!exit;fi#2. 遍历集群所有机器forhostin hadoop131 hadoop132 hadoop133
doecho====================$host====================#3. 遍历所有目录,挨个发送forfilein$@do#4. 判断文件是否存在if[-e$file]then#5. 获取父目录pdir=$(cd-P$(dirname $file);pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh$host"mkdir -p $pdir"rsync-av$pdir/$fname$host:$pdirelseecho$file does not exists!fidonedone

修改文件权限

chmod777 /usr/bin/xsync.sh

5、创建批量执行脚本

xcall.sh

创建文件

xcall.sh
vi /usr/bin/xcall.sh
# 修改文件权限
chmod 777 /usr/bin/xcall.sh

复制如下内容

#!/bin/bash#1. 判断参数个数if[$#-lt1]thenecho Not Enough Arguement!exit;fi#2. 遍历集群所有机器forhostin hadoop131 hadoop132 hadoop133
doecho ------  $host  ------
    ssh$host"$*"done

二、安装配置Hadoop

1、下载Hadoop并安装

# 下载Hadoop软件包wget --no-check-certificate https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

# 解压安装tar-xzvf  hadoop-3.3.6.tar.gz
#创建Hdoop程序&数据目录;mkdir-p /data/
#将Hadoop程序部署至/data/hadoop目录下;mv hadoop-3.3.6/ /data/hadoop/
#查看Hadoop是否部署成功;ls-l /data/hadoop/

2、配置Hadoop环境变量

配置环境变量,/etc/profile.d/hadoop_env.sh

exportHADOOP_HOME=/data/hadoop
exportPATH=$PATH:$HADOOP_HOME/bin
exportPATH=$PATH:$HADOOP_HOME/sbin

使用source让新增环境生效

source /etc/profile

配置完成后分发到其他服务器

xsync.sh /etc/profile.d/hadoop_env.sh

3、Hadoop集群配置

1)配置 core-site.xml

vi /data/hadoop/etc/hadoop/core-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop131:9000</value></property><!-- 指定Hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><!-- /tmp/hadoop-${user.name} --><value>/data/hadoop/data</value><description>A base for other temporary directories.</description></property><!-- 配置HDFS网页登录使用的静态用户为hadoopuser --><property><name>hadoop.http.staticuser.user</name><value>hadoopuser</value></property><!-- 配置该hadoopuser(superuser)允许通过代理访问的主机节点 --><property><name>hadoop.proxyuser.hadoopuser.hosts</name><value>*</value></property><!--配置该hadoopuser(superuser)允许通过代理用户所属组--><property><name>hadoop.proxyuser.hadoopuser.groups</name><value>*</value></property><!--配置该hadoopuser(superuser)允许通过代理的用户 --><property><name>hadoop.proxyuser.hadoopuser.users</name><value>*</value></property></configuration>

2)配置 hdfs-site.xml

vi /data/hadoop/etc/hadoop/hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop131:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop133:9868</value></property><!--测试环境指定HDFS副本的数量1 --><property><name>dfs.replication</name><value>1</value></property></configuration>

3)配置 mapred-site.xml

vi /data/hadoop/etc/hadoop/mapred-site.xml

使用yarn,如下配置

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

4)配置 yarn-site.xml

vi /data/hadoop/etc/hadoop/yarn-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 设置ResourceManager的主机名 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop131</value></property><!-- 设置NodeManager的辅助服务,通常为mapreduce_shuffle以支持MapReduce作业 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 设置每个NodeManager可用的内存量(以MB为单位) --><property><name>yarn.nodemanager.resource.memory-mb</name><value>8192</value></property><!--分别设置容器请求的最小和最大内存限制--><property><name>yarn.scheduler.minimum-allocation-mb</name><value>1024</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>8192</value></property><!--分别设置容器请求的最小和最大虚拟CPU核心数--><property><name>yarn.scheduler.minimum-allocation-vcores</name><value>1</value></property><property><name>yarn.scheduler.maximum-allocation-vcores</name><value>4</value></property></configuration>

4)修改 workers
vi /data/hadoop/etc/hadoop/workers

hadoop131
hadoop132
hadoop133

5)修改Hadoop默认启动、关闭脚本,添加root执行权限

cd /data/hadoop/sbin/
foriin`ls start*.sh stop*.sh`;dosed-i"1a\HDFS_DATANODE_USER=root\nHDFS_DATANODE_SECURE_USER=root\nHDFS_NAMENODE_USER=root\nHDFS_SECONDARYNAMENODE_USER=root\nYARN_RESOURCEMANAGER_USER=root\n\YARN_NODEMANAGER_USER=root"$i;done

6)将hadoop131部署完成的hadoop所有文件、目录同步至其他两个节点

xsync.sh /data/hadoop/

4、启动hadoop

在启动hadoop之前,我们需要做一步非常关键的步骤,需要在Namenode上执行初始化命令,初始化name目录和数据目录。

#初始化集群;
/data/hadoop/bin/hdfs namenode -format#停止所有服务;
/data/hadoop/sbin/stop-all.sh
#kill方式停止服务;ps -ef|grep hadoop|grepjava|grep-vgrep|awk'{print $2}'|xargskill-9sleep2#启动所有服务;
/data/hadoop/sbin/start-all.sh

5、Hadoop集群验证

使用上面的xcall.sh命令查看进程

xcall.sh jps

结果如下

------ hadoop131 jps ------
7640 ResourceManager
7864 NodeManager
7260 DataNode
8877 Jps
7086 NameNode
------ hadoop132 jps ------
4549 DataNode
5479 Jps
4654 NodeManager
------ hadoop133 jps ------
4896 NodeManager
5733 Jps
4715 DataNode
4813 SecondaryNameNode

也可以分别查看3个节点Hadoop服务进程和端口信息

#查看服务进程;
ps -ef|grep -aiE hadoop
#查看服务监听端口;
netstat -ntpl
#执行JPS命令查看JAVA进程;
jps
#查看Hadoop日志内容;
tail -fn 100 /data/hadoop/logs/*.log

6、Hadoop WEB测试

根据如上Hadoop配置,Hadoop大数据平台部署成功,访问hadoop131 9870端口 http://192.168.56.131:9870/,可以看见如下页面:

在这里插入图片描述

访问Hadoop集群WEB地址:http://192.168.56.131:8088/,可以看见如下页面:

在这里插入图片描述

至此,Hadoop集群环境部署完成!

参考

标签: hadoop 大数据 数仓

本文转载自: https://blog.csdn.net/wlddhj/article/details/136396588
版权归原作者 顽石九变 所有, 如有侵权,请联系我们删除。

“【数仓】Hadoop软件安装及使用(集群配置)”的评论:

还没有评论