2.4 Hadoop单机运行

第2章 Hadoop快速入门

2.4 Hadoop单机运行

紧接上一节内容,首先切换到Hadoop根目录

这里写图片描述 
或者cd /opt/hadoop-2.7.3进入Hadoop根目录 
通过pwd命令可以知道当前所在目录

[root@node1 hadoop-2.7.3]# pwd
     
  • 1

这里写图片描述

注意:本节命令都将在/opt/hadoop-2.7.3目录下执行。

2.4.1 namenode格式化

执行bin/hadoop namenode -format命令,进行namenode格式化

[root@node1 hadoop-2.7.3]# bin/hadoop namenode -format
     
  • 1

这里写图片描述 
输出信息(下半部分):


     
  1. 17/ 05/ 12 05: 59: 11 INFO namenode .NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
  2. 17/ 05/ 12 05: 59: 11 INFO namenode .NameNode: createNameNode [-format]
  3. Formatting using clusterid: CID-db9a34c9- 661e-4fc0-a273-b554e0cfb32b
  4. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: No KeyProvider found.
  5. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: fsLock is fair:true
  6. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .DatanodeManager: dfs .block .invalidate .limit= 1000
  7. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .DatanodeManager: dfs .namenode .datanode .registration .ip-hostname- check= true
  8. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: dfs .namenode .startup .delay .block .deletion .sec is set to 000: 00: 00: 00.000
  9. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: The block deletion will start around 2017 May 12 05: 59: 12
  10. 17/ 05/ 12 05: 59: 12 INFO util .GSet: Computing capacity for map BlocksMap
  11. 17/ 05/ 12 05: 59: 12 INFO util .GSet: VM type = 64- bit
  12. 17/ 05/ 12 05: 59: 12 INFO util .GSet: 2.0% max memory 966.7 MB = 19.3 MB
  13. 17/ 05/ 12 05: 59: 12 INFO util .GSet: capacity = 2^ 21 = 2097152 entries
  14. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: dfs .block .access .token .enable= false
  15. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: defaultReplication = 1
  16. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: maxReplication = 512
  17. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: minReplication = 1
  18. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: maxReplicationStreams = 2
  19. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: replicationRecheckInterval = 3000
  20. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: encryptDataTransfer = false
  21. 17/ 05/ 12 05: 59: 12 INFO blockmanagement .BlockManager: maxNumBlocksToLog = 1000
  22. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: fsOwner = root (auth:SIMPLE)
  23. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: supergroup = supergroup
  24. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: isPermissionEnabled = true
  25. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: HA Enabled: false
  26. 17/ 05/ 12 05: 59: 12 INFO namenode .FSNamesystem: Append Enabled: true
  27. 17/ 05/ 12 05: 59: 13 INFO util .GSet: Computing capacity for map INodeMap
  28. 17/ 05/ 12 05: 59: 13 INFO util .GSet: VM type = 64- bit
  29. 17/ 05/ 12 05: 59: 13 INFO util .GSet: 1.0% max memory 966.7 MB = 9.7 MB
  30. 17/ 05/ 12 05: 59: 13 INFO util .GSet: capacity = 2^ 20 = 1048576 entries
  31. 17/ 05/ 12 05: 59: 13 INFO namenode .FSDirectory: ACLs enabled? false
  32. 17/ 05/ 12 05: 59: 13 INFO namenode .FSDirectory: XAttrs enabled? true
  33. 17/ 05/ 12 05: 59: 13 INFO namenode .FSDirectory: Maximum size of an xattr: 16384
  34. 17/ 05/ 12 05: 59: 13 INFO namenode .NameNode: Caching file names occuring more than 10 times
  35. 17/ 05/ 12 05: 59: 13 INFO util .GSet: Computing capacity for map cachedBlocks
  36. 17/ 05/ 12 05: 59: 13 INFO util .GSet: VM type = 64- bit
  37. 17/ 05/ 12 05: 59: 13 INFO util .GSet: 0.25% max memory 966.7 MB = 2.4 MB
  38. 17/ 05/ 12 05: 59: 13 INFO util .GSet: capacity = 2^ 18 = 262144 entries
  39. 17/ 05/ 12 05: 59: 13 INFO namenode .FSNamesystem: dfs .namenode .safemode .threshold-pct = 0.9990000128746033
  40. 17/ 05/ 12 05: 59: 13 INFO namenode .FSNamesystem: dfs .namenode .safemode .min .datanodes = 0
  41. 17/ 05/ 12 05: 59: 13 INFO namenode .FSNamesystem: dfs .namenode .safemode .extension = 30000
  42. 17/ 05/ 12 05: 59: 13 INFO metrics .TopMetrics: NNTop conf: dfs .namenode .top .window .num .buckets = 10
  43. 17/ 05/ 12 05: 59: 13 INFO metrics .TopMetrics: NNTop conf: dfs .namenode .top .num .users = 10
  44. 17/ 05/ 12 05: 59: 13 INFO metrics .TopMetrics: NNTop conf: dfs .namenode .top .windows .minutes = 1, 5, 25
  45. 17/ 05/ 12 05: 59: 13 INFO namenode .FSNamesystem: Retry cache on namenode is enabled
  46. 17/ 05/ 12 05: 59: 13 INFO namenode .FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
  47. 17/ 05/ 12 05: 59: 13 INFO util .GSet: Computing capacity for map NameNodeRetryCache
  48. 17/ 05/ 12 05: 59: 13 INFO util .GSet: VM type = 64- bit
  49. 17/ 05/ 12 05: 59: 13 INFO util .GSet: 0.029999999329447746% max memory 966.7 MB = 297.0 KB
  50. 17/ 05/ 12 05: 59: 13 INFO util .GSet: capacity = 2^ 15 = 32768 entries
  51. 17/ 05/ 12 05: 59: 13 INFO namenode .FSImage: Allocated new BlockPoolId: BP - 2055065474 - 192.168 .80 .131 - 1494583153319
  52. 17/ 05/ 12 05: 59: 13 INFO common .Storage: Storage directory /tmp/hadoop-root/dfs/ name has been successfully formatted.
  53. 17/ 05/ 12 05: 59: 13 INFO namenode .FSImageFormatProtobuf: Saving image file /tmp/hadoop-root/dfs/ name/ current/fsimage .ckpt_0000000000000000000 using no compression
  54. 17/ 05/ 12 05: 59: 13 INFO namenode .FSImageFormatProtobuf: Image file /tmp/hadoop-root/dfs/ name/ current/fsimage .ckpt_0000000000000000000 of size 351 bytes saved in 0 seconds.
  55. 17/ 05/ 12 05: 59: 13 INFO namenode .NNStorageRetentionManager: Going to retain 1 images with txid >= 0
  56. 17/ 05/ 12 05: 59: 13 INFO util .ExitUtil: Exiting with status 0
  57. 17/ 05/ 12 05: 59: 13 INFO namenode .NameNode: SHUTDOWN_MSG:
  58. /************************************************************
  59. SHUTDOWN_MSG: Shutting down NameNode at node1/192.168.80.131
  60. ************************************************************/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

这里写图片描述

在执行结果中可以找到has been successfully formatted,说明namenode格式化成功了!

2.4.2 启动HDFS

执行sbin/start-dfs.sh命令启动HDFS


     
  1. [root@node1 hadoop - 2.7 .3] # sbin/start-dfs.sh
  2. Starting namenodes on [node1]
  3. node1: starting namenode, logging to /opt/hadoop - 2.7 .3/logs/hadoop-root-namenode-node1.out
  4. localhost: starting datanode, logging to /opt/hadoop - 2.7 .3/logs/hadoop-root-datanode-node1.out
  5. Starting secondary namenodes [ 0.0 .0 .0]
  6. The authenticity of host ' 0.0 .0 .0 ( 0.0 .0 .0 )' can't be established.
  7. ECDSA key fingerprint is e2: 9a: 7d: 70: 25: 24: 45: 11: 97: 12: 35:e0: 45: 4c: 64: 31.
  8. Are you sure you want to continue connecting (yes/no)? yes
  9. 0.0 .0 .0: Warning: Permanently added ' 0.0 .0 .0 ' (ECDSA) to the list of known hosts.
  10. 0.0 .0 .0: starting secondarynamenode, logging to /opt/hadoop - 2.7 .3/logs/hadoop-root-secondarynamenode-node1.out
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在启动HDFS过程中,按照提示输入“yes” 
这里写图片描述

通过jps命令可以查看Java进程

[root@node1 hadoop-2.7.3]# jps
     
  • 1

这里写图片描述

jps(Java Virtual Machine Process Status Tool)是JDK 1.5开始提供的一个显示当前所有Java进程pid的命令,简单实用,非常适合在Linux/unix平台上简单察看当前java进程的一些简单情况。 
jps -l输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名


     
  1. [root@node1 ~] # jps -l
  2. 5752 sun .tools .jps .Jps
  3. 5342 org .apache .hadoop .hdfs .server .namenode .NameNode
  4. 5440 org .apache .hadoop .hdfs .server .datanode .DataNode
  5. 5630 org .apache .hadoop .hdfs .server .namenode .SecondaryNameNode
  • 1
  • 2
  • 3
  • 4
  • 5

2.4.3 启动YARN

通过命令sbin/start-yarn.sh启动YARN


     
  1. [root@node1 hadoop- 2.7 .3] # sbin/start-yarn.sh
  2. starting yarn daemons
  3. starting resourcemanager, logging to /opt/hadoop- 2.7 .3/logs/yarn-root-resourcemanager-node1 .out
  4. localhost: starting nodemanager, logging to /opt/hadoop- 2.7 .3/logs/yarn-root-nodemanager-node1 .out
  • 1
  • 2
  • 3
  • 4

这里写图片描述 
然后通过jps查看YARN的进程


     
  1. [root @node1 hadoop- 2.7. 3] # jps
  2. 5440 DataNode
  3. 7253 ResourceManager
  4. 7351 NodeManager
  5. 5342 NameNode
  6. 5630 SecondaryNameNode
  7. 7662 Jps
  8. [root @node1 hadoop- 2.7. 3] #
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里写图片描述

可以看到多了ResourceManager和NodeManager两个进程。

2.4.4 HDFS WEB界面

HDFS的Web界面默认端口号是50070。 
因为宿主机Windows的hosts文件没有配置虚拟机相关IP信息,所以需要通过IP地址来访问HDFS WEB界面,在浏览器中打开:http://192.168.80.131:50070

这里写图片描述
单击页面上部的导航栏中的“Datanodes” 
这里写图片描述

2.4.5 YARN WEB界面

YARN的Web界面默认端口号是8088。 
http://192.168.80.131:8088

这里写图片描述

单击左侧菜单栏的“Nodes”,可以查看NodeManager信息

这里写图片描述

灰常灰常感谢原博主的辛苦工作,为防止删博,所以转载,只供学习使用,不做其他任何商业用途。 https://blog.youkuaiyun.com/chengyuqiang/article/details/71699382
### 单机环境下的 DolphinScheduler 和 Hadoop 部署教程 #### 1. 环境准备 为了在单机环境中部署 DolphinScheduler 和 Hadoop,需要先准备好基础环境。以下是所需的基础组件及其最低版本要求: - **PostgreSQL 或 MySQL**: 数据库用于存储 DolphinScheduler 的元数据。推荐使用 PostgreSQL (8.2.15+) 或 MySQL (5.7 系列)[^2]。 - **JDK**: Java 开发工具包是必需的,建议安装 JDK 1.8+ 并配置 `JAVA_HOME` 和 `PATH` 环境变量[^3]。 - **ZooKeeper**: DolphinScheduler 使用 ZooKeeper 进行分布式协调,需安装 ZooKeeper (3.4.6+)[^3]。 - **Hadoop**: 如果计划将任务提交到 Hadoop 上执行,则需要安装 Hadoop (2.6+)[^2]。 --- #### 2. 安装并配置 Hadoop Hadoop 是一个分布式计算框架,在单机模式下可以模拟小型集群的功能。以下是具体步骤: ##### 2.1 下载 Hadoop 从 Apache 官方网站下载适合的 Hadoop 版本,并将其解压到指定目录: ```bash wget https://downloads.apache.org/hadoop/common/stable/hadoop-3.3.1.tar.gz tar -xzvf hadoop-3.3.1.tar.gz -C /opt/ mv /opt/hadoop-3.3.1 /opt/hadoop ``` ##### 2.2 配置 Hadoop 编辑 Hadoop 的核心配置文件 `/opt/hadoop/etc/hadoop/core-site.xml` 和 `/opt/hadoop/etc/hadoop/hdfs-site.xml`,设置如下参数: ```xml <!-- core-site.xml --> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> <!-- hdfs-site.xml --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` ##### 2.3 初始化 HDFS 文件系统 运行以下命令初始化 HDFS 名称节点: ```bash /opt/hadoop/bin/hdfs namenode -format ``` ##### 2.4 启动 Hadoop 服务 依次启动 NameNode 和 DataNode: ```bash start-dfs.sh jps # 检查进程是否正常启动 ``` 通过浏览器访问 `http://localhost:9870` 来确认 Hadoop Web UI 是否可用。 --- #### 3. 安装并配置 DolphinScheduler DolphinScheduler 是一款开源的工作流调度平台,支持多种类型的作业任务。 ##### 3.1 准备数据库 根据所选数据库类型(MySQL/PostgreSQL),创建一个新的数据库实例供 DolphinScheduler 使用。例如,对于 PostgreSQL: ```sql CREATE DATABASE dolphinscheduler; GRANT ALL PRIVILEGES ON DATABASE dolphinscheduler TO your_user; ``` ##### 3.2 下载 DolphinScheduler 下载最新的 DolphinScheduler 后端安装包并解压: ```bash mkdir -p /opt/dolphinscheduler && cd /opt/dolphinscheduler wget https://archive.apache.org/dist/incubator/dolphinscheduler/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-backend-bin.tar.gz tar -zxvf apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-backend-bin.tar.gz mv apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-backend-bin dolphinscheduler-backend ``` ##### 3.3 修改配置文件 进入解压后的目录,修改 `conf/application.properties` 中的相关配置项,连接已有的数据库和 Hadoop 资源: ```properties spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler spring.datasource.username=your_username spring.datasource.password=your_password dolphinscheduler.env.path=/path/to/hadoop/conf:/path/to/java/home/lib/tools.jar ``` ##### 3.4 启动 DolphinScheduler 启动 DolphinScheduler 的独立服务器模式: ```bash ./bin/dolphinscheduler-daemon.sh start standalone-server ``` 通过浏览器访问 `http://localhost:12345` 登录 DolphinScheduler 控制台,默认用户名密码为 `admin/dolphinscheduler123`[^4]。 --- #### 4. 将任务提交到 Hadoop 执行 要在 DolphinScheduler 中定义一个 Hadoop 类型的任务并将它提交给 Hadoop 集群执行,按照以下流程操作: 1. 在 DolphinScheduler 的控制台上新建工作流; 2. 添加一个 Shell 或 MapReduce 类型的任务; 3. 设置任务所需的资源配置路径以及脚本内容; 4. 发布并启动工作流。 确保 DolphinScheduler 已经正确加载了 Hadoop Client 库,并能够识别目标 Hadoop 集群的位置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值