Centos7伪分布式部署Hadoop

傷城~ 2022-11-18 02:12 300阅读 0赞

前期准备

本教程基于vmware中创建的Centos7虚拟机环境进行教学。vmware中创建虚拟机与安装Centos7系统的步骤这里就不再赘述了,直接从系统安装完成后进行静态网络IP的配置开始说起。

配置静态网络

首先在vmware的 编辑 => 虚拟网络编辑器 下查看本机虚拟网卡的所在网段。可见此处的网段是192.168.72.0,子网掩码为255.255.255.0,记下这些信息。

在这里插入图片描述
打开 网络和Internet设置 => 更改适配器选项 找到vmnet8网卡,右击打开 属性 选项卡

在这里插入图片描述
双击 Internet 协议版本4
在这里插入图片描述
修改ip、子网掩码与网关信息。注意:ip与网关要与vmware中的网段一致,子网掩码也要与vmware中保持一致。记住这里所配置的网关,之后虚拟机中配置网络需要使用。
在这里插入图片描述
使用 vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改网卡配置信息(由于镜像不同,ifcfg-ens后数字可能会不同)
在这里插入图片描述
BOOTPROTO 设置为static 说明是静态IP
ONBOOT 设置为yes 开机自启
IPADDR 设置IP (网段与vmware中保持一致,且IP与之前本地虚拟网卡的IP与网关IP不一致)
NETMASK 设置子网掩码(与vmware保持一致)
GATEWAY 设置网关 (与本地虚拟网卡配置中的网关一致)
DNS1 (可选)

systemctl restart network 重启网络服务后使用 ip addr 命令查看配置的网络信息
在这里插入图片描述

关闭防火墙

systemctl stop firewalld 关闭防火墙,systemctl status firewalld 查看防火墙状态
在这里插入图片描述
systemctl disable firewalld 关闭防火墙开机自启

关闭selinux服务

setenforce 0 临时关闭selinux服务,再通过 vi /etc/selinux/config 修改配置文件,将SELINUX字段更改为disabled
在这里插入图片描述

配置免密登录

建议先切换到root用户执行免密登录配置

ssh-keygen -t rsa 生成rsa秘钥对,出现选项直接回车选择默认即可。

ssh-copy-id root@本机的IP 由于是伪分布式,需要将刚刚的密钥对复制到本机,从而免去每次输入密码的步骤,途中需要输入当前账号的密码

至此,前期准备工作就完成了,可以在此拍摄快照,防止由于之后操作出现未知错误而重装虚拟机。

需要的软件

点击下列链接下载相应的软件资源。

jdk1.8.0_161

hadoop2.7.7

配置JDK

解压源码包

通过 tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local (-C 参数指定解压路径)将JDK的tar包解压到/usr/local/目录下

配置环境变量

vi /etc/profile 配置环境变量

在文件底部添加以下内容

  1. JAVA_HOME=/usr/local/jdk1.8.0_161
  2. CLASSPATH=$JAVA_HOME/lib/
  3. PATH=$PATH:$JAVA_HOME/bin
  4. export PATH JAVA_HOME CLASSPATH

33862e95b3d9a0cb2ca057186442ec05.png

修改后执行 source /etc/profile 使配置生效

输入 java -version 测试JDK是否配置成功,若出现版本号则说明JDK配置成功

969e95790b4c5a50439f978684e83e55.png

配置Hadoop

解压源码包

通过 tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local 解压tar包

修改配置文件

cd /usr/local/hadoop-2.7.7/etc/hadoop/ 进入目录 vi hadoop-env.sh 修改配置文件,指定JDK的路径

  1. export JAVA_HOME=/usr/local/jdk1.8.0_161

8fc39a14c3cec280938110a595236f3e.png

vi core-site.xml 修改配置文件,指定Hadoop的存储位置与访问IP

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>hdfs://本地IP:9000</value>
  4. </property>
  5. <property>
  6. <name>hadoop.tmp.dir</name>
  7. <value>/usr/local/hadoop-2.7.7/dfs/data</value>
  8. </property>

560e55bbf408f038b369e19a06f9e26a.png

vi hdfs-site.xml 修改配置文件,配置hdfs的存储路径

  1. <property>
  2. <name>dfs.namenode.name.dir</name>
  3. <value>/usr/local/hadoop-2.7.7/dfs/name</value>
  4. <description>为了保证元数据的安全一般配置多个不同目录</description>
  5. </property>
  6. <property>
  7. <name>dfs.datanode.data.dir</name>
  8. <value>/usr/local/hadoop-2.7.7/dfs/data</value>
  9. <description>datanode 的数据存储目录</description>
  10. </property>
  11. <property>
  12. <name>dfs.replication</name>
  13. <value>2</value>
  14. <description>HDFS 的数据块的副本存储个数, 默认是3</description>
  15. </property>

a96af575b78cf558d94a4a9229ede732.png

cp mapred-site.xml.template mapred-site.xml 将配置文件重命名,再 vi mapred-site.xml 修改配置文件,指定yarn作为资源调度组件。

  1. <property>
  2. <name>mapreduce.framework.name</name>
  3. <value>yarn</value>
  4. </property>

ed9c290c3d873e47727cdd9d0c719abc.png

vi yarn-site.xml 修改配置文件,指定yarn为MapReduce组件服务。

  1. <property>
  2. <name>yarn.nodemanager.aux-services</name>
  3. <value>mapreduce_shuffle</value>
  4. <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
  5. </property>

681bfb6424034bf9661e070a67036d5b.png

配置环境变量

vi /etc/profile 配置环境变量

  1. JAVA_HOME=/usr/local/jdk1.8.0_161
  2. HADOOP_HOME=/usr/local/hadoop-2.7.7
  3. CLASSPATH=$JAVA_HOME/lib/
  4. PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
  5. export PATH JAVA_HOME CLASSPATH

c6992e1d8b5029458762872109735c94.png

修改后执行 source /etc/profile 使配置生效

输入 hadoop version 测试Hadoop是否配置成功,若出现版本号则说明Hadoop配置成功

c27d040066167f02b2fe385106fcd9f4.png

创建目录

创建hdfs-site.xml里配置的路径,依次执行 mkdir -p /usr/local/hadoop-2.7.7/dfs/namemkdir -p /usr/local/hadoop-2.7.7/dfs/data (-p参数为遍历创建文件夹,若上级文件夹不存在会依次进行创建)

启动Hadoop服务

运行 hadoop namenode -format 对namenode进行初始化,途中可能需要输入相应的信息,最终显示status 0 则表示初始化成功

b270c8a3da88a7da4b02ec487a48377f.png

cd /usr/local/hadoop-2.7.7/sbin/ 目录 运行 sh start-all.sh 启动Hadoop服务。

输入 jps 查看Hadoop的进程是否正常启动

96d1f18befa2f8fb4f9d83ceaf5ba102.png

在主机的浏览器中输入 ip:50070 进行访问Hadoop的web监控端,若能正常显示,则部署完成。若不能显示,先检查防火墙是否正常关闭。

813907a902197e0fbe4d67c8cc6f20ca.png
至此,Hadoop伪分布式部署就结束啦!

结语

如果说这篇文章有让你学到一定的知识的话,不妨点个赞和关注,让博主能够看到。如果讲解中有什么错误和疏忽,也劳烦在评论中指出或提问,博主会第一时间进行更新和答复,谢谢!

发表评论

表情:
评论列表 (有 0 条评论,300人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Hadoop部署分布式

    伪分布式模式也是只需要一台机器,但是与本地模式的不同,伪分布式使用的是分布式的思想,具有完整的分布式文件存储和分布式计算的思想。只不过在进行存储和计算的时候涉及到的相关的守护进

    相关 Centos7分布式部署Hadoop

    前期准备 本教程基于vmware中创建的Centos7虚拟机环境进行教学。vmware中创建虚拟机与安装Centos7系统的步骤这里就不再赘述了,直接从系统安装完成后进行