1. 实验一:hadoop 集群运行
实验任务一:配置 Hadoop 格式化
步骤一:NameNode 格式化
[root@master ~]# su - hadoop
[hadoop@master ~]$ cd /usr/local/src/hadoop/
结果:
[hadoop@master ~]$ ./bin/hdfs namenode –format
-bash: ./bin/hdfs: No such file or directory
[hadoop@master ~]$ cd /usr/local/src/hadoop/
[hadoop@master hadoop]$ ./bin/hdfs namenode –format
22/03/30 16:46:38 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.64.128
************************************************************/
......
步骤二:启动 NameNode
[hadoop@master hadoop]$ hadoop-daemon.sh start namenode
starting namenode, logging to /usr/local/src/hadoop/logs/hadoop-hadoop-namenode-master.out
实验任务二:查看 Java 进程
[hadoop@master hadoop]$ jps
2372 NameNode
2443 Jps
步骤一:slave 启动 DataNode
[hadoop@slave1 hadoop]$ hadoop-daemon.sh start datanode
starting datanode, logging to /usr/local/src/hadoop/logs/hadoop-hadoop-datanode-slave1.out
[hadoop@slave2 hadoop]$ hadoop-daemon.sh start datanode
starting datanode, logging to /usr/local/src/hadoop/logs/hadoop-hadoop-datanode-slave2.out
[hadoop@slave1 hadoop]$ jps
2588 Jps
2511 DataNode
[hadoop@slave2 hadoop]$ jps
2402 Jps
2325 DataNode
步骤二:启动 SecondaryNameNode
[hadoop@master hadoop]$ hadoop-daemon.sh start secondarynamenode
starting secondarynamenode, logging to /usr/local/src/hadoop/logs/hadoop-hadoop-secondarynamenode-master.out
[hadoop@master hadoop]$ jps
2372 NameNode
2519 Jps
2474 SecondaryNameNode
步骤三:查看 HDFS 数据存放位置
[hadoop@master hadoop]$ ll dfs/
total 0
drwxr-xr-x 2 hadoop hadoop 6 Mar 30 15:25 data
drwxr-xr-x 3 hadoop hadoop 40 Mar 30 16:48 name
实验任务三:查看 HDFS 的报告
[hadoop@master sbin]$ hdfs dfsadmin -report
Configured Capacity: 36477861888 (33.97 GB)
Present Capacity: 30106460160 (28.04 GB)
DFS Remaining: 30106451968 (28.04 GB)
DFS Used: 8192 (8 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
-------------------------------------------------
Live datanodes (2):
Name: 192.168.64.130:50010 (slave2)
Hostname: slave2
Decommission Status : Normal
Configured Capacity: 18238930944 (16.99 GB)
DFS Used: 4096 (4 KB)
Non DFS Used: 3185790976 (2.97 GB)
DFS Remaining: 15053135872 (14.02 GB)
DFS Used%: 0.00%
DFS Remaining%: 82.53%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Mar 30 17:00:36 CST 2022
Name: 192.168.64.129:50010 (slave1)
Hostname: slave1
Decommission Status : Normal
Configured Capacity: 18238930944 (16.99 GB)
DFS Used: 4096 (4 KB)
Non DFS Used: 3185610752 (2.97 GB)
DFS Remaining: 15053316096 (14.02 GB)
DFS Used%: 0.00%
DFS Remaining%: 82.53%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Mar 30 17:00:38 CST 2022
实验任务四:使用浏览器查看节点状态
可以使用 start-dfs.sh 命令启动 HDFS。这时需要配置 SSH 免密码登录,否则在启动过
程中系统将多次要求确认连接和输入 Hadoop 用户密码
[hadoop@master hadoop]$ stop-dfs.sh
[hadoop@master hadoop]$ start-dfs.sh
步骤一:在 HDFS 文件系统中创建数据输入目录
[hadoop@master hadoop]$ start-yarn.sh
[hadoop@master sbin]$ jps
3425 Jps
3012 NameNode
3159 ResourceManager
2474 SecondaryNameNode
如果是第一次运行 MapReduce 程序,需要先在 HDFS 文件系统中创建数据输入目录,存
放输入数据。这里指定/input 目录为输入数据的存放目录
[hadoop@master hadoop]$ hdfs dfs -mkdir /input
[hadoop@master hadoop]$ hdfs dfs -ls /
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2022-03-30 17:11 /input
此处创建的/input 目录是在 HDFS 文件系统中,只能用 HDFS 命令查看和操作。
步骤二:将输入数据文件复制到 HDFS 的/input 目录中
测试用数据文件仍然是上一节所用的测试数据文件~/input/data.txt,内容如下所示。
[hadoop@master ~]$ mkdir input
[hadoop@master ~]$ ls
input
[hadoop@master ~]$ vi input/data.txt
[hadoop@master ~]$ cat ~/input/data.txt
hello world
hello hadoop
hello huasan
执行如下命令,将输入数据文件复制到 HDFS 的/input 目录中:
[hadoop@master ~]$ hdfs dfs -put ~/input/data.txt /input
确认文件已复制到 HDFS 的/input 目录:
[hadoop@master ~]$ hdfs dfs -ls /input
Found 1 items
-rw-r--r-- 2 hadoop supergroup 38 2022-03-30 17:30 /input/data.txt
步骤三:运行 WordCount 案例,计算数据文件中各单词的频度。
运行 MapReduce 命令需要指定数据输出目录,该目录为 HDFS 文件系统中的目录,会自
动生成。如果在执行 MapReduce 命令前,该目录已经存在,则执行 MapReduce 命令会出错。
例如 MapReduce 命令指定数据输出目录为/output,/output 目录在 HDFS 文件系统中已经存
在,则执行相应的 MapReduce 命令就会出错。所以如果不是第一次运行 MapReduce,就要先
查看HDFS中的文件,是否存在/output目录。如果已经存在/output目录,就要先删除/output
目录,再执行上述命令。
自动创建的/output 目录在 HDFS 文件系统中,使用 HDFS 命令查看和操作。
[hadoop@master ~]$ hdfs dfs -mkdir /output
先执行如下命令查看 HDFS 中的文件:
[hadoop@master ~]$ hdfs dfs -ls /
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2022-03-30 17:30 /input
drwxr-xr-x - hadoop supergroup 0 2022-03-30 17:31 /output
上述目录中/input 目录是输入数据存放的目录,/output 目录是输出数据存放的目录。
执行如下命令,删除/output 目录。
[hadoop@master ~]$ hdfs dfs -rm -r -f /output
22/03/30 17:32:45 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
Deleted /output
执行如下命令运行 WordCount 案例:
[hadoop@master hadoop]$ hadoop jar share/hadoop/mapreduce/hadoopmapreduce-examples-2.7.1.jar wordcount /input/data.txt /output
MapReduce 程序运行过程中的输出信息如下所示
22/03/30 17:35:41 INFO client.RMProxy: Connecting to ResourceManager at localhost/192.168.64.128:8032 22/03/30 17:35:43 INFO input.FileInputFormat: Total input paths to process : 1 22/03/30 17:36:47 INFO mapreduce.JobSubmitter: number of splits:1 22/03/30 17:37:44 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1588469277215_0001
......
查看 output 目录,如图 5-6 所示,发现有两个文件。文件_SUCCESS 表示处理成功,处
理的结果存放在 part-r-00000 文件中。在页面上不能直接查看文件内容,需要下载到本地
系统才行。
可以使用 HDFS 命令直接查看 part-r-00000 文件内容,结果如下所示:
[hadoop@master hadoop]$ hdfs dfs -cat /output/part-r-00000
Hadoop 1
Hello 3
Huasan 1
World 1
可以看出统计结果正确,说明 Hadoop 运行正常
实验任务五:停止 Hadoop
步骤一:停止 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
3012 Jps
30438 RunJar
标签:HDFS,30,Hadoop,hadoop,master,运行,input,目录,集群
From: https://www.cnblogs.com/laogai13/p/17365458.html