

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="/favicon.ico">
    <base href="https://hadoop.apache.org">
    <title>Apache Hadoop</title>

    
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

    
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    <link rel="stylesheet" href="/css/hadoop.css">

    
    
  </head>

  <body>

    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <img class="navbar-logo" src="/elephant.png">
          <a class="navbar-brand" href="/"> Apache Hadoop</a>
        </div>
        
   <div id="navbar" class="navbar-collapse collapse">
     <ul class="nav navbar-nav">
       
       
          
             <li class=""><a href="releases.html">Download</a></li>
          
       
          
            <li class="dropdown ">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Documentation <span class="caret"></span></a>
             <ul class="dropdown-menu">
               
                  <li ><a href="https://hadoop.apache.org/docs/current/">Latest</a></li>
               
                  <li ><a href="https://hadoop.apache.org/docs/stable/">Stable</a></li>
               
               
               <li role="separator" class="divider"></li>
               
               <li><a href="https://hadoop.apache.org/docs/r3.3.1/">3.3.1</a></li>
               
               <li><a href="https://hadoop.apache.org/docs/r3.2.2/">3.2.2</a></li>
               
               <li><a href="https://hadoop.apache.org/docs/r2.10.1/">2.10.1</a></li>
               
               <li><a href="https://hadoop.apache.org/docs/r3.1.4/">3.1.4</a></li>
               
               <li role="separator" class="divider"></li>
               <li><a href="https://wiki.apache.org/hadoop">Wiki</a></li>
               
             </ul>
           </li>
          
       
          
            <li class="dropdown  active">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community <span class="caret"></span></a>
             <ul class="dropdown-menu">
               
                  <li ><a href="/bylaws.html">Bylaws</a></li>
               
                  <li ><a href="/committer_criteria.html">Criteria for Committership</a></li>
               
                  <li ><a href="/mailing_lists.html">Mailing lists</a></li>
               
                  <li ><a href="/cve_list.html">Published CVEs</a></li>
               
                  <li ><a href="/who.html">Who We are</a></li>
               
               
             </ul>
           </li>
          
       
          
            <li class="dropdown ">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development <span class="caret"></span></a>
             <ul class="dropdown-menu">
               
                  <li ><a href="https://cwiki.apache.org/confluence/display/HADOOP/How&#43;To&#43;Contribute">How to Contribute</a></li>
               
                  <li ><a href="/issue_tracking.html">Issue Tracking</a></li>
               
                  <li ><a href="/version_control.html">Version Control</a></li>
               
                  <li ><a href="/versioning.html">Versioning</a></li>
               
               
             </ul>
           </li>
          
       
          
            <li class="dropdown ">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Help <span class="caret"></span></a>
             <ul class="dropdown-menu">
               
                  <li ><a href="https://www.cafepress.com/hadoop">Buy Stuff</a></li>
               
                  <li ><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
               
                  <li ><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
               
               
             </ul>
           </li>
          
       
     </ul>
	  <ul class="nav navbar-nav navbar-right">
      <li>
       <a href="https://www.apache.org/">Apache Software Foundation <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span></a>
      </li>


     </ul>
   </div>

      </div>
    </nav>

<div class="container">
<h1>Hadoop Mailing Lists</h1>
<!---
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<h2 id="user">User</h2>
<p>The user@ mailing list is the preferred mailing list for end-user
questions and discussion.</p>
<p>Please use the specific module&rsquo;s -dev@ mailing list to address developers on a specific technical question.
The Hadoop user mailing list is : <a href="mailto:user@hadoop.apache.org">user@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:user-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:user-unsubscribe@hadoop.apache.org">Unsubscribe from List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-user/">Archives</a></li>
</ul>
<p>中文用户可利用user-zh邮件列表以中文发问</p>
<ul>
<li><a href="mailto:user-zh-subscribe@hadoop.apache.org">订阅邮件列表</a></li>
<li><a href="mailto:user-zh-unsubscribe@hadoop.apache.org">取消订阅</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-user-zh/">归档邮件</a></li>
</ul>
<p>In order to post to the list, it is necessary to first subscribe to it.</p>
<h2 id="security">Security</h2>
<p>The security mailing list is a private list for discussion of potential
security vulnerabilities issues. Please post potential security
vulnerabilities to this list so that they may be investigated and fixed
before the vulnerabilities is published.</p>
<p>This mailing list is <strong>NOT</strong> for end-user questions and discussion on
security. Please use the user mailing list for such issues.
The Hadoop security mailing list is : <a href="mailto:security@hadoop.apache.org">security@hadoop.apache.org</a>.</p>
<p>In order to post to the list, it is <strong>NOT</strong> necessary to first subscribe
to it.</p>
<p>For information on published vulnerabilities please see our <a href="cve_list.html">CVE list</a>.</p>
<h2 id="general">General</h2>
<p>This mailing list is <strong>NOT</strong> for end-user questions and discussion.
Please use the user mailing list for such issues.
The general mailing list is for announcements and project management.
All Apache Hadoop releases are also announced on this list.</p>
<p>The Hadoop general mailing list is : <a href="mailto:general@hadoop.apache.org">general@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:general-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:general-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-general/">Archives</a></li>
</ul>
<p>In order to post to the list, it is necessary to first subscribe to it.</p>
<h2 id="common">Common</h2>
<h3 id="developers">Developers</h3>
<p>If you&rsquo;d like to contribute to Hadoop Common, please subscribe to the
Hadoop developer mailing list.</p>
<p>The Hadoop Common developer mailing list is:
<a href="mailto:common-dev@hadoop.apache.org">common-dev@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:common-dev-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:common-dev-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-common-dev/">Archives</a></li>
</ul>
<h3 id="commits">Commits</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop Common <a href="version_control.html">version control
system</a>, please subscribe to the Hadoop Common
commits mailing list.</p>
<p>The Hadoop Common commits mailing list is:
<a href="mailto:common-commits@hadoop.apache.org">common-commits@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:common-commits-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:common-commits-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-common-commits/">Archives</a></li>
</ul>
<h3 id="issues">Issues</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop Common <a href="issue_tracking.html">issue tracking
system</a>, please subscribe to the Hadoop Common
issues mailing list.</p>
<p>The Hadoop Common issues mailing list is:
<a href="mailto:common-issues@hadoop.apache.org">common-issues@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:common-issues-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:common-issues-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-common-issues/">Archives</a></li>
</ul>
<h2 id="hdfs">HDFS</h2>
<h3 id="developers-1">Developers</h3>
<p>If you&rsquo;d like to contribute to HDFS, please subscribe to the HDFS
developer mailing list.</p>
<p>The HDFS developer mailing list is: <a href="mailto:hdfs-dev@hadoop.apache.org">hdfs-dev@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:hdfs-dev-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:hdfs-dev-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-hdfs-dev/">Archives</a></li>
</ul>
<h3 id="commits-1">Commits</h3>
<p>If you&rsquo;d like to see changes made in the HDFS <a href="version_control.html">version control
system</a>, please subscribe to the HDFS commits
mailing list.</p>
<p>The HDFS commits mailing list is: <a href="mailto:hdfs-commits@hadoop.apache.org">hdfs-commits@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:hdfs-commits-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:hdfs-commits-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-hdfs-commits/">Archives</a></li>
</ul>
<h3 id="issues-1">Issues</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop HDFS <a href="issue_tracking.html">issue tracking
system</a>, please subscribe to the Hadoop Hdfs issues
mailing list.</p>
<p>The Hadoop HDFS issues mailing list is: <a href="mailto:hdfs-issues@hadoop.apache.org">hdfs-issues@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:hdfs-issues-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:hdfs-issues-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-hdfs-issues/">Archives</a></li>
</ul>
<h2 id="yarn">YARN</h2>
<h3 id="developers-2">Developers</h3>
<p>If you&rsquo;d like to contribute to YARN, please subscribe to the YARN
developer mailing list.</p>
<p>The YARN developer mailing list is: <a href="mailto:yarn-dev@hadoop.apache.org">yarn-dev@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:yarn-dev-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:yarn-dev-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-yarn-dev/">Archives</a></li>
</ul>
<h3 id="commits-2">Commits</h3>
<p>If you&rsquo;d like to see changes made in the YARN <a href="version_control.html">version control
system</a>, please subscribe to the YARN commits
mailing list.</p>
<p>The YARN commits mailing list is: <a href="mailto:yarn-commits@hadoop.apache.org">yarn-commits@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:yarn-commits-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:yarn-commits-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-yarn-commits/">Archives</a></li>
</ul>
<h3 id="issues-2">Issues</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop YARN <a href="issue_tracking.html">issue tracking
system</a>, please subscribe to the Hadoop Yarn issues
mailing list.</p>
<p>The Hadoop YARN issues mailing list is: <a href="mailto:yarn-issues@hadoop.apache.org">yarn-issues@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:yarn-issues-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:yarn-issues-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-yarn-issues/">Archives</a></li>
</ul>
<h2 id="mapreduce">MapReduce</h2>
<h3 id="developers-3">Developers</h3>
<p>If you&rsquo;d like to contribute to Hadoop MapReduce, please subscribe to the
Hadoop developer mailing list.</p>
<p>The Hadoop MapReduce developer mailing list is:
<a href="mailto:mapreduce-dev@hadoop.apache.org">mapreduce-dev@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:mapreduce-dev-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:mapreduce-dev-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-mapreduce-dev/">Archives</a></li>
</ul>
<h3 id="commits-3">Commits</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop MapReduce <a href="version_control.html">version
control system</a>, please subscribe to the Hadoop
MapReduce commits mailing list.</p>
<p>The Hadoop MapReduce commits mailing list is:
<a href="mailto:mapreduce-commits@hadoop.apache.org">mapreduce-commits@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:mapreduce-commits-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:mapreduce-commits-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-mapreduce-commits/">Archives</a></li>
</ul>
<h3 id="issues-3">Issues</h3>
<p>If you&rsquo;d like to see changes made in the Hadoop MapReduce <a href="issue_tracking.html">issue
tracking system</a>, please subscribe to the Hadoop
MapReduce issues mailing list.</p>
<p>The Hadoop MapReduce issues mailing list is:
<a href="mailto:mapreduce-issues@hadoop.apache.org">mapreduce-issues@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:mapreduce-issues-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:mapreduce-issues-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-mapreduce-issues/">Archives</a></li>
</ul>
<h2 id="ozone">Ozone</h2>
<h3 id="developers-4">Developers</h3>
<p>If you&rsquo;d like to contribute to Ozone, please subscribe to the
Hadoop developer mailing list.</p>
<p>The Ozone developer mailing list is:
<a href="mailto:ozone-dev@hadoop.apache.org">ozone-dev@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:ozone-dev-subscribe@hadoop.apache.org">Subscribe to List</a></li>
<li><a href="mailto:ozone-dev-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-ozone-dev/">Archives</a></li>
</ul>
<h3 id="commits-4">Commits</h3>
<p>If you&rsquo;d like to see changes made in the Ozone <a href="version_control.html">version control
system</a>, please subscribe to the Ozone
commits mailing list.</p>
<p>The Ozone commits mailing list is:
<a href="mailto:ozone-commits@hadoop.apache.org">ozone-commits@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:ozone-commits-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:ozone-commits-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-ozone-commits/">Archives</a></li>
</ul>
<h3 id="issues-4">Issues</h3>
<p>If you&rsquo;d like to see changes made in the Ozone <a href="issue_tracking.html">issue tracking
system</a>, please subscribe to the Ozone
issues mailing list.</p>
<p>The Ozone issues mailing list is:
<a href="mailto:ozone-issues@hadoop.apache.org">ozone-issues@hadoop.apache.org</a>.</p>
<ul>
<li><a href="mailto:ozone-issues-subscribe@hadoop.apache.org">Subscribe to
List</a></li>
<li><a href="mailto:ozone-issues-unsubscribe@hadoop.apache.org">Unsubscribe from
List</a></li>
<li><a href="http://mail-archives.apache.org/mod_mbox/hadoop-ozone-issues/">Archives</a></li>
</ul>

</div>

<div class="container">
<footer class="footer container">
  <div class="col-md-6">
  <p>Apache Hadoop, Hadoop, Apache, the Apache feather logo,
    and the Apache Hadoop project logo are either registered trademarks or trademarks of the Apache Software Foundation
     in the United States and other countries</p>
  <p>Copyright © 2006-2021 The Apache Software Foundation</p>
  <p><a href="/privacy_policy.html">Privacy policy</a></p>
  </div>
  <div class="col-md-6">
    <img class="img-responsive" src="/asf_logo_wide.png"/>
  </div>
</footer>
</div>
    
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <script>
    $(function() { $('table').addClass('table table-striped'); })
    </script>

<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
	ga('create', 'UA-7453027-1', 'auto');
	
	ga('send', 'pageview');
}
</script>
</body>
</html>

