作者:@郑琰
本文转载请注明出处!:https://www.cnblogs.com/zhengyan6/p/16123195.html
在Hadoop文件参数配置完成之后
在master上操作
| su - hadoop |
| cd /usr/local/src/hadoop/ |
| ./bin/hdfs namenode -format |
| hadoop-daemon.sh start namenode |
| hadoop-daemon.sh start secondarynamenode |
| jps |
如果看到NameNode和SecondaryNameNode就表示成功
在slave上操作
| su - hadoop |
| hadoop-daemon.sh start datanode |
| jps |
| |
如果看到DataNode就表示成功
在master上操作
| su - hadoop |
| hdfs dfsadmin -report |
给用户做免密
| ssh-keygen -t rsa |
| ssh-copy-id slave1 |
| ssh-copy-id slave2 |
| ssh-copy-id master |
| stop-dfs.sh |
| start-dfs.sh |
| start-yarn.sh |
| jps |
如果在master上看到ResourceManager,并且在slave上看到NodeManager就表示成功
| hdfs dfs -mkdir /input |
| hdfs dfs -ls / |
| mkdir ~/input |
| vi ~/input/data.txt |
| hello world |
| hello hadoop |
| hello zzz |
保存后执行以下命令
| hdfs dfs -put ~/input/data.txt /input |
| hdfs dfs -cat /input/data.txt |
| hadoop jar /usr/local/src/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input/data.txt /output |
执行完后要看到map是100%,reduce也是100%,还要看到successfully
| hdfs dfs -cat /output/part-r-00000 |
在windows真机上执行
| 进入C:\windows\system32\drivers\etc |
| 把此目录下的hosts文件拖到桌面上 |
| 右键打开此文件加入ip与主机名的映射关系 |
| 保存后拖回原文件 |
| 在浏览器上输入master:8088访问可以看到 MapReduce程序刚刚完成的作业 |
| 在浏览器上输入master:50070访问namenode和datanode |
| 在浏览器上输入master:50090访问secondarynamenode |
停止 Hadoop(非必要步骤)
| 1.步骤一:停止 yarn |
| [hadoop@master hadoop]$ stop-yarn.sh |
| |
| 步骤二:停止 DataNode |
| [hadoop@slave1 hadoop]$ hadoop-daemon.sh stop datanode |
| stopping namenode |
| [hadoop@slave2 hadoop]$ hadoop-daemon.sh stop datanode |
| stopping namenode |
| |
| 步骤二:停止 NameNode |
| [hadoop@master hadoop]$ hadoop-daemon.sh stop namenode |
| stopping namenode |
| |
| 步骤三:停止 SecondaryNameNode |
| [hadoop@master hadoop]$ hadoop-daemon.sh stop secondarynamenode |
| stopping secondarynamenode |
| |
| 步骤四:查看 JAVA进程,确认 HDFS进程已全部关闭 |
| [hadoop@master hadoop]$ jps |
| 3528 Jps |
| 30838 RunJar |
报错补充
如果报错:
hadoop-3.1.3启动HDFS时报错,具体错误信息如下:
| [root@hadoop10 hadoop-3.1.3]# sbin/start-dfs.sh |
| Starting namenodes on [hadoop10] |
| ERROR: Attempting to operate on hdfs namenode as root |
| ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. |
| Starting datanodes |
| ERROR: Attempting to operate on hdfs datanode as root |
| ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation. |
| Starting secondary namenodes [hadoop12] |
| ERROR: Attempting to operate on hdfs secondarynamenode as root |
| ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation. |
解决方法1:
直接在环境变量中添加配置
| vim /etc/profile.d/my_env.sh |
*my_env.sh是自己添加的文件,不建议直接修改profile.d
添加的配置如下:
| 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.d/my_env.sh |
解决方法2:
*文件在hadoop安装目录的sbin目录下
在start-dfs.sh,stop-dfs.sh 两个文件顶部添加以下参数:
| HDFS_DATANODE_USER=root |
| HADOOP_SECURE_DN_USER=hdfs |
| HDFS_NAMENODE_USER=root |
| HDFS_SECONDARYNAMENODE_USER=root |
在start-yarn.sh,stop-yarn.sh两个文件顶部添加以下参数:
| YARN_RESOURCEMANAGER_USER=root |
| HADOOP_SECURE_DN_USER=yarn |
| YARN_NODEMANAGER_USER=root |
修改完成后,将修改的配置文件copy到其他的节点
配置好相应文件后
重新启动即可
| Starting namenodes on [hadoop10] |
| 上一次登录:四 12月 10 10:15:53 CST 2020从 192.168.157.1pts/0 上 |
| Starting datanodes |
| 上一次登录:四 12月 10 10:53:50 CST 2020pts/0 上 |
| hadoop12: Warning: Permanently added |
| localhost: Warning: Permanently added |
| hadoop11: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating. |
| hadoop12: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating. |
| Starting secondary namenodes [hadoop12] |
| 上一次登录:四 12月 10 10:53:53 CST 2020pts/0 上 |
其他报错
- 如果start-dfs.sh之后没有namenode或者8088的网页访问不了,关闭防火墙 并 需要删除hadoop3-1.3的同级目录的hadoop目录以及hadoop3-1.3/logs文件,再次格式化hadoop(命令:hadoop namenode -format)并启动start-dfs.sh和start-yarn.sh即可!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)