基于CentOS虚拟机的Hadoop安装教程(自用备忘) 您所在的位置:网站首页 hadoop部署在物理机还是虚拟机里面 基于CentOS虚拟机的Hadoop安装教程(自用备忘)

基于CentOS虚拟机的Hadoop安装教程(自用备忘)

2024-06-28 23:01| 来源: 网络整理| 查看: 265

该博文是用于记录Hadoop的安装过程,且记录其中出现的一些问题,防止日后遗忘

实验环境: 虚拟机:CentOS7 Hadoop:3.3.2 java:java 8u331

下载连接: CentOS:centos-7-x86_64-dvd-2009.iso 如果不能下载请到这里找可以下载的镜像网站:镜像 JDK:jdk-8u331-linux-x64.rpm Hadoop:Hadoop-3.3.2

CentOS安装

使用VMware构造虚拟机 新建虚拟机 选择 经典(推荐) 在这里插入图片描述 填写全名,用户名和密码 在这里插入图片描述 注:用户名只能全小写,且root用户和该用户密码一致 下一步,下一步 在自定义硬件这里,需要小修改一下 处理器该栏取消勾选 在这里插入图片描述 然后耐心等待虚拟机构建好 在这里插入图片描述

至此虚拟机已经安装完毕

JDK配置

因为该虚拟机在构造的时候预先给我们配置好了java环境,但我们首先需要把他全部卸载掉,然后再安装我们的JDK 1.删除已有的jdk安装包 检测虚拟机上jdk安装包:rpm -qa | grep java 在这里插入图片描述 使用:rpm -e --nodeps 包名 删除jdk安装包直到所有jdk安装包都不存在为止 最后再次使用 rpm -qa | grep java 命令查看是否为空

2.安装jdk 这里使用的是 jdk-8u331-linux-x64.rpm进行安装,可根据自己需求自行选择压缩包或其他方式安装 把rpm文件拖入虚拟机,使用 rpm -ivh jdk-8u331-linux-x64.rpm 命令进行安装 在这里插入图片描述 安装完毕,java路径为 /usr/java/jdk1.8.0_331-amd64 PS:如果遇到这种安装失败情况,请重新下载一次rpm文件试试看,我这边在拖进虚拟机一次之后就不能再拖进一个新的虚拟机里面,新下的拖进去会弹窗报错,按一下retry就好 在这里插入图片描述

系统配置 设置主机名: vim /etc/sysconfig/network 添加 HOSTNAME=cMaster 另外两台机子为cSlave0和cSlave1 设置hosts 使用ifconfig查看ip地址 vim /etc/hosts //ip是三台主机的ip地址,后面的是主机名 [ip1] cMaster [ip2] cSlave0 [ip3] cSlave1 关闭防火墙 systemctl stop firewalld.service //停止防火墙服务 systemctl disable firewalld.service //不允许防火墙服务开机自启动 hadoop安装

把下载好的hadoop压缩包拖进虚拟机 使用 tar -zxvf hadoop-3.3.2.tar.gz解压缩 然后移动到 /opt 目录下 mv ./hadoop-3.3.2 /opt/ 也可以在解压缩的时候指定目录 tar -zxvf hadoop-3.3.2.tar.gz -C /opt 移动到hadoop的配置目录 cd /opt/hadoop-3.3.2/etc/hadoop/

修改配置文件

hadoop-env.sh

JAVA_HOME=/usr/java/jdk1.8.0_331-amd64 路径为jdk路径

core-site.xml

在中添加 hadoop.tmp.dir/opt/hadoop-3.3.2/hadoopdata fs.defaultFShdfs://cMaster:8020

hdfs-site.xml

dfs.namenode.name.dir /opt/hadoop-3.3.2/hadoopdata/name dfs.datanode.data.dir /opt/hadoop-3.3.2/hadoopdata/data dfs.replication 1 dfs.secondary.http.address cSlave0:50090 dfs.http.address0.0.0.0:50070

yarn-site.xml

yarn.resourcemanager.hostnamecMaster yarn.nodemanager.aux-servicesmapreduce_shuffle yarn.application.classpath/opt/hadoop-3.3.2/etc/hadoop:/opt/hadoop-3.3.2/share/hadoop/common/lib/*:/opt/hadoop-3.3.2/share/hadoop/common/*:/opt/hadoop-3.3.2/share/hadoop/hdfs:/opt/hadoop-3.3.2/share/hadoop/hdfs/lib/*:/opt/hadoop-3.3.2/share/hadoop/hdfs/*:/opt/hadoop-3.3.2/share/hadoop/mapreduce/lib/*:/opt/hadoop-3.3.2/share/hadoop/mapreduce/*:/opt/hadoop-3.3.2/share/hadoop/yarn:/opt/hadoop-3.3.2/share/hadoop/yarn/lib/*:/opt/hadoop-3.3.2/share/hadoop/yarn/* yarn.nodemanager.vmem-check-enabledfalse

mapred-site.xml

mapreduce.framwork.nameyarn

workers 添加三个结点的主机名

cMaster cSlave0 cSlave1 设置环境变量 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_331-amd64 export HADOOP_HOME=/opt/hadoop-3.3.2 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH PATH=$PATH:$HOME/bin export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root source /etc/profile

重启后使用hadoop看一下是否成功设置 在这里插入图片描述 能够看到使用帮助的话为设定成功 初始化

hadoop namenode -format

出现这条信息代表初始化成功 在这里插入图片描述

启动hadoop

start-dfs.sh

但直接启动会报错,因为没有设置三台主机的免密登录 在这里插入图片描述

免密ssh登录设置:

ssh配置文件设置

//ssh配置 vim /etc/ssh/sshd_config //添加 PermitRootLogin yes UsePAM no PasswordAuthentication no RSAAuthentication yes //修改 PubkeyAuthentication yes

在root用户下生成公钥和私钥

ssh-keygen

在这里插入图片描述 可以看到有三个文件 在这里插入图片描述 公钥:id_rsa.pub 私钥:id_rsa 生成保存其他主机公钥的文件touch ~/.ssh/authorized_keys 把三个主机的公钥信息都保存到authorized_keys文件中 使用cat ~/.ssh/id_rsa.pub 获取公钥信息,当然用vim也可以 在这里插入图片描述 把三台主机都配置好 配置好了之后可以直接使用ssh cSlave0访问,如果不需要密码就能ssh登录的话代表成功 注:这里把三台主机的公钥都添加进去,因为前面xml设置的时候把自己主机的结点也添加进去了,所以会访问自己,不然也会无法访问 注注:如果有自己想法可以按自己需求来,这里只是其中一个解决思路 参考:https://blog.csdn.net/qq_36657997/article/details/107691144

然后再次启动就可以了

访问localhost:50070,如果出现active代表启动成功 在这里插入图片描述 启动存储服务

cMaster yarn-daemon.sh start resourcemanager 启动主存储服务 cSlave结点 yarn-daemon.sh start nodemanager 启动从存储服务

访问主节点的8088端口,如果出现该页面代表配置成功 在这里插入图片描述

一些踩过的坑: 1.在初始化的时候,无法访问主类 Could not find or load main class org.apache.hadoop… 这是因为在一开始使用了原本系统有的jdk,但具体路径不知道,所以出现错误,后来自己下载jdk解决 2.访问被拒绝 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 在启动的时候会弹出这个错误,因为没有设置免密登录,所以无法访问其他两个结点

如果有其他问题可以参考一下这几篇博文: https://blog.csdn.net/newbrid007/article/details/114398905 https://blog.csdn.net/qq_45981158/article/details/117434353



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有