参照
https://blog.csdn.net/qq_41946216/article/details/134345137
操作系统版本:ubuntu-server-22.04.3
虚拟机:virtualbox7.0
安装hadoop
下载上传
下载地址
https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/

以root用户,上传

解压 tar zxvf hadoop-3.3.4.tar.gz
重命名 mv hadoop-3.3.4 hadoop

配置环境变量
以root用户,配置环境变量
vi .profile
/opt/hadoop

以root用户,执行source .profile变量生效,并检验

配置文件设置
除启停命令外,其余配置文件均位于$HADOOP_HOME/etc/hadoop
hadoop-env.sh

core-site.xml
vi core-site.xml

将 hadoop001改为 virtualbox_u22034server
hdfs-site.xml
vi hdfs-site.xml

将 hadoop001改为 virtualbox_u22034server
yarn-site.xml
vi yarn-site.xml

mapred-site.xml

workers
非集群可以不配置
sbin下启停命令
$HADOOP_HOME/sbin
在 sbin下的start-dfs.sh和stop-dfs.sh中顶部配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

复制hadoop至其他节点
伪分布式不执行此步
hdfs格式化
hdfs namenode -format

过程中会提示,输入y,回车
启动hdfs
cd /opt/hadoop
./sbin/start-dfs.sh

以上截图说明启动异常,具体内容见问题处理
解决后

在浏览器中输入http://192.168.12.66:9870,访问页面如下

启动yarn
start-yarn.sh

在浏览器中输入http://192.168.12.66:8088,访问页面如下

问题处理
hdfs启动服务时报错
报错截图如下

执行以下命令,然后连续点三下回车生成SSH密匙对
把密匙对分发给本机,让本机可以免密登录
ssh-keygen -t rsa

ssh-copy-id $(hostname)

无报错没正常启动hdfs
进入$HADOOP_HOME/logs,查看datanode日志

该报错是因为linux计算名不能出现下划线。将virtualbox_u22034server
改为virtualbox-u22034server
vi /etc/hostname

hadoop配置文件中的virtualbox_u22034server改为virtualbox-u22034server
重启:reboot
启动hadoop:start-dfs.sh
查看java虚拟机进程:jps,如下所示说明已经正常启动了。

如果以上处理完还不没有成功启动,尝试以下操作
检查core-site.xml 和 hdfs-site.xml;
删除两个配置文件中配置的目录
删除/opt/hadoopdata/dfs中的文件
删除/opt/hadoop/logs中的文件

重启服务器
重新执行格式化NameNode
再次启动hdfs