千家信息网

大数据测试之hadoop单机环境搭建(超级详细版)

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,友情提示:本文超级长,请备好瓜子Hadoop的运行模式单机模式是Hadoop的默认模式,在该模式下无需任何守护进程,所有程序都在单个JVM上运行,该模式主要用于开发和调试mapreduce的应用逻辑;
千家信息网最后更新 2025年12月04日大数据测试之hadoop单机环境搭建(超级详细版)

友情提示:本文超级长,请备好瓜子

Hadoop的运行模式


单机模式是Hadoop的默认模式,在该模式下无需任何守护进程,所有程序都在单个JVM上运行,该模式主要用于开发和调试mapreduce的应用逻辑;

伪分布式模式下,Hadoop守护进程运行在一台机器上,模拟一个小规模的集群。该模式在单机模式的基础上增加了代码调试的功能,允许你检查NameNode,DataNode,Jobtracker,Tasktracker等模拟节点的运行情况;

单机模式和伪分布式模式均用于开发和调试的目的,真实Hadoop集群的运行采用的是完全分布式模式

单机模式安装步骤


一个干净的linux基础环境(重要,这个环境如果有问题后续就全是问题了)

为了方便大家我已经安装好了一个,大家只需下载导入到vm里即可使用。

下载地址:关注公众号【测试帮日记】对话框里回复"linux"或者加入QQ群522720170。

链接:https://pan.baidu.com/s/1qXRjaK8 密码:xjfk

关闭防火墙(适用于centos7,低版本不适用)

分别执行如下两条命令:

systemctl stop firewalld.service

systemctl disable firewalld.service

修改host name

vi /etc/hosts

然后把自己虚机的名字追加到两行的末尾,如果用的是我们提供的虚机,名字就是linux,追加之后的效果如图

重启网络:/etc/rc.d/init.d/network restart

设置无密码登录(用于hadoop启动)

cd ~ #进入当前用户的目录

mkdir -p /root/.ssh #我们用的root用户

cd ~/.ssh/

ssh-keygen -t rsa #如有提示,直接按回车 cat id_rsa.pub >> authorized_keys # 加入授权

安装jdk1.8并配置环境变量

tar解压

cp解压后的包到/usr/lib/java/(如果没有java目录就创建一下)

vi /etc/profile,末尾添加如下内容:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_11

export JRE_HOME=/usr/lib/java/jdk1.8.0_11/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

执行source /etc/profile使得环境变量生效

验证是否成功,如下图

安装hadoop2.7.4

tar解压

cp解压后的包到/usr/lib/hadoop/(如果没有hadoop目录就创建一下)

设置hadoop-env.sh

vi /usr/lib/hadoop/hadoop-2.7.4/etc/hadoop/hadoop-env.sh

找到# The java implementation to use.这句话,在下面添加如下内容:

#export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/usr/lib/java/jdk1.8.0_11

export HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.4

export PATH=$PATH:/usr/lib/hadoop/hadoop-2.7.4/bin

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

执行source /usr/lib/hadoop/hadoop-2.7.4/etc/hadoop/hadoop-env.sh,使得环境变量生效

验证是否成功,如下图

配置相关的xml文件

vi /usr/lib/hadoop/hadoop-2.7.4/etc/hadoop/core-site.xml(hadoop全局配置)

内容如下:

fs.defaultFS

hdfs://127.0.0.1:9000

vi /usr/lib/hadoop/hadoop-2.7.4/etc/hadoop/hdfs-site.xml(hdfs配置)

内容如下:

dfs.replication

1

cd /usr/lib/hadoop/hadoop-2.7.4/etc/hadoop

cp mapred-site.xml.template mapred-site.xml

vi mapred-site.xml(MapReduce的配置)

内容如下:

mapreduce.framework.name

yarn

vi yarn-site.xml(yarn配置)

内容如下:

yarn.nodemanager.aux-services

mapreduce_shuffle

格式化hdfs文件系统

初次运行hadoop时一定要有该操作,命令如下:

/usr/lib/hadoop/hadoop-2.7.4/bin/hadoop namenode -format

执行期间可能需要确认是否继续,如果有,就输入y回车即可

当你看到如下的内容时证明成功了

如果看到的是exiting with status 1,那么请运行如下命令,之后在进行hdfs的格式化

mkdir -pv /tmp/hadoop-root/dfs/name

启动hadoop(hdfs和yarn)

sh /usr/lib/hadoop/hadoop-2.7.4/sbin/start-all.sh

sh /usr/lib/hadoop/hadoop-2.7.4/sbin/stop-all.sh #停止

如果没有报错说明就成功了

使用jps命令查看进程,如果出现下面的内容就说明确定以及肯定成功啦

PS:如果修改了上面的xml文件需要重启服务哦

使用web查看Hadoop运行状态

http://你的服务器ip地址:50070/

使用web查看集群状态

http://你的服务器IP地址:8088

可能会遇到的问题

如果你多次进行了hdfs的格式化操作,可能会无法启动datanode,原因是id不一致,一般的解决方法为将namenode clusterID和datanode clusterID改成一样的就行了。修改的文件为/tmp/hadoop-root/dfs/下的name or data文件下的VERSION里的内容


模式 内容 运行 配置 环境 成功 文件 单机 命令 分布式 变量 地址 格式 目录 进程 问题 集群 服务 名字 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件测试需要会软件开发吗 美国网络安全强军战略 怎么样筛选多个表格的数据库 主从数据库php 软件开发中的系统分析分为 小程序好玩的游戏软件开发 网络安全周如何维护 人民银行网络安全 软件开发没有需求就休息吗 软件开发技能需求 网络安全行为基线 医院网络安全现状 中国最牛的网络安全工程师是谁 一列怎么查重复数据库 数据库技术期末试题及答案 成都新东方网络技术有限公司 软件开发湛江那间国企招聘 十四五期间网络安全可做的事 政府监管网络安全的政策 曙光服务器启动项 亲爱的里面网络安全大赛 南京万得数据库 盗贼之海与服务器 福州铭智网络技术有限公司 计算机网络技术考证需要多少钱 福建惠普服务器维修调试哪家好 网络安全周宣传活动主题是 怎样快速找到数据库密码 网络安全和信息化委员会智能 网络安全法律颁布实施先后
0