部署伪分布式 Hadoop集群

张裕  金牌会员 | 2024-10-31 03:07:45 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 573|帖子 573|积分 1719

一、JDK安装配置

部署伪分布式 Hadoop 集群的安装,依靠JDK
1.1 下载JDK

下载地址:https://www.oracle.com/java/technologies/downloads/#license-lightbox
根据需要进行下载,我的系统是 Centos Linux 7 ,所以就下载

1.2 上传解压


  • 使用xshell等工具将java压缩包上传到 /root 根目次
  • 使用下面下令解压java并放到 /usr/local/ 目次下面
  1. tar -zxvf jdk-8u421-linux-x64.tar.gz -C /usr/local/
复制代码

1.3 java情况配置


  • 设置软连接,方便使用
  1. ln -s jdk1.8.0_421 jdk
复制代码


  • 配置JDK情况变量
  1. vim /etc/profile
复制代码
添加如下内容
  1. # 添加JAVA环境变量
  2. JAVA_HOME=/usr/local/jdk
  3. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  4. PATH=$JAVA_HOME/bin:$PATH
复制代码
刷新配置情况
  1. source /etc/profile
复制代码

二、伪分布式 Hadoop 安装配置

2.1 Hadoop 下载

下载地址:https://hadoop.apache.org/releases.html
根据需要下载自己的版本,这里我下载 2.10.2


2.2 上传解压

上传到根目次 /root

把文件解压到 /usr/local
  1. tar -zxvf /usr/local/hadoop-2.10.2.tar.gz -C /usr/local/
复制代码
配置软连接
  1. ln -s /usr/local/hadoop-2.10.2/ hadoop
复制代码
2.3 Hadoop 文件目次先容

Hadoop目次先容



  • bin:

    • 存放内容:Hadoop的各种可实行脚本和程序,如启动和制止Hadoop服务的脚本、Hadoop下令行工具等。
    • 功能:用于实行对Hadoop相关服务(如HDFS、YARN、MapReduce等)的操纵和管理使命。

  • etc:

    • 存放内容:Hadoop的配置文件,如hadoop-env.sh(情况变量配置)、core-site.xml(焦点配置)、hdfs-site.xml(HDFS配置)、yarn-site.xml(YARN配置)和mapred-site.xml(MapReduce配置)等。
    • 功能:这些文件界说了Hadoop集群的行为和设置,是Hadoop正常运行的基础。

  • include

    • 存放内容:供C/C++应用程序使用的Hadoop相关的头文件。
    • 功能:当需要编写与Hadoop交互的当地代码时,这些头文件是必要的。它们提供了与Hadoop API交互的接口和界说。

  • lib

    • 存放内容:Hadoop运行所需的当地库(.so文件,即动态链接库)。
    • 功能:这些库提供了如压缩/解压缩等底层功能支持,是Hadoop正常运行的必要条件。

  • sbin

    • 存放内容:包含超级用户(管理员)使用的脚本,主要用于系统级别的操纵,如启动和制止Hadoop守卫进程。
    • 功能:这些脚本通常需要更高的权限来实行,用于管理Hadoop集群的底层服务和进程。

  • share

    • 存放内容:Hadoop的共享资源,主要包括Java的jar包(二进制源码)、文档和其他资源文件。子目次如share/hadoop/common、share/hadoop/hdfs、share/hadoop/yarn和share/hadoop/mapreduce平分别对应Hadoop各个组件的库文件和文档。
    • 功能:这些资源为Hadoop的开发和部署提供了必要的支持,包括API文档、示例代码和依靠库等。

  • logs

    • 存放内容:Hadoop各个组件和服务的日志文件,通常以.log结尾。
    • 功能:这些日志文件记载了Hadoop集群的运行状态和错误信息,是题目排查和性能优化的紧张依据。

2.4 Hadoop 配置

2.4.1 修改 core-site.xml 配置文件

core-site.xml 文件主要是配置 Hadoop 的共有属性,详细配置内容如下所示。
  1. [root@hadoop1 hadoop]# vim /usr/local/hadoop/etc/hadoop/core-site.xml
复制代码
在内里添加如下内容(解释记得去掉,避免引起格式错误)
  1. <property>
  2.         <name>fs.defaultFS</name>
  3.         <value>hdfs://hadoop1:9000</value>
  4.         <!--配置 hdfs NameNode 的地址,9000是RPC通信的端口-->
  5. </property>
  6. <property>
  7.         <name>hadoop.tmp.dir</name>
  8.         <value>/data/tmp</value>
  9.         <!--hadoop 的临时目录-->
  10. </property>
复制代码

2.4.2 修改 hdfs-site.xml 配置文件

hdfs-site.xml 文件主要配置跟 HDFS相关的属性,详细配置内容如下所示:
  1. [root@hadoop1 hadoop]# vim hdfs-site..xml
复制代码
在里 面添加如下内容(解释记得去掉,避免引起格式错误)
  1. <property>
  2.         <name>dfs.namenode.name.dir</name>
  3.         <value>/root/data/dfs/name</value>
  4.         <!--配置 namenode 节点存储 fsimage的目录位置-->
  5. </property>
  6. <property>
  7.         <name>dfs.datanode.data.dir</name>
  8.         <value>/root/data/dfs/data</value>
  9.         <!--配置 datanode 节点存储 block 的目录位置-->
  10. </property>
  11. <property>
  12.         <name>dfs.replication</name>
  13.         <value>1</value>
  14.         <!--配置 hdfs 副本数量-->
  15. </property>
  16. <property>
  17.         <name>dfs.permissions</name>
  18.         <value>false</value>
  19.         <!--关闭 hdfs 的权限检查-->
  20. </property>
复制代码

2.4.3 修改 hadoop-env.xml 配置文件

hadoop.env.sh 文件主要配置 Hadoop 情况相关的变量,这里主要修改JAVA_HOME的安装目次,详细配置如下所示。
  1. [root@hadoop1 hadoop]# vim hadoop-env.sh
复制代码
大概第 25 行位置进行修改:
export JAVA_HOME=/usr/local/jdk
备注,假如你有给JAVA配置JAVA_HOME情况变量,此处也可以不进行修改
2.4.4 修改 mapred-site.xml 配置文件

mapred-site.xml 文件主要配置跟 MapReduce 相关的属性,这里主要将 MapReduce 的运行框架名称配置为 YARN,详细配置内容如下所示:
  1. # 先拷贝一份
  2. [root@hadoop1 hadoop]# cp mapred-site.xml.template mapred-site.xml
  3. [root@hadoop1 hadoop]# vim mapred-site.xml
复制代码
在内里添加如下内容(解释记得去掉,避免引起格式错误)
  1. <property>
  2.         <name>mapreduce.framework.name</name>
  3.         <value>yarn</value>
  4.         <!--指定运行 mapreduce 的环境为 YARN-->
  5. </property>
复制代码

2.4.5 修改 yarn-site.xml 配置文件

yarn-site.xml 文件主要配置跟 YARN 相关的属性,详细配置内容如下所示。
  1. [root@hadoop1 hadoop]# vim yarn-site.xml
复制代码
在内里添加如下内容(解释记得去掉,避免引起格式错误)
  1. <property>
  2.         <name>yarn.nodemanager.aux-services</name>
  3.         <value>mapreduce_shuffle</value>
  4.         <!--配置 NodeManager 执行MR任务的方式为 Shuffle 混洗-->
  5. </property>
复制代码

2.4.6 修改 slaves 配置文件

slaves 文件主要配置哪些节点为 datanode 角色,由于现在搭建的是 Hadoop伪分布集群,所以只需要填写当前主机的 hostname 即可,详细配置内容如下所示:
  1. [root@hadoop1 hadoop]# vim slaves
复制代码
内里添加如下内容(主机名称):
hadoop1
2.4.7 配置 Hadooop 情况变量

在 root 用户下,添加 Hadoop 情况变量, 详细操纵如下所示:
  1. [root@hadoop1 hadoop]# vim /etc/profile
复制代码
内里添加如下内容:
  1. # 添加 Hadoop环境变量
  2. HADOOP_HOME=/usr/local/hadoop
  3. PATH=$HADOOP_HOME/bin:$PATH
  4. export HADOOP_HOME PATH
复制代码

更新情况配置文件
  1. [root@hadoop1 hadoop]# source /etc/profile
复制代码
检察 Hadoop 版本
  1. [root@hadoop1 hadoop]# hadoop version
复制代码

2.4.8 创建配置文件内里的目次

  1. [root@hadoop1 hadoop]# mkdir -p /root/data/tmp
  2. [root@hadoop1 hadoop]# mkdir -p /root/data/dfs/name
  3. [root@hadoop1 hadoop]# mkdir -p /root/data/dfs/data
复制代码
三、启动伪分布式 Hadoop 集群

3.1 格式化主节点 namenode

在 Hadoop 安装目次,使用如下下令对 NameNode 进行格式化
  1. [root@hadoop1 hadoop]# ./bin/hdfs namenode -format
复制代码

注意:第一次安装 Hadoop 集群需要对 NameNode 进行格式化,Hadoop 集群安装成功之后,下次只需要使用脚本 start-all.sh 一键启动 Hadoop 集群即可。
3.2 启动 Hadoop 伪分别集群

在 Hadoop 安装目次下,使用脚本一键启动 Hadoop 集群,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# ./sbin/start-all.sh
复制代码

3.3 检察 Hadoop 服务进程

通过 jps 下令检察 Hadoop 伪分布集群的服务进程,详细操纵如下:
  1. [root@hadoop1 hadoop]# jps
复制代码

假如服务进程中包含 Resourcemanager、Nodemanager、NameNode、DataNode 和 SecondaryNameNode 等5个进程,这就阐明 Hadoop 伪分布式集群启动成功了。
3.4 检察 HDFS 文件系统

在欣赏器中输入 http://hadoop1:50070 地址,通过 web 界面检察 HDFS 文件系统,详细操纵如下:

3.5 检察 YARN 资源管理系统

在欣赏器中输入 http://hadoop1:8088 地址,通过 web 界面检察 HDFS 文件系统,详细操纵如下:

四、测试运行 Hadoop 伪分布集群

Hadoop 伪分布集群启动之后,我们以 Hadoop 自带的 WordCount 案例来检测 Hadoop 集群情况的可用性。
4.1 检察 HDFS 目次

在 HDFS shell 中,使用 ls 下令检察 HDFS 文件系统目次,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# ./bin/hdfs dfs -ls /
复制代码
由于是第一次使用 HDFS 文件系统,所以 HDFS 中现在没有任何文件和目次
4.2 到场 HDFS 目次

在 HDFS shell 中,使用 ls 下令检察 HDFS 文件系统目次,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# ./bin/hdfs dfs -mkdir /test
复制代码
4.3 准备测试数据

在 HDFS shell 中,使用 ls 下令检察 HDFS 文件系统目次,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# vi words.log
复制代码
添加如下内容:
  1. hadoop hadoop hadoop
  2. spark spark spark
  3. flink flink flink
复制代码
4.4 测试数据前次到 HDFS

在 HDFS shell 中,使用 ls 下令检察 HDFS 文件系统目次,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# ./bin/hdfs dfs -put words.log /test
复制代码
4.5 运行 WordCount 案例

使用 yarn 脚本将 Hadoop 自带的 WordCount 程序提交到 YARN 集群运行,详细操纵如下所示:
  1. [root@hadoop1 hadoop]# ./bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /test/words.log /test/out
复制代码
实行完,检察 YARN 资源管理系统

检察作业运行结果

使用 cat 下令检察 WordCount 作业输出结果,详细操纵如下所示。
  1. [root@hadoop1 hadoop]# ./bin/hdfs dfs -cat /test/out/*
复制代码

假如 WordCount 运行结果符合预期值,阐明 Hadoop 伪分布式集群已经搭建成功

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表