kafka-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jkr...@apache.org
Subject svn commit: r1513329 [2/2] - in /kafka/site: ./ 07/ 08/ images/ includes/
Date Tue, 13 Aug 2013 03:13:11 GMT
Modified: kafka/site/08/ops.html
URL: http://svn.apache.org/viewvc/kafka/site/08/ops.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/08/ops.html (original)
+++ kafka/site/08/ops.html Tue Aug 13 03:13:10 2013
@@ -1,42 +1,11 @@
-<!--#include virtual="../includes/header.html" -->
-
-<ul class="toc">
-	<li><a href="#operations">Operations</a>
-	<li><a href="#datacenters">Datacenters</a>
-	<li><a href="#config">Config</a>
-		<ul>
-			<li><a href="#serverconfig">Important Server Configs</a>
-			<li><a href="#clientconfig">Important Client Configs</a>
-			<li><a href="#prodconfig">A Production Server Configs</a>
-        </ul>
-     <li><a href="#java">Java Version</a>
-	 <li><a href="#hwandos">Hardware and OS</a>
-		<ul>
-			<li><a href="#os">OS</a>
-			<li><a href="#diskandfs">Disks and Filesystems</a>
-			<li><a href="#appvsosflush">Application vs OS Flush Management</a>
-			<li><a href="#linuxflush">Linux Flush Behavior</a>
-			<li><a href="#ext4">Ext4 Notes</a>
-		</ul>
-	<li><a href="#monitoring">Monitoring</a>
-	<li><a href="#zookeeper">Zookeeper</a>
-		<ul>
-			<li><a href="#zkversion">Stable Version</a>
-			<li><a href="#zkops">Operationalization</a>
-		</ul>
-</ul>
-
-<h1><a id="operations">Operations</a></h1>
 Here is some information on actually running Kafka as a production system based on usage
and experience at LinkedIn. Please send us any additional tips you know of.
 
-<h1><a id="datacenters">Datacenters</a></h1>
-
+<h3><a id="datacenters">6.1 Datacenters</a></h3>
 Some deployments will need to manage a data pipeline that spans multiple datacenters. Our
approach to this is to deploy a local Kafka cluster in each datacenter and machines in each
location interact only with their local cluster.
 <p>
 For applications that need a global view of all data we use the <a href="/08/tools.html">mirror
maker tool</a> to provide clusters which have aggregate data mirrored from all datacenters.
These aggregator clusters are used for reads by applications that require this.
-<img src="../images/kafka_multidc_complex.png" style="float: right">
 <p>
-Likewise, in order to support data load into Hadoop, which resides in separate facilities,
we provide local read-only clusters that mirror the production data centers in the offline
facilities.
+Likewise in order to support data load into Hadoop which resides in separate facilities we
provide local read-only clusters that mirror the production data centers in the facilities
where this data load occurs.
 <p>
 This allows each facility to stand alone and operate even if the inter-datacenter links are
unavailable: when this occurs the mirroring falls behind until the link is restored at which
time it catches up.
 <p>
@@ -46,14 +15,14 @@ This is not the only possible deployment
 <p>
 It is generally not advisable to run a single Kafka cluster that spans multiple datacenters
as this will incur very high replication latency both for Kafka writes and Zookeeper writes
and neither Kafka nor Zookeeper will remain available if the network partitions.
 
-<h1><a id="config">Kafka Configuration</a></h1>
+<h3><a id="config">6.2 Kafka Configuration</a></h3>
 Kafka 0.8 is the version we currently run. We are currently running with replication but
with producers acks = 1. 
 <P>
-<h3><a id="serverconfig">Important Server Configurations</a></h3>
+<h4><a id="serverconfig">Important Server Configurations</a></h4>
 
 The most important server configurations for performance are those that control the disk
flush rate. The more often data is flushed to disk, the more "seek-bound" Kafka will be and
the lower the throughput. However very low application flush rates can lead to high latency
when the flush finally does occur (because of the volume of data that must be flushed). See
the section below on application versus OS flush.
 
-<h3><a id="clientconfig">Important Client Configurations</a></h3>
+<h4><a id="clientconfig">Important Client Configurations</a></h4>
 The most important producer configurations control
 <ul>
 	<li>compression</li>
@@ -64,7 +33,7 @@ The most important consumer configuratio
 <p>
 All configurations are documented in the <a href="configuration.html">configuration</a>
page.
 <p>
-<h3><a id="prodconfig">A Production Server Config</a></h3>
+<h4><a id="prodconfig">A Production Server Config</a></h4>
 Here is our server production server configuration:
 <pre>
 # Replication configurations
@@ -111,7 +80,7 @@ producer.purgatory.purge.interval.reques
 
 Our client configuration varies a fair amount between different use cases.
 
-<h1><a id="java">Java</a></h1>
+<h3><a id="java">Java Version</a></h3>
 Any version of Java 1.6 or later should work fine, we are using 1.6.0_21.
 
 Here are our command line options:
@@ -123,14 +92,14 @@ java -server -Xms3072m -Xmx3072m -XX:New
      -Dcom.sun.management.jmxremote -classpath &lt;long list of jars&gt; the.actual.Class
 	</pre>
 	
-<h1><a id="hwandos">Hardware and OS</a></h1>
+<h3><a id="hwandos">6.4 Hardware and OS</a></h3>
 We are using dual quad-core Intel Xeon machines with 24GB of memory.
 <p>
 You need sufficient memory to buffer active readers and writers. You can do a back-of-the-envelope
estimate of memory needs by assuming you want to be able to buffer for 30 seconds and compute
your memory need as write_throughput*30.
 <p>
 The disk throughput is important. We have 8x7200 rpm SATA drives. In general disk throughput
is the performance bottleneck, and more disks is more better. Depending on how you configure
flush behavior you may or may not benefit from more expensive disks (if you force flush often
then higher RPM SAS drives may be better).
 
-<h2><a id="os">OS</a></h2>
+<h4><a id="os">OS</a></h4>
 Kafka should run well on any unix system and has been tested on Linux and Solaris.
 <p>
 We have seen a few issues running on Windows and Windows is not currently a well supported
platform though we would be happy to change that.
@@ -143,7 +112,7 @@ Two configurations that may be important
 	<li>We upped the max socket buffer size to enable high-performance data transfer between
data centers <a href="http://www.psc.edu/index.php/networking/641-tcp-tune">described
here</a>.
 </ul>
 
-<h2><a id="diskandfs">Disks and Filesystem</a></h2>
+<h4><a id="diskandfs">Disks and Filesystem</a></h4>
 We recommend using multiple drives to get good throughput and not sharing the same drives
used for Kafka data with application logs or other OS filesystem activity to ensure good latency.
As of 0.8 you can either RAID these drives together into a single volume or format and mount
each drive as its own directory. Since Kafka has replication the redundancy provided by RAID
can also be provided at the application level. This choice has several tradeoffs.
 <p>
 If you configure multiple data directories partitions will be assigned round-robin to data
directories. Each partition will be entirely in one of the data directories. If data is not
well balanced among partitions this can lead to load imbalance between disks.
@@ -152,7 +121,7 @@ RAID can potentially do better at balanc
 <p>
 Another potential benefit of RAID is the ability to tolerate disk failures. However our experience
has been that rebuilding the RAID array is so I/O intensive that it effectively disables the
server, so this does not provide much real availability improvement.
 
-<h2><a id="appvsosflush">Application vs. OS Flush Management</a></h2>
+<h4><a id="appvsosflush">Application vs. OS Flush Management</a></h4>
 Kafka always immediately writes all data to the filesystem and supports the ability to configure
the flush policy that controls when data is forced out of the OS cache and onto disk using
the and flush. This flush policy can be controlled to force data to disk after a period of
time or after a certain number of messages has been written. There are several choices in
this configuration.
 <p>
 Kafka must eventually call fsync to know that data was flushed. When recovering from a crash
for any log segment not known to be fsync'd Kafka will check the integrity of each message
by checking its CRC and also rebuild the accompanying offset index file as part of the recovery
process executed on startup.
@@ -164,7 +133,7 @@ After 0.8 we improved our recovery proce
 <p>
 In general you don't need to do any low-level tuning of the filesystem, but in the next few
sections we will go over some of this in case it is useful.
 
-<h3><a id="linuxflush">Understanding Linux OS Flush Behavior</a></h3>
+<h4><a id="linuxflush">Understanding Linux OS Flush Behavior</a></h4>
 
 In Linux, data written to the filesystem is maintained in <a href="http://en.wikipedia.org/wiki/Page_cache">pagecache</a>
until it must be written out to disk (due to an application-level fsync or the OS's own flush
policy). The flushing of data is done by a set of background threads called pdflush (or in
post 2.6.32 kernels "flusher threads").
 <p>
@@ -183,7 +152,7 @@ Using pagecache has several advantages o
   <li>It automatically uses all the free memory on the machine
 </ul>
 
-<h3><a id="ext4">Ext4 Notes</a></h3>
+<h4><a id="ext4">Ext4 Notes</a></h4>
 Ext4 may or may not be the best filesystem for Kafka. Filesystems like XFS supposedly handle
locking during fsync better. We have only tried Ext4, though.
 <p>
 It is not necessary to tune these settings, however those wanting to optimize performance
have a few knobs that will help:
@@ -195,7 +164,7 @@ It is not necessary to tune these settin
   <li>delalloc: Delayed allocation means that the filesystem avoid allocating any blocks
until the physical write occurs. This allows ext4 to allocate a large extent instead of smaller
pages and helps ensure the data is written sequentially. This feature is great for throughput.
It does seem to involve some locking in the filesystem which adds a bit of latency variance.
 </ul>
 	
-<h1><a id="monitoring">Monitoring</a></h1>
+<h3><a id="monitoring">6.5 Monitoring</a></h3>
 
 Kafka uses Yammer Metrics for metrics reporting in both the server and the client. This can
be configured to report stats using pluggable stats reporters to hook up to your monitoring
system.
 <p>
@@ -219,16 +188,16 @@ We pay particular we do graphing and ale
 	<li>Various server stats such as CPU utilization, I/O service time, etc.
 </ul>
 
-<h3>Audit</h3>
+<h4>Audit</h4>
 The final alerting we do is on the correctness of the data delivery. We audit that every
message that is sent is consumed by all consumers and measure the lag for this to occur. For
important topics we alert if a certain completeness is not achieved in a certain time period.
The details of this are discussed in KAFKA-260.
 
-<h1><a id="zk">Zookeeper</a></h1>
+<h3><a id="zk">6.6 Zookeeper</a></h3>
 
-<h3><a id="zkversion">Stable version</a></h3>
-At LinkedIn, we are running Zookeeper 3.3.*. Version 3.3.3 has known serious issues regarding
ephemeral node deletion and session expirations. After running into those issues in production,
we upgraded to 3.3.4 and have been running that smoothly for 1/2 year now.
+<h4><a id="zkversion">Stable version</a></h4>
+At LinkedIn, we are running Zookeeper 3.3.*. Version 3.3.3 has known serious issues regarding
ephemeral node deletion and session expirations. After running into those issues in production,
we upgraded to 3.3.4 and have been running that smoothly for over a year now.
 
-<h3><a id="zkops">Operationalizing Zookeeper</a></h3>
-Operationally, we do the following for a healthy Zookeeper installation -
+<h4><a id="zkops">Operationalizing Zookeeper</a></h4>
+Operationally, we do the following for a healthy Zookeeper installation:
 <p>
 Redundancy in the physical/hardware/network layout: try not to put them all in the same rack,
decent (but don't go nuts) hardware, try to keep redundant power and network paths, etc
 <p>
@@ -243,5 +212,3 @@ Don't overbuild the cluster: large clust
 Try to run on a 3-5 node cluster: Zookeeper writes use quorums and inherently that means
having an odd number of machines in a cluster. Remember that a 5 node cluster will cause writes
to slow down compared to a 3 node cluster, but will allow more fault tolerance.
 <p>
 Overall, we try to keep the Zookeeper system as small as will handle the load (plus standard
growth capacity planning) and as simple as possible. We try not to do anything fancy with
the configuration or application layout as compared to the official release as well as keep
it as self contained as possible. For these reasons, we tend to skip the OS packaged versions,
since it has a tendency to try to put things in the OS standard hierarchy, which can be 'messy',
for want of a better way to word it.
-
-<!--#include virtual="../includes/footer.html" -->
\ No newline at end of file

Modified: kafka/site/08/quickstart.html
URL: http://svn.apache.org/viewvc/kafka/site/08/quickstart.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/08/quickstart.html (original)
+++ kafka/site/08/quickstart.html Tue Aug 13 03:13:10 2013
@@ -1,8 +1,6 @@
-<!--#include virtual="../includes/header.html" -->
+<h3><a id="quickstart">1.3 Quick Start</a></h3>
 
-<h1>Quick Start</h1>
-	
-<h3> Step 1: Download the code </h3>
+<h4> Step 1: Download the code </h4>
 
 <a href="../downloads.html" title="Kafka downloads">Download</a> the 0.8 release.
 
@@ -16,7 +14,7 @@
 
 This tutorial assumes you are starting on a fresh zookeeper instance with no pre-existing
data. If you want to migrate from an existing 0.7 installation you will need to follow the
migration instructions.
 
-<h3>Step 2: Start the server</h3>
+<h4>Step 2: Start the server</h4>
 
 <p>
 Kafka uses zookeeper so you need to first start a zookeeper server if you don't already have
one. You can use the convenience script packaged with kafka to get a quick-and-dirty single-node
zookeeper instance.
@@ -35,7 +33,7 @@ Now start the Kafka server:
 ...
 </pre>
 
-<h3>Step 3: Create a topic</h3>
+<h4>Step 3: Create a topic</h4>
 
 Let's create a topic named "test" with a single partition and only one replica:
 <pre>
@@ -48,7 +46,7 @@ We can now see that topic if we run the 
 </pre>
 Alternatively, you can also configure your brokers to auto-create topics when a non-existent
topic is published to.
 
-<h3>Step 4: Send some messages</h3>
+<h4>Step 4: Send some messages</h4>
 
 Kafka comes with a command line client that will take input from a file or standard in and
send it out as messages to the Kafka cluster. By default each line will be sent as a separate
message.
 <p>
@@ -60,7 +58,7 @@ This is a message
 This is another message
 </pre>
 
-<h3>Step 5: Start a consumer</h3>
+<h4>Step 5: Start a consumer</h4>
 
 Kafka also has a command line consumer that will dump out messages to standard out.
 
@@ -76,7 +74,7 @@ If you have each of the above commands r
 All the command line tools have additional options; running the command with no arguments
will display usage information documenting them in more detail.	
 </p>
 
-<h3>Step 6: Setting up a multi-broker cluster</h3>
+<h4>Step 6: Setting up a multi-broker cluster</h4>
 
 So far we have been running against a single broker, but that's no fun. For Kafka, a single
broker is just a cluster of size one, so nothing much changes other than starting a few more
broker instances. But just to get feel for it, let's expand our cluster to three nodes (still
all on our local machine).
 <p>
@@ -163,8 +161,4 @@ And the messages should still be availab
 my test message 1
 my test message 2
 <b>^C</b>
-</pre>
-
-And that is all there is to it. 
-
-<!--#include virtual="../includes/footer.html" -->
+</pre>
\ No newline at end of file

Modified: kafka/site/08/tools.html
URL: http://svn.apache.org/viewvc/kafka/site/08/tools.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/08/tools.html (original)
+++ kafka/site/08/tools.html Tue Aug 13 03:13:10 2013
@@ -1,14 +1,7 @@
-<!--#include virtual="../includes/header.html" -->
-<h2>Mirroring data between clusters</h2>
+<h3><a id="mirroringdata">7.1 Mirroring data between clusters</a></h3>
 We have a tool that runs a continuous copy between two clusters. The clusters are completely
independent and the topology need not match (you can have a different number of brokers and
a different number of partitions). Offsets and partitioning are currently not preserved by
this tool as it is meant for geographical replication rather than backup.
 
 Documentation <a href="https://cwiki.apache.org/confluence/display/KAFKA/Kafka+mirroring+%28MirrorMaker%29">here</a>.
 
-<h2> Administrative tools</h2>
+<h3><a id="networklayer"> 7.2 Administrative tools</a></h3>
 A set of tools for managing an 0.8 cluster is described in <a href="https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools">here</a>.
-
-<h2>Migrating data from a 0.7 cluster to a 0.8 cluster</h2>
-Since 0.8 is not backward compatible with 0.7.x, we provide a tool for migrating data in
an 0.7 cluster to an 0.8 cluster. Details of the tool can be found <a href="https://cwiki.apache.org/confluence/display/KAFKA/Migrating+from+0.7+to+0.8">here</a>.
-
-<!--#include virtual="../includes/footer.html" -->
-

Added: kafka/site/08/upgrade.html
URL: http://svn.apache.org/viewvc/kafka/site/08/upgrade.html?rev=1513329&view=auto
==============================================================================
--- kafka/site/08/upgrade.html (added)
+++ kafka/site/08/upgrade.html Tue Aug 13 03:13:10 2013
@@ -0,0 +1,2 @@
+<h3><a id="migrationtool">Upgrading from 0.7</a></h3>
+Since 0.8 is not backward compatible with 0.7.x, we provide a tool for migrating data in
an 0.7 cluster to an 0.8 cluster. Details of the tool can be found <a href="https://cwiki.apache.org/confluence/display/KAFKA/Migrating+from+0.7+to+0.8">here</a>.
\ No newline at end of file

Added: kafka/site/08/uses.html
URL: http://svn.apache.org/viewvc/kafka/site/08/uses.html?rev=1513329&view=auto
==============================================================================
--- kafka/site/08/uses.html (added)
+++ kafka/site/08/uses.html Tue Aug 13 03:13:10 2013
@@ -0,0 +1,29 @@
+<h3><a id="uses">1.2 Use Cases</a></h3>
+
+Here is a description of a few of the popular use cases for Apache Kafka. For an overview
of a number of these areas in action, see <a href="http://sites.computer.org/debull/A12june/pipeline.pdf">this
paper</a>.
+
+<h4>Messaging</h4>
+
+Kafka works well as a replacement for a more traditional message broker. Message brokers
are used for a variety of reasons (to decouple processing from data producers, to buffer unprocessed
messages, etc). In comparison to most messaging systems Kafka has better throughput, built-in
partitioning, replication, and fault-tolerance which makes it a good solution for large scale
message processing applications.
+<p>
+In our experience messaging uses are often comparatively low-throughput, but may require
low end-to-end latency and often depend on the strong durability guarantees Kafka provides.
+
+<h4>Website Activity Tracking</h4>
+
+The original use case for Kafka was to be able to rebuild a user activity tracking pipeline
as a set of real-time publish-subscribe feeds. This means site activity (page views, searches,
or other actions users may take) is published to central topics with one topic per activity
type. These feeds are available for subscription for a range of use cases including real-time
processing, real-time monitoring, and loading into Hadoop or offline data warehousing systems
for offline processing and reporting.
+<p>
+Activity tracking is often very high volume as many activity messages are generated for each
user page view.
+
+<h4>Metrics</h4>
+
+Kafka is often used for operation monitoring data pipelines. This involves aggregating statistics
from distributed applications to produce centralized feeds of operational data.
+
+<h4>Log Aggregation</h4>
+
+Many people use Kafka as a replacement for a log aggregation solution. Log aggregation typically
collects physical log files off servers and puts them in a central place (a file server or
HDFS perhaps) for processing. Kafka abstracts away the details of files and gives a cleaner
abstraction of log or event data as a stream of messages. This allows for lower-latency processing
and easier support for multiple data sources and distributed data consumption.
+
+In comparison to log-centric systems like Scribe or Flume, Kafka offers equally good performance,
stronger durability guarantees due to replication, and much lower end-to-end latency.
+
+<h4>Stream Processing</h4>
+
+Many users end up doing stage-wise processing of data where data is consumed from topics
of raw data and then aggregated, enriched, or otherwise transformed into new Kafka topics
for further consumption. For example a processing flow for article recommendation might crawl
article content from RSS feeds and publish it to an "articles" topic; further processing might
help normalize or deduplicate this content to a topic of cleaned article content; a final
stage might attempt to match this content to users. This creates a graph of real-time data
flow out of the individual topics. The <a href="https://github.com/nathanmarz/storm">Storm</a>
framework is one popular way for implementing some of these transformations.
\ No newline at end of file

Added: kafka/site/documentation.html
URL: http://svn.apache.org/viewvc/kafka/site/documentation.html?rev=1513329&view=auto
==============================================================================
--- kafka/site/documentation.html (added)
+++ kafka/site/documentation.html Tue Aug 13 03:13:10 2013
@@ -0,0 +1,2 @@
+<!-- should always link the the latest release's documentation -->
+<!--#include virtual="08/documentation.html" -->
\ No newline at end of file

Modified: kafka/site/downloads.html
URL: http://svn.apache.org/viewvc/kafka/site/downloads.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/downloads.html (original)
+++ kafka/site/downloads.html Tue Aug 13 03:13:10 2013
@@ -2,7 +2,7 @@
 
 <h1>Releases</h1>
 
-The current stable version is 0.7.2. However we have released a beta version of 0.8 which
is being actively used at large-scale, and though it still has some rough edges, we feel it
is production-ready and is a better starting point for new users.
+The current stable version is 0.7.2. However we have released a beta version of 0.8 which
is being actively used at large-scale. It still has some rough edges, but we feel it is production-ready,
and is a better starting point for new users.
 <p>
 You can verify your download by following these <a href="http://www.apache.org/info/verification.html">procedures</a>
and using these <a href="http://svn.apache.org/repos/asf/kafka/KEYS">KEYS</a>.
 

Added: kafka/site/images/kafka_logo.png
URL: http://svn.apache.org/viewvc/kafka/site/images/kafka_logo.png?rev=1513329&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kafka/site/images/kafka_logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: kafka/site/includes/footer.html
URL: http://svn.apache.org/viewvc/kafka/site/includes/footer.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/includes/footer.html (original)
+++ kafka/site/includes/footer.html Tue Aug 13 03:13:10 2013
@@ -1,3 +1,9 @@
 		</div>
+		<div id="footer">
+			<a href="http://www.apache.org">
+				<img class="feather" src="http://www.apache.org/images/feather-small.png" alt="Apache
Feather">
+			</a>
+		</div>
+		</div>
 	</body>
 </html>
\ No newline at end of file

Modified: kafka/site/includes/header.html
URL: http://svn.apache.org/viewvc/kafka/site/includes/header.html?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/includes/header.html (original)
+++ kafka/site/includes/header.html Tue Aug 13 03:13:10 2013
@@ -4,6 +4,7 @@
 		<title>Apache Kafka</title>
 		<link rel='stylesheet' href='/styles.css' type='text/css'>
 		<link rel="icon" type="image/gif" href="/images/apache_feather.gif">
+		<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic' rel='stylesheet'
type='text/css'>
 		<meta name="robots" content="index,follow" />
 		<meta name="language" content="en" /> 
 		<meta name="keywords" content="apache kafka messaging queuing distributed stream processing">
@@ -26,49 +27,36 @@
 		</script>
 	</head>
 	<body>
+		<div id="everything">
 		<div id="header">
-				<a href="http://www.apache.org">
-					<img class="feather" src="http://www.apache.org/images/feather-small.png" alt="Apache
Feather"/>
-				</a>
-				<div class="title"><a href="/index.html">Apache Kafka</a></div>
-				<div class="subtitle">A high-throughput distributed messaging system.</div>
+				<table>
+					<tr>
+						<td><a href="/"><img src="/images/kafka_logo.png"></a></td>
+						<td class="title">
+							<a href="/">Apache Kafka</a>
+							<br>
+							<span class="subtitle"><a href="/">A high-throughput distributed messaging
system.</a></span>
+						</td>
+					</tr>
+				</table>
 		</div>
 		<div class="lsidebar">
 			<ul>
 				<li><a href="/downloads.html">download</a></li>
-				<li><a href="/introduction.html">introduction</a></li>
-				<li><a href="/uses.html">uses</a></li>
-				<li><a href="/design.html">design</a></li>
-				<li><a href="/implementation.html">implementation</a></li>
+				<li><a href="/documentation.html#introduction">introduction</a></li>
+				<li><a href="/documentation.html#uses">uses</a></li>
+				<li><a href="/documentation.html">documentation</a></li>
 				<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Clients">clients</a></li>
+				<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem">ecosystem</a></li>
 				<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/FAQ">faq</a></li>
-				<li>0.8&nbsp;beta
-					<ul>
-					    <li><a href="/08/quickstart.html">quickstart</a></li>
-		                    <li><a href="/08/api.html">api&nbsp;docs</a></li>
-		                    <li><a href="/08/configuration.html">configuration</a></li>
-		                    <li><a href="/08/ops.html">operation</a></li>
-							<li><a href="/08/tools.html">tools</a></li>
-							<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Migrating+from+0.7+to+0.8">migration</a></li>
-					</ul>
-				</li>
-				<li>0.7
-					<ul>
-						<li><a href="/07/quickstart.html">quickstart</a></li>
-						<li><a href="http://people.apache.org/~joestein/kafka-0.7.1-incubating-docs">api&nbsp;docs</a></li>
-						<li><a href="/07/configuration.html">configuration</a></li>
-						<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Operations">operation</a></li>
-						<li><a href="/07/performance.html">performance</a></li>
-					</ul>
-				</li>
 				<li>project
 					<ul>
 						<li><a href="https://cwiki.apache.org/confluence/display/KAFKA">wiki</a></li>
 						<li><a href="https://issues.apache.org/jira/browse/KAFKA">bugs</a></li>
 						<li><a href="/contact.html">mailing&nbsp;lists</a></li>
+						<li><a href="http://www.apache.org/licenses">license</a></li>
 						<li><a href="/committers.html">committers</a></li>
 						<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Powered+By">powered&nbsp;by</a></li>
-						<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem">ecosystem</a></li>
 						<li><a href="https://cwiki.apache.org/confluence/display/KAFKA/Kafka+papers+and+presentations">papers&nbsp;&amp;&nbsp;talks</a></li>
 					</ul>
 				</li>

Modified: kafka/site/styles.css
URL: http://svn.apache.org/viewvc/kafka/site/styles.css?rev=1513329&r1=1513328&r2=1513329&view=diff
==============================================================================
--- kafka/site/styles.css (original)
+++ kafka/site/styles.css Tue Aug 13 03:13:10 2013
@@ -1,11 +1,11 @@
 html, body{
-	font-family:Helvetica,sans-serif;
+	font-family: 'Source Sans Pro', sans-serif;
     margin: 0px;
 	padding: 0px;
 	background-color: #fff;
-	color: #222;
+	color: #333;
 	line-height: 175%;
-	font-size: 12pt;
+	font-size: 13pt;
 }
 code, pre {
 	font: 1em/normal "courier new", courier, monospace;
@@ -14,7 +14,7 @@ h1, h2, h3, h4 {
   color: #2e4a8e;
 }
 h1 {
-	font-size: 20pt;
+	font-size: 24pt;
 }
 h2 {
 	font-size: 18pt;
@@ -29,29 +29,48 @@ a {
 	color: #2e4a8e;
 	text-decoration: none;
 }
+#everything {
+	margin: auto;
+	width: 1000px;
+}
 #header {
-	margin: 0px;
-	padding: 20px;
-	background-color: #2e4a8e;
+	margin: auto;
+	padding-left: 35px;
+	padding-top: 10px;
+	padding-bottom: 10px;
+	background-color: white;
 	min-width: 1000px;
-	overflow: hidden
+	overflow: hidden;
 }
 #header a {
-	color: white;
+	color: black;
 	text-decoration: none;
 }
+#header table {
+	border-collapse: collapse;
+	border-spacing: 0px;
+}
+#header img {
+	margin: 5px;
+}
+#footer {
+	text-align: center;
+	font-size: 10pt;
+	width: 500px;
+	margin: auto;
+	line-height: 100%;
+}
 .title, .subtitle {
-	color: white;
-	font-size: 40pt;
-	margin: 15px;	
+	color: black;
+	font-size: 50pt;
+	line-height: 55%;	
 }
 .subtitle {
 	font-size: 16pt;
-	font-style: italic;
 }
 .feather {
-	float: right;
-	margin: 5px
+	margin: 5px;
+	border: 0px;
 }
 .projects, .projects a {
 	font-style: normal;
@@ -59,7 +78,7 @@ a {
 }
 .lsidebar {
 	float: left;
-	font-size: 13pt;
+	font-size: 15pt;
 	color: #2e4a8e;
 	width: 250px;
 	line-height: 120%;
@@ -75,12 +94,10 @@ a {
 	list-style-type: circle;
 }
 .content {
-	min-width: 750px;
-	max-width: 900px;
+	width: 800px;
 	margin-left: 250px;
-	xpadding: 10px;
-	min-height: 800px;
-	padding: 10px;
+	min-height: 550px;
+	padding: 0px;
 }
 .numeric {
   text-align: right;
@@ -111,8 +128,11 @@ a {
 	font-weight: bold
 }
 .toc {
-	font-size: 16pt;
+	font-size: 15pt;
 }
 .toc ul {
 	font-size: 14pt;
+}
+.toc ul ul {
+	font-size: 13pt;
 }
\ No newline at end of file



Mime
View raw message