hadoop集群搭建

2022-05-28 18:55:26 浏览数 (1)

前置工作

1.创建虚拟机

2.配置虚拟机网络

3.WIN10 IP地址配置

4.CentOS静态IP设置

5.克隆三台虚拟机

6.jdk安装

7.hadoop安装

8.SSH免密登录配置(shell脚本单独提供)

集群搭建

1.集群部署规划

192.168.5.102 hadoop102

192.168.5.103 hadoop103

192.168.5.104 hadoop104

集群规划集群规划

2.配置文件说明及配置事项

总共涉及的配置文件有4个:

core-site.xml 、hdfs-site.xml 、yarn-site.xml 、mapred-site.xml 

存放路径:$HADOOP_HOME/etc/hadoop 

(1)核心配置文件

配置core-site.xml

vim core-site.xml

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
    <!-- 指定 NameNode 的地址 --> 
    <property> 
        <name>fs.defaultFS</name> 
        <value>hdfs://hadoop102:8020</value> 
    </property> 
 
    <!-- 指定 hadoop 数据的存储目录 --> 
    <property> 
        <name>hadoop.tmp.dir</name> 
        <value>/opt/module/hadoop-3.1.3/data</value> 
    </property> 
 
    <!-- 配置 HDFS 网页登录使用的静态用户为 hadoop --> 
    <property> 
        <name>hadoop.http.staticuser.user</name> 
        <value>hadoop</value> 
    </property> 
</configuration> 

(2)hdfs配置文件

配置文件:hdfs-site.xml

vim hdfs-site.xml

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
  <!-- NameNode web 端访问地址--> 
  <property> 
        <name>dfs.namenode.http-address</name> 
        <value>hadoop102:9870</value> 
    </property> 
  <!-- SecondaryNameNode web 端访问地址--> 
    <property> 
        <name>dfs.namenode.secondary.http-address</name> 
        <value>hadoop104:9868</value> 
    </property> 
</configuration> 

(3)YARN配置文件

配置文件:yarn-site.xml

vim yarn-site.xml

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
    <!-- 指定 MR 走 shuffle --> 
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce_shuffle</value> 
    </property> 
 
    <!-- 指定 ResourceManager 的地址--> 
    <property> 
        <name>yarn.resourcemanager.hostname</name> 
        <value>hadoop103</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)MapReduce配置文件

配置文件: mapred-site.xml

vim mapred-site.xml

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
  <!-- 指定 MapReduce 程序运行在 Yarn 上 --> 
    <property> 
        <name>mapreduce.framework.name</name> 
        <value>yarn</value> 
    </property> 
</configuration> 

3.配置文件分发

通过shell自行封装的命令xsync,把hadoop102上的所有配置文件分到到其他节点的相同路径下(shell脚本单独提供)

命令格式:xsync 文件路径

xsync /opt/module/hadoop-3.1.3/etc/hadoop/

比如:要分到home下的stu.json到所有节点,具体如下:

配置文件分发配置文件分发

这样,在hadoop102上的所有配置文件,全都同步到hadoop103、hadoop104的相应路径了。可以进入hadoop103、hadoop104上检查确认一下。

截至到这一步,hadoop集群的配置工作就完成了。

群起集群并测试

1.配置workers

切换到 /etc/,编辑worker文件

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

在该文件中增加如下内容:(有几个节点就配置几个主机名称)

hadoop102

hadoop103

hadoop104

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

workers配置workers配置

同步所有节点配置文件

xsync /opt/module/hadoop-3.1.3/etc

截图略

2.启动集群(这部分就不一一截图了

(1)初始化

如果是集群第一次启动,需要初始化,后续操作无需此步操作了。

命令:hdfs namenode -format

截图略(hadoop初始化和hdfs启动跟本地模式的搭建相同)

(2)启动hdfs

切换到hadoop102的hadoop下的sbin,启动hdfs

命令:./start-dfs.sh

切换到hadoop103的hadoop下的sbin,启动yarn

命令:./start-yarn.sh

因为在hadoop103上配置了 ResourceManager

启动完成后,分别在hadoop102,103,104执行jps,查看进程

hadoop102进程查看hadoop102进程查看
hadoop103进程查看hadoop103进程查看
hadoop104进程查看hadoop104进程查看

跟之前的集群部署规划一致!

(3)web端查看hdfs的NameNode

(a)浏览器中输入:http://hadoop102:9870

(b)查看 HDFS 上存储的数据信息

hdfs数据查看hdfs数据查看

(4)web端查看YARN的ResourceManager

(a)浏览器中输入:

http://hadoop103:8088

(b)查看 YARN 上运行的 Job 信息

3.集群基本测试

(1)上传文件到集群

上传小文件:hadoop fs -mkdir /input

执行完后,HDFS网页种多了个input文件

(2)上传到文件

hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /

文件上传文件上传

【注意】

上面的蓝色字体表示存储的是一个链接,实际存储的数据在datanode节点上。另外,需要分发的shell脚本的小伙伴可以私信给我哦~

【小结】

上面详细讲述了hadoop集群的搭建、运行与测试。具体的操作稍微有点繁琐,需要花时间多练习几遍。

0 人点赞