You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Lewis John McGibbney (Jira)" <ji...@apache.org> on 2026/01/13 21:18:00 UTC
[jira] [Created] (NUTCH-3149) Investigate Remote Shuffle Service Integration (Apache Uniffle / Celeborn) for Shuffle-Intensive Nutch Jobs
Lewis John McGibbney created NUTCH-3149:
-------------------------------------------
Summary: Investigate Remote Shuffle Service Integration (Apache Uniffle / Celeborn) for Shuffle-Intensive Nutch Jobs
Key: NUTCH-3149
URL: https://issues.apache.org/jira/browse/NUTCH-3149
Project: Nutch
Issue Type: Improvement
Components: shuffle
Reporter: Lewis John McGibbney
Assignee: Lewis John McGibbney
Several core jobs are shuffle-intensive, meaning they spend significant time and resources moving intermediate data between map and reduce phases. Remote shuffle services (such as Apache Uniffle and Apache Celeborn) offload this work to dedicated nodes, potentially improving:
* Job execution time
* Fault tolerance
* Resource utilization
* Scalability for large crawls
h4. Shuffle-Intensive Nutch Jobs Identified
||Job||Shuffle Intensity||Key Characteristics||
|LinkRank|Extreme|Iterative (10+ iterations), invert + analyze per iteration|
|WebGraph|Very High|3 sequential jobs (OutlinkDb → InlinkDb → NodeDb)|
|LinkDb|High|Full link inversion across segments|
|CrawlDb|High|URL grouping from multiple segments|
|Generator|Medium-High|Score-based selection + host/domain partitioning|
|Indexer|Medium-High|Multi-source aggregation (CrawlDb, LinkDb, segments)|
|Deduplication|Medium|Content signature-based grouping|
|Fetcher|Low|Primarily map-only, minimal shuffle|
h4. Key Metrics for Measuring Shuffle Intensity
Shuffle intensity can be determined from Hadoop's built-in TaskCounter and FileSystemCounter groups:
* MAP_OUTPUT_BYTES / HDFS_BYTES_READ → Shuffle Ratio
* SPILLED_RECORDS / MAP_OUTPUT_RECORDS → Spill Ratio
* FILE_BYTES_READ + FILE_BYTES_WRITTEN → Local disk I/O overhead
Jobs with Shuffle Ratio > 2.0x or Spill Ratio > 2.0x are strong candidates for remote shuffle optimization.
An initial step would be to implement a configurable (off/off switch) reporting capability to write shuffle reports to the Nutch log. This will enable Nutch admins to determine over time if a remote shuffle candidate would benefit their Nutch jobs.
A future ticket will establish an experiment (comparative analysis) for Nutch shuffle data between Hadoop native (no changes), Uniffle and Celeborn.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)