<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8">
<meta name="Forrest-skin-name" content="pelt">
<title>Hadoop Mailing Lists</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="images/favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
    |header
    +-->
<div class="header">
<!--+
    |start group logo
    +-->
<div class="grouplogo">
<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
</div>
<!--+
    |end group logo
    +-->
<!--+
    |start Project Logo
    +-->
<div class="projectlogo">
<a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
</div>
<!--+
    |end Project Logo
    +-->
<!--+
    |start Search
    +-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
    |end search
    +-->
<!--+
    |start Tabs
    +-->
<ul id="tabs">
<li class="current">
<a class="selected" href="index.html">Main</a>
</li>
<li>
<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
</li>
</ul>
<!--+
    |end Tabs
    +-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
    |start Subtabs
    +-->
<div id="level2tabs"></div>
<!--+
    |end Endtabs
    +-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<!--+
    |breadtrail
    +-->
<div class="breadtrail">

             &nbsp;
           </div>
<!--+
    |start Menu, mainarea
    +-->
<!--+
    |start Menu
    +-->
<div id="menu">
<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
<a href="releases.html">Releases</a>
</div>
<div class="menuitem">
<a href="releases.html#News">News</a>
</div>
<div class="menuitem">
<a href="credits.html">Credits</a>
</div>
<div class="menuitem">
<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
<div id="menu_1.2" class="menuitemgroup">
<div class="menuitem">
<a href="hdfs_design.html">Hadoop File System</a>
</div>
<div class="menuitem">
<a href="api/overview-summary.html#overview_description">Install and Configure</a>
</div>
<div class="menuitem">
<a href="api/index.html">API Docs</a>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
</div>
<div class="menuitem">
<a href="mailing_lists.html#Users">Mailing Lists</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
<div id="menu_1.3" class="menuitemgroup">
<div class="menuitem">
<a href="mailing_lists.html#Developers">Mailing Lists</a>
</div>
<div class="menuitem">
<a href="issue_tracking.html">Issue Tracking</a>
</div>
<div class="menuitem">
<a href="version_control.html">Version Control</a>
</div>
<div class="menuitem">
<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
  |alternative credits
  +-->
<div id="credit2"></div>
</div>
<!--+
    |end Menu
    +-->
<!--+
    |start content
    +-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="mailing_lists.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<h1>Hadoop Mailing Lists</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#Users">Users</a>
</li>
<li>
<a href="#Developers">Developers</a>
</li>
<li>
<a href="#Commits">Commits</a>
</li>
</ul>
</div>
  
    
<a name="N1000C"></a><a name="Users"></a>
<h2 class="h3">Users</h2>
<div class="section">
<p>If you use Hadoop, please subscribe to the Hadoop user mailing list.</p>
<p>
        The Hadoop user mailing list is :
        <a href="mailto:hadoop-user@lucene.apache.org">hadoop-user@lucene.apache.org</a>.
      </p>
<ul>
        
<li>
<a href="mailto:hadoop-user-subscribe@lucene.apache.org">Subscribe to List</a>
</li>
        
<li>
<a href="mailto:hadoop-user-unsubscribe@lucene.apache.org">Unsubscribe from List</a>
</li>
        
<li>Search List Archive on <a href="http://www.mail-archive.com/hadoop-user%40lucene.apache.org/">The Mail Archive</a>,
        <a href="http://www.nabble.com/Hadoop-Users-f17067.html">Nabble</a>,
        or <a href="http://dir.gmane.org/gmane.comp.jakarta.lucene.hadoop.user">Gmane</a>
</li>
        
<li>
<a href="http://mail-archives.apache.org/mod_mbox/lucene-hadoop-user/">View List Archive</a> (<a href="http://lucene.apache.org/mail/hadoop-user/">Raw files</a>)</li>
      
</ul>
<div class="note">
<div class="label">Note</div>
<div class="content">In order to post to the list, it is necessary to first subscribe to it.</div>
</div>
</div>
  
    
<a name="N10045"></a><a name="Developers"></a>
<h2 class="h3">Developers</h2>
<div class="section">
<p>If you'd like to contribute to Hadoop, please subscribe to the
      Hadoop developer mailing list.</p>
<p>
        The Hadoop developer mailing list is :
        <a href="mailto:hadoop-dev@lucene.apache.org">hadoop-dev@lucene.apache.org</a>.
      </p>
<ul>
        
<li>
<a href="mailto:hadoop-dev-subscribe@lucene.apache.org">Subscribe to List</a>
</li>
        
<li>
<a href="mailto:hadoop-dev-unsubscribe@lucene.apache.org">Unsubscribe from List</a>
</li>
        
<li>Search List Archive on <a href="http://www.mail-archive.com/hadoop-dev%40lucene.apache.org/">The Mail Archive</a>,
        <a href="http://www.nabble.com/Hadoop-Dev-f17068.html">Nabble</a>,
        or <a href="http://dir.gmane.org/gmane.comp.jakarta.lucene.hadoop.devel">Gmane</a>
</li>
        
<li>
<a href="http://mail-archives.apache.org/mod_mbox/lucene-hadoop-dev/">View List Archive</a> (<a href="http://lucene.apache.org/mail/hadoop-dev/">Raw files</a>)</li>
      
</ul>
<div class="note">
<div class="label">Note</div>
<div class="content">In order to post to the list, it is necessary to first subscribe to it.</div>
</div>
</div>
  
    
<a name="N1007E"></a><a name="Commits"></a>
<h2 class="h3">Commits</h2>
<div class="section">
<p>If you'd like to see changes made in Hadoop's <a href="version_control.html">version control system</a>
      then subscribe to the Hadoop commit mailing list.</p>
<ul>
        
<li>
<a href="mailto:hadoop-commits-subscribe@lucene.apache.org">Subscribe to List</a>
</li>
        
<li>
<a href="mailto:hadoop-commits-unsubscribe@lucene.apache.org">Unsubscribe from List</a>
</li>
        
<li>Search List Archive on <a href="http://www.mail-archive.com/hadoop-commits%40lucene.apache.org/">The Mail Archive</a>
</li>        
        
<li>
<a href="http://mail-archives.apache.org/mod_mbox/lucene-hadoop-commits/">View List Archive</a> (<a href="http://lucene.apache.org/mail/hadoop-commits/">Raw files</a>)</li>
      
</ul>
</div>
  
  
</div>
<!--+
    |end content
    +-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
    |start bottomstrip
    +-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
    |end bottomstrip
    +-->
</div>
</body>
</html>
