You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/09/13 14:09:15 UTC

svn commit: r1840823 - in /kylin/site: cn/development/howto_release.html cn/docs/tutorial/cube_streaming.html development/howto_release.html docs/tutorial/cube_streaming.html feed.xml

Author: lidong
Date: Thu Sep 13 14:09:15 2018
New Revision: 1840823

URL: http://svn.apache.org/viewvc?rev=1840823&view=rev
Log:
Update howto release and streaming tutorial

Modified:
    kylin/site/cn/development/howto_release.html
    kylin/site/cn/docs/tutorial/cube_streaming.html
    kylin/site/development/howto_release.html
    kylin/site/docs/tutorial/cube_streaming.html
    kylin/site/feed.xml

Modified: kylin/site/cn/development/howto_release.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/development/howto_release.html?rev=1840823&r1=1840822&r2=1840823&view=diff
==============================================================================
--- kylin/site/cn/development/howto_release.html (original)
+++ kylin/site/cn/development/howto_release.html Thu Sep 13 14:09:15 2018
@@ -182,6 +182,9 @@ var _hmt = _hmt || [];
   <li>Apache Kylin dist 仓库: <a href="https://dist.apache.org/repos/dist/dev/kylin">https://dist.apache.org/repos/dist/dev/kylin</a></li>
 </ul>
 
+<h2 id="java-8--maven-353">安装使用 Java 8 和 Maven 3.5.3+</h2>
+<p>开始之前,确保已经安装了 Java 8,以及 Maven 3.5.3 或更高版本。</p>
+
 <h2 id="gpg-">设置 GPG 签名密钥</h2>
 <p>按照 <a href="http://www.apache.org/dev/release-signing">http://www.apache.org/dev/release-signing</a> 上的说明创建密钥对  <br />
 安装 gpg (以 Mac OS X 为例):  <br />
@@ -300,9 +303,12 @@ var _hmt = _hmt || [];
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">$ </span>mvn -Papache-release -DskipTests -Dgpg.passphrase<span class="o">=</span><span class="k">${</span><span class="nv">GPG_PASSPHRASE</span><span class="k">}</span> deploy</code></pre></div>
 
-<p><strong>准备</strong></p>
+<p><strong>准备</strong><br />
+检查并确保你可以 ssh 连接到 github:</p>
+
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">ssh -T git@github.com</code></pre></div>
 
-<p>创建一个以 release 后命名的发布分支,例如,v0.7.2-release,并将其推到 Apache。</p>
+<p>基于要当前的开发分支,创建一个以 release 版本号命名的发布分支,例如,v2.5.0-release,并将其推到服务器端。</p>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">$ </span>git checkout -b vX.Y.Z-release
 <span class="gp">$ </span>git push -u origin vX.Y.Z-release</code></pre></div>
@@ -316,7 +322,7 @@ var _hmt = _hmt || [];
 <span class="gp">$ </span>git clean -xf
 <span class="gp">$ </span>mvn clean
 
-<span class="c"># Optionally, do a dry run of the release:prepare step, which sets version numbers.</span>
+<span class="c"># 可选的, do a dry run of the release:prepare step, which sets version numbers.</span>
 <span class="gp">$ </span>mvn -DdryRun<span class="o">=</span><span class="nb">true</span> -DskipTests -DreleaseVersion<span class="o">=</span>X.Y.Z -DdevelopmentVersion<span class="o">=(</span>X.Y.Z+1<span class="o">)</span>-SNAPSHOT -Papache-release -Darguments<span class="o">=</span><span class="s2">"-Dgpg.passphrase=</span><span class="k">${</span><span class="nv">GPG_PASSPHRASE</span><span class="k">}</span><span class="s2"> -DskipTests"</span> release:prepare 2&gt;&amp;1 | tee /tmp/prepare-dry.log</code></pre></div>
 
 <p><strong>查看 dry run 输出:</strong></p>
@@ -324,17 +330,17 @@ var _hmt = _hmt || [];
 <ul>
   <li>在 <code class="highlighter-rouge">target</code> 目录中应该是这 8 个文件,其中包括:
     <ul>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.asc</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.md5</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.sha1</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc.sha256</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.sha256</li>
     </ul>
   </li>
-  <li>移除 .zip, .zip.asc, .zip.md5 和 zip.sha1 文件因为不需要。</li>
+  <li>移除 .zip.asc.sha256 文件因为不需要。</li>
   <li>注意文件名以 <code class="highlighter-rouge">apache-kylin-</code> 开始</li>
-  <li>在源发行版 <code class="highlighter-rouge">.tar.gz</code> 中,检查所有文件是否属于名为 <code class="highlighter-rouge">apache-kylin-X.Y.Z-src</code> 的目录。</li>
+  <li>在源发行版 <code class="highlighter-rouge">.zip</code> 文件中,检查所有文件是否属于名为 <code class="highlighter-rouge">apache-kylin-X.Y.Z-SNAPSHOT</code> 的目录。</li>
   <li>该目录必须包含 <code class="highlighter-rouge">NOTICE</code>, <code class="highlighter-rouge">LICENSE</code>, <code class="highlighter-rouge">README.md</code> 文件</li>
-  <li>按<a href="https://httpd.apache.org/dev/verification.html">此</a>检查 PGP</li>
+  <li>按<a href="https://httpd.apache.org/dev/verification.html">此</a>检查 PGP。</li>
 </ul>
 
 <p><strong>运行真实的 release:</strong><br />
@@ -390,29 +396,14 @@ var _hmt = _hmt || [];
 <span class="gp">$ </span>mkdir ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN
 <span class="gp">$ </span>mv apache-kylin-<span class="k">*</span> ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN
 
+<span class="c">## Remove the .zip.asc.sha256 file as it is not needed.</span>
+<span class="gp">$ </span>rm ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN/apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc.sha256
+
 <span class="c">## Check in</span>
 <span class="gp">$ </span><span class="nb">cd</span> ~/dist/dev/kylin
 <span class="gp">$ </span>svn add apache-kylin-X.Y.Z-rcN
 <span class="gp">$ </span>svn commit -m <span class="s1">'Upload release artifacts to staging'</span> --username &lt;YOUR_APACHE_ID&gt;</code></pre></div>
 
-<p><strong>一个失败的 release 尝试后进行清理:</strong></p>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c"># Make sure that the tag you are about to generate does not already</span>
-<span class="c"># exist (due to a failed release attempt)</span>
-<span class="gp">$ </span>git tag
-
-<span class="c"># If the tag exists, delete it locally and remotely</span>
-<span class="gp">$ </span>git tag -d kylin-X.Y.Z
-<span class="gp">$ </span>git push origin :refs/tags/kylin-X.Y.Z
-
-<span class="c"># Remove modified files</span>
-<span class="gp">$ </span>mvn release:clean
-
-<span class="c"># Check whether there are modified files and if so, go back to the</span>
-<span class="c"># original git commit</span>
-<span class="gp">$ </span>git status
-<span class="gp">$ </span>git reset --hard HEAD</code></pre></div>
-
 <h1 id="release">验证 release</h1>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c"># Check unit test</span>
@@ -424,28 +415,24 @@ var _hmt = _hmt || [];
 <span class="c"># Check keys</span>
 <span class="gp">$ </span>curl -O https://dist.apache.org/repos/dist/release/kylin/KEYS
 
-<span class="c">## Sign/check md5 and sha1 hashes</span>
- _<span class="o">(</span>Assumes your O/S has <span class="s1">'md5'</span> and <span class="s1">'openssl'</span> commands.<span class="o">)</span>_
+<span class="c"># Sign/check sha256 hashes</span>
+<span class="c"># (Assumes your O/S has a 'shasum' command.)</span>
 <span class="k">function </span>checkHash<span class="o">()</span> <span class="o">{</span>
   <span class="nb">cd</span> <span class="s2">"</span><span class="nv">$1</span><span class="s2">"</span>
-  <span class="k">for </span>i <span class="k">in</span> <span class="k">*</span>.<span class="o">{</span>zip,asc<span class="o">}</span>; <span class="k">do
+  <span class="k">for </span>i <span class="k">in</span> <span class="k">*</span>.<span class="o">{</span>pom,gz<span class="o">}</span>; <span class="k">do
     if</span> <span class="o">[</span> ! -f <span class="nv">$i</span> <span class="o">]</span>; <span class="k">then
       continue
     fi
-    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.md5 <span class="o">]</span>; <span class="k">then
-      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.md5<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>md5 -q <span class="nv">$i</span><span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.md5 present and correct
-      <span class="k">else
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.md5 does not match
-      <span class="k">fi
-    fi
-    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.sha1 <span class="o">]</span>; <span class="k">then
-      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.sha1<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>openssl sha1 <span class="nv">$i</span> | cut -d <span class="s1">' '</span> -f 2<span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha1 present and correct
+    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.sha256 <span class="o">]</span>; <span class="k">then
+      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.sha256<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>shasum -a 256 <span class="nv">$i</span><span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
+        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha256 present and correct
       <span class="k">else
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha1 does not match
+        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha256 does not match
       <span class="k">fi
-    fi
+    else
+      </span>shasum -a 256 <span class="nv">$i</span> &gt; <span class="nv">$i</span>.sha256
+      <span class="nb">echo</span> <span class="nv">$i</span>.sha256 created
+    <span class="k">fi
   done</span>
 <span class="o">}</span>;
 <span class="gp">$ </span>checkHash apache-kylin-X.Y.Z-rcN</code></pre></div>
@@ -478,9 +465,8 @@ Its hash is xxx.
 The artifacts to be voted on are located here:
 https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-X.Y.Z-rcN/
 
-The hashes of the artifacts are as follows:
-src.tar.gz.md5 xxx
-src.tar.gz.sha1 xxx
+The hash of the artifact is as follows:
+apache-kylin-X.Y.Z-source-release.zip.sha256 xxx
 
 A staged Maven repository is available for review at:
 https://repository.apache.org/content/repositories/orgapachekylin-XXXX/
@@ -504,7 +490,7 @@ Here is my vote:
 
 <p>投票完成后,发出结果:</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">Subject: [RESULT] [VOTE] Release apache-kylin-X.Y.Z (RC[N])
+<div class="highlight"><pre><code class="language-text" data-lang="text">Subject: [RESULT][VOTE] Release apache-kylin-X.Y.Z (RC[N])
 To: dev@kylin.apache.org
 
 Thanks to everyone who has tested the release candidate and given
@@ -519,12 +505,10 @@ N non-binding +1s:
 No 0s or -1s.
 
 Therefore I am delighted to announce that the proposal to release
-Apache-Kylin-X.Y.Z has passed.
-
-Luke</code></pre></div>
+Apache-Kylin-X.Y.Z has passed.</code></pre></div>
 
 <h2 id="section-1">发布</h2>
-<p>成功发布投票后,我们需要推动发行到镜像,以及其他任务。</p>
+<p>成功发布投票后,我们需要推动发行到镜像,以及其它任务。</p>
 
 <p>在 JIRA 中,搜索<br />
 <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KYLIN%20">all issues resolved in this release</a>,<br />
@@ -587,16 +571,16 @@ svn commit -m <span class="s1">'Remove o
   <li>使用 gpg 对生成的二进制包进行签名,例如:</li>
 </ul>
 
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">gpg --armor --output apache-kylin-1.5.0-bin.tar.gz.asc --detach-sig apache-kylin-1.5.0-bin.tar.gz</code></pre></div>
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">gpg --armor --output apache-kylin-2.5.0-bin.tar.gz.asc --detach-sig apache-kylin-2.5.0-bin.tar.gz</code></pre></div>
 
 <ul>
-  <li>生成二进制包的 md5 文件,例如:</li>
+  <li>生成二进制包的 sha256 文件,例如:</li>
 </ul>
 
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">md5sum &lt; apache-kylin-1.5.0-bin.tar.gz &gt; apache-kylin-1.5.0-bin.tar.gz.md5</code></pre></div>
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">shasum -a 256 apache-kylin-2.5.0-bin.tar.gz &gt; apache-kylin-2.5.0-bin.tar.gz.sha256</code></pre></div>
 
 <ul>
-  <li>将二进制包,签名文件和 md5 文件推送到 svn <strong>dev</strong> 仓库,然后运行 <code class="highlighter-rouge">svn mv &lt;files-in-dev&gt; &lt;files-in-release&gt;</code> 命令将他们移动到 svn <strong>release</strong> 仓库。</li>
+  <li>将二进制包,签名文件和 sha256 文件推送到 svn <strong>dev</strong> 仓库,然后运行 <code class="highlighter-rouge">svn mv &lt;files-in-dev&gt; &lt;files-in-release&gt;</code> 命令将他们移动到 svn <strong>release</strong> 仓库。</li>
   <li>对于不同的 Hadoop/HBase 版本,您可能需要上述步骤;</li>
   <li>添加文件,然后将更改提交 svn。</li>
 </ul>
@@ -623,10 +607,10 @@ svn commit -m <span class="s1">'Remove o
 
 <p>这是一个公告电子邮件的样本(通过研究 Kafka):</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">The Apache Kylin team is pleased to announce the immediate availability of the 2.1.0 release. 
+<div class="highlight"><pre><code class="language-text" data-lang="text">The Apache Kylin team is pleased to announce the immediate availability of the 2.5.0 release. 
 
-This is a major release after 2.0, with more than 100 bug fixes and enhancements; All of the changes in this release can be found in:
-https://kylin.apache.org/docs21/release_notes.html
+This is a major release after 2.4, with more than 100 bug fixes and enhancements; All of the changes in this release can be found in:
+https://kylin.apache.org/docs/release_notes.html
 
 You can download the source release and binary packages from Apache Kylin's download page: https://kylin.apache.org/download/
 

Modified: kylin/site/cn/docs/tutorial/cube_streaming.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/docs/tutorial/cube_streaming.html?rev=1840823&r1=1840822&r2=1840823&view=diff
==============================================================================
--- kylin/site/cn/docs/tutorial/cube_streaming.html (original)
+++ kylin/site/cn/docs/tutorial/cube_streaming.html Thu Sep 13 14:09:15 2018
@@ -169,7 +169,7 @@ var _hmt = _hmt || [];
 							<p>Kylin v1.6 发布了可扩展的 streaming cubing 功能,它利用 Hadoop 消费 Kafka 数据的方式构建 cube,您可以查看 <a href="/blog/2016/10/18/new-nrt-streaming/">这篇博客</a> 以进行高级别的设计。本文档是一步接一步的阐述如何创建和构建样例 cube 的教程;</p>
 
 <h2 id="section">前期准备</h2>
-<p>您需要一个安装了 kylin v1.6.0 或以上版本和可运行的 Kafka(v0.10.0 或以上版本)的 Hadoop 环境;先前的 Kylin 版本有一定的问题因此请首先升级您的 Kylin 实例。</p>
+<p>您需要一个安装了 kylin v1.6.0 或以上版本和可运行的 Kafka(v0.10.0 或以上版本)的 Hadoop 环境。</p>
 
 <p>本教程中我们使用 Hortonworks HDP 2.2.4 Sandbox VM + Kafka v0.10.0(Scala 2.10) 作为环境。</p>
 
@@ -243,7 +243,8 @@ bin/kafka-console-consumer.sh --bootstra
 <p>有了上一步创建的表,现在我们可以创建数据模型了。步骤和您创建普通数据模型是一样的,但有两个要求:</p>
 
 <ul>
-  <li>Streaming Cube 不支持与 lookup 表进行 join;当定义数据模型时,只选择 fact 表,不选 lookup 表;</li>
+  <li>在 v2.4.0 以前,Streaming Cube 不支持与 lookup 表进行 join;当定义数据模型时,只选择 fact 表,不选 lookup 表;</li>
+  <li>如果您使用的是 v2.4.0 或更高版本,可以添加多个 lookup 表到模型中, 所有 lookup 表需要是 Hive 表;</li>
   <li>Streaming Cube 必须进行分区;如果您想要在分钟级别增量的构建 Cube,选择 “MINUTE_START” 作为 cube 的分区日期列。如果是在小时级别,选择 “HOUR_START”。</li>
 </ul>
 

Modified: kylin/site/development/howto_release.html
URL: http://svn.apache.org/viewvc/kylin/site/development/howto_release.html?rev=1840823&r1=1840822&r2=1840823&view=diff
==============================================================================
--- kylin/site/development/howto_release.html (original)
+++ kylin/site/development/howto_release.html Thu Sep 13 14:09:15 2018
@@ -5615,6 +5615,9 @@ var _hmt = _hmt || [];
   <li>Apache Kylin dist repo: <a href="https://dist.apache.org/repos/dist/dev/kylin">https://dist.apache.org/repos/dist/dev/kylin</a></li>
 </ul>
 
+<h2 id="install-java-8-and-maven-353">Install Java 8 and Maven 3.5.3+</h2>
+<p>Make sure you have Java 8 and Maven 3.5.3 or above installed.</p>
+
 <h2 id="setup-gpg-signing-keys">Setup GPG signing keys</h2>
 <p>Follow instructions at <a href="http://www.apache.org/dev/release-signing">http://www.apache.org/dev/release-signing</a> to create a key pair  <br />
 Install gpg (On Mac OS X as sample):  <br />
@@ -5735,7 +5738,11 @@ If you’re the first time to do rele
 
 <p><strong>Prepare</strong></p>
 
-<p>Create a release branch named after the release, e.g. v0.7.2-release, and push it to Apache.</p>
+<p>Make sure your can ssh connection to github:</p>
+
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">ssh -T git@github.com</code></pre></div>
+
+<p>Create a branch for release work from your current development branch, named with this release version, e.g. v2.5.0-release, and then push it to Apache.</p>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">$ </span>git checkout -b vX.Y.Z-release
 <span class="gp">$ </span>git push -u origin vX.Y.Z-release</code></pre></div>
@@ -5749,7 +5756,7 @@ If you’re the first time to do rele
 <span class="gp">$ </span>git clean -xf
 <span class="gp">$ </span>mvn clean
 
-<span class="c"># Optionally, do a dry run of the release:prepare step, which sets version numbers.</span>
+<span class="c"># Optionally, do a dry run of the release:prepare step, which sets version numbers. e.g. releaseVersion=2.5.0, developmentVersion=2.5.1-SNAPSHOT, use default tag kylin-2.5.0</span>
 <span class="gp">$ </span>mvn -DdryRun<span class="o">=</span><span class="nb">true</span> -DskipTests -DreleaseVersion<span class="o">=</span>X.Y.Z -DdevelopmentVersion<span class="o">=(</span>X.Y.Z+1<span class="o">)</span>-SNAPSHOT -Papache-release -Darguments<span class="o">=</span><span class="s2">"-Dgpg.passphrase=</span><span class="k">${</span><span class="nv">GPG_PASSPHRASE</span><span class="k">}</span><span class="s2"> -DskipTests"</span> release:prepare 2&gt;&amp;1 | tee /tmp/prepare-dry.log</code></pre></div>
 
 <p><strong>Check the dry run output:</strong></p>
@@ -5757,18 +5764,18 @@ If you’re the first time to do rele
 <ul>
   <li>In the <code class="highlighter-rouge">target</code> directory should be these 8 files, among others:
     <ul>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.asc</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.md5</li>
-      <li>apache-kylin-X.Y.Z-SNAPSHOT-src.zip.sha1</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc.sha256</li>
+      <li>apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.sha256</li>
     </ul>
   </li>
-  <li>Remove the .zip, .zip.asc, .zip.md5 and zip.sha1 file as they are not needed.</li>
+  <li>Remove the .zip.asc.sha256 file as it is not needed.</li>
   <li>Note that the file names start <code class="highlighter-rouge">apache-kylin-</code>.</li>
-  <li>In the source distro <code class="highlighter-rouge">.tar.gz</code>, check that all files belong to a directory called<br />
-<code class="highlighter-rouge">apache-kylin-X.Y.Z-src</code>.</li>
+  <li>In the source distro <code class="highlighter-rouge">.zip</code>, check that all files belong to a directory called<br />
+<code class="highlighter-rouge">apache-kylin-X.Y.Z-SNAPSHOT</code>.</li>
   <li>That directory must contain files <code class="highlighter-rouge">NOTICE</code>, <code class="highlighter-rouge">LICENSE</code>, <code class="highlighter-rouge">README.md</code></li>
-  <li>Check PGP, per <a href="https://httpd.apache.org/dev/verification.html">this</a></li>
+  <li>Check PGP, per <a href="https://httpd.apache.org/dev/verification.html">this</a>.</li>
 </ul>
 
 <p><strong>Run real release:</strong><br />
@@ -5780,24 +5787,6 @@ Now, run the release for real.</p>
 <span class="c"># Perform checks out the tagged version, builds, and deploys to the staging repository</span>
 <span class="gp">$ </span>mvn -DskipTests -Papache-release -Darguments<span class="o">=</span><span class="s2">"-Dgpg.passphrase=</span><span class="k">${</span><span class="nv">GPG_PASSPHRASE</span><span class="k">}</span><span class="s2"> -DskipTests"</span> release:perform</code></pre></div>
 
-<p><strong>Cleaning up after a failed release attempt:</strong></p>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c"># Make sure that the tag you are about to generate does not already</span>
-<span class="c"># exist (due to a failed release attempt)</span>
-<span class="gp">$ </span>git tag
-
-<span class="c"># If the tag exists, delete it locally and remotely</span>
-<span class="gp">$ </span>git tag -d kylin-X.Y.Z
-<span class="gp">$ </span>git push origin :refs/tags/kylin-X.Y.Z
-
-<span class="c"># Remove modified files</span>
-<span class="gp">$ </span>mvn release:clean
-
-<span class="c"># Check whether there are modified files and if so, go back to the</span>
-<span class="c"># original git commit</span>
-<span class="gp">$ </span>git status
-<span class="gp">$ </span>git reset --hard HEAD</code></pre></div>
-
 <p><strong>Close the staged artifacts in the Nexus repository:</strong></p>
 
 <ul>
@@ -5806,7 +5795,7 @@ Now, run the release for real.</p>
   <li>In the <code class="highlighter-rouge">Staging Repositories</code> tab there should be a line with profile <code class="highlighter-rouge">org.apache.kylin</code></li>
   <li>Navigate through the artifact tree and make sure the .jar, .pom, .asc files are present</li>
   <li>Check the box on in the first column of the row, and press the ‘Close’ button to publish the repository at<br />
-<a href="https://repository.apache.org/content/repositories/orgapachekylin-1006">https://repository.apache.org/content/repositories/orgapachekylin-1006</a><br />
+<a href="https://repository.apache.org/content/repositories/orgapachekylin-1055">https://repository.apache.org/content/repositories/orgapachekylin-1055</a><br />
 (or a similar URL)</li>
 </ul>
 
@@ -5824,6 +5813,9 @@ Upload the artifacts via subversion to a
 <span class="gp">$ </span>mkdir ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN
 <span class="gp">$ </span>mv apache-kylin-<span class="k">*</span> ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN
 
+<span class="c">## Remove the .zip.asc.sha256 file as it is not needed.</span>
+<span class="gp">$ </span>rm ~/dist/dev/kylin/apache-kylin-X.Y.Z-rcN/apache-kylin-X.Y.Z-SNAPSHOT-source-release.zip.asc.sha256
+
 <span class="c">## Check in</span>
 <span class="gp">$ </span><span class="nb">cd</span> ~/dist/dev/kylin
 <span class="gp">$ </span>svn add apache-kylin-X.Y.Z-rcN
@@ -5858,28 +5850,24 @@ Upload the artifacts via subversion to a
 <span class="c"># Check keys</span>
 <span class="gp">$ </span>curl -O https://dist.apache.org/repos/dist/release/kylin/KEYS
 
-<span class="c">## Sign/check md5 and sha1 hashes</span>
- _<span class="o">(</span>Assumes your O/S has <span class="s1">'md5'</span> and <span class="s1">'openssl'</span> commands.<span class="o">)</span>_
+<span class="c"># Sign/check sha256 hashes</span>
+<span class="c"># (Assumes your O/S has a 'shasum' command.)</span>
 <span class="k">function </span>checkHash<span class="o">()</span> <span class="o">{</span>
   <span class="nb">cd</span> <span class="s2">"</span><span class="nv">$1</span><span class="s2">"</span>
-  <span class="k">for </span>i <span class="k">in</span> <span class="k">*</span>.<span class="o">{</span>zip,asc<span class="o">}</span>; <span class="k">do
+  <span class="k">for </span>i <span class="k">in</span> <span class="k">*</span>.<span class="o">{</span>pom,gz<span class="o">}</span>; <span class="k">do
     if</span> <span class="o">[</span> ! -f <span class="nv">$i</span> <span class="o">]</span>; <span class="k">then
       continue
     fi
-    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.md5 <span class="o">]</span>; <span class="k">then
-      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.md5<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>md5 -q <span class="nv">$i</span><span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.md5 present and correct
-      <span class="k">else
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.md5 does not match
-      <span class="k">fi
-    fi
-    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.sha1 <span class="o">]</span>; <span class="k">then
-      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.sha1<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>openssl sha1 <span class="nv">$i</span> | cut -d <span class="s1">' '</span> -f 2<span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha1 present and correct
+    if</span> <span class="o">[</span> -f <span class="nv">$i</span>.sha256 <span class="o">]</span>; <span class="k">then
+      if</span> <span class="o">[</span> <span class="s2">"</span><span class="k">$(</span>cat <span class="nv">$i</span>.sha256<span class="k">)</span><span class="s2">"</span> <span class="o">=</span> <span class="s2">"</span><span class="k">$(</span>shasum -a 256 <span class="nv">$i</span><span class="k">)</span><span class="s2">"</span> <span class="o">]</span>; <span class="k">then
+        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha256 present and correct
       <span class="k">else
-        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha1 does not match
+        </span><span class="nb">echo</span> <span class="nv">$i</span>.sha256 does not match
       <span class="k">fi
-    fi
+    else
+      </span>shasum -a 256 <span class="nv">$i</span> &gt; <span class="nv">$i</span>.sha256
+      <span class="nb">echo</span> <span class="nv">$i</span>.sha256 created
+    <span class="k">fi
   done</span>
 <span class="o">}</span>;
 <span class="gp">$ </span>checkHash apache-kylin-X.Y.Z-rcN</code></pre></div>
@@ -5901,7 +5889,7 @@ Changes highlights:
 
 Thanks to everyone who has contributed to this release.
 Here’s release notes:
-https://github.com/apache/kylin/blob/XXX/docs/release_notes.md
+https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316121&amp;version=12343540
 
 The commit to be voted upon:
 
@@ -5912,9 +5900,8 @@ Its hash is xxx.
 The artifacts to be voted on are located here:
 https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-X.Y.Z-rcN/
 
-The hashes of the artifacts are as follows:
-src.tar.gz.md5 xxx
-src.tar.gz.sha1 xxx
+The hashe of the artifact is as follows:
+apache-kylin-X.Y.Z-source-release.zip.sha256 xxx
 
 A staged Maven repository is available for review at:
 https://repository.apache.org/content/repositories/orgapachekylin-XXXX/
@@ -5938,7 +5925,7 @@ Here is my vote:
 
 <p>After vote finishes, send out the result:</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">Subject: [RESULT] [VOTE] Release apache-kylin-X.Y.Z (RC[N])
+<div class="highlight"><pre><code class="language-text" data-lang="text">Subject: [RESULT][VOTE] Release apache-kylin-X.Y.Z (RC[N])
 To: dev@kylin.apache.org
 
 Thanks to everyone who has tested the release candidate and given
@@ -5953,9 +5940,7 @@ N non-binding +1s:
 No 0s or -1s.
 
 Therefore I am delighted to announce that the proposal to release
-Apache-Kylin-X.Y.Z has passed.
-
-Luke</code></pre></div>
+Apache-Kylin-X.Y.Z has passed.</code></pre></div>
 
 <h2 id="publishing-a-release">Publishing a release</h2>
 <p>After a successful release vote, we need to push the release<br />
@@ -6002,7 +5987,7 @@ svn commit -m <span class="s1">'checkin
 <a href="https://dist.apache.org/repos/dist/release/kylin">https://dist.apache.org/repos/dist/release/kylin</a> and propagate to<br />
 <a href="http://www.apache.org/dyn/closer.cgi/kylin">http://www.apache.org/dyn/closer.cgi/kylin</a> within 24 hours.</p>
 
-<p>If there are now more than 2 releases, clear out the oldest ones:</p>
+<p>If there are more than 2 releases, clear out the oldest ones:</p>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">cd</span> ~/dist/release/kylin
 svn rm apache-kylin-X.Y.Z
@@ -6023,16 +6008,16 @@ svn commit -m <span class="s1">'Remove o
   <li>Sign the generated binary package with gpg, e.g,:</li>
 </ul>
 
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">gpg --armor --output apache-kylin-1.5.0-bin.tar.gz.asc --detach-sig apache-kylin-1.5.0-bin.tar.gz</code></pre></div>
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">gpg --armor --output apache-kylin-2.5.0-bin.tar.gz.asc --detach-sig apache-kylin-2.5.0-bin.tar.gz</code></pre></div>
 
 <ul>
-  <li>Generate the md5 file for the binary package, e.g,:</li>
+  <li>Generate the sha256 file for the binary package, e.g,:</li>
 </ul>
 
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">md5sum &lt; apache-kylin-1.5.0-bin.tar.gz &gt; apache-kylin-1.5.0-bin.tar.gz.md5</code></pre></div>
+<div class="highlight"><pre><code class="language-bash" data-lang="bash">shasum -a 256 apache-kylin-2.5.0-bin.tar.gz &gt; apache-kylin-2.5.0-bin.tar.gz.sha256</code></pre></div>
 
 <ul>
-  <li>Push the binary package, the signature file and the md5 file to the svn <strong>dev</strong> repo, then run <code class="highlighter-rouge">svn mv &lt;files-in-dev&gt; &lt;files-in-release&gt;</code> to move them to svn <strong>release</strong> repo.</li>
+  <li>Push the binary package, the signature file and the sha256 file to the svn <strong>dev</strong> repo, then run <code class="highlighter-rouge">svn mv &lt;files-in-dev&gt; &lt;files-in-release&gt;</code> to move them to svn <strong>release</strong> repo.</li>
   <li>For different Hadoop/HBase version, you may need repeat the above steps;</li>
   <li>Add the files and then commit the svn changes.</li>
 </ul>
@@ -6048,7 +6033,7 @@ svn commit -m <span class="s1">'Remove o
 <p>Refer to <a href="howto_docs.html">How to document</a> for more detail.</p>
 
 <h2 id="send-announcement-mail-to-mailing-list">Send announcement mail to mailing list</h2>
-<p>Send one mail with subject like “[Announce] Apache Kylin x.y.z released” to following list:</p>
+<p>Send one mail with subject like “[Announce] Apache Kylin X.Y.Z released” to following list:</p>
 
 <ul>
   <li>Apache Kylin Dev mailing list: dev@kylin.apache.org</li>
@@ -6059,10 +6044,10 @@ Please notice to always use your Apache
 
 <p>Here is a sample of announcement email (by studying Kafka’s):</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">The Apache Kylin team is pleased to announce the immediate availability of the 2.1.0 release. 
+<div class="highlight"><pre><code class="language-text" data-lang="text">The Apache Kylin team is pleased to announce the immediate availability of the 2.5.0 release. 
 
-This is a major release after 2.0, with more than 100 bug fixes and enhancements; All of the changes in this release can be found in:
-https://kylin.apache.org/docs21/release_notes.html
+This is a major release after 2.4, with more than 100 bug fixes and enhancements; All of the changes in this release can be found in:
+https://kylin.apache.org/docs/release_notes.html
 
 You can download the source release and binary packages from Apache Kylin's download page: https://kylin.apache.org/download/
 
@@ -6073,7 +6058,7 @@ Apache Kylin lets you query massive data
 2. Build Cube on Hadoop.
 3. Query data with ANSI-SQL and get results in sub-second, via ODBC, JDBC or RESTful API.
 
-Thanks everyone who have contributed to the 2.1.0 release.
+Thanks everyone who have contributed to the 2.5.0 release.
 
 We welcome your help and feedback. For more information on how to
 report problems, and to get involved, visit the project website at

Modified: kylin/site/docs/tutorial/cube_streaming.html
URL: http://svn.apache.org/viewvc/kylin/site/docs/tutorial/cube_streaming.html?rev=1840823&r1=1840822&r2=1840823&view=diff
==============================================================================
--- kylin/site/docs/tutorial/cube_streaming.html (original)
+++ kylin/site/docs/tutorial/cube_streaming.html Thu Sep 13 14:09:15 2018
@@ -5604,7 +5604,7 @@ var _hmt = _hmt || [];
 							<p>Kylin v1.6 releases the scalable streaming cubing function, it leverages Hadoop to consume the data from Kafka to build the cube, you can check <a href="/blog/2016/10/18/new-nrt-streaming/">this blog</a> for the high level design. This doc is a step by step tutorial, illustrating how to create and build a sample cube;</p>
 
 <h2 id="preparation">Preparation</h2>
-<p>To finish this tutorial, you need a Hadoop environment which has kylin v1.6.0 or above installed, and also have a Kafka (v0.10.0 or above) running; Previous Kylin version has a couple issues so please upgrade your Kylin instance at first.</p>
+<p>To finish this tutorial, you need a Hadoop environment which has kylin v1.6.0 or above installed, and also have a Kafka (v0.10.0 or above) running.</p>
 
 <p>In this tutorial, we will use Hortonworks HDP 2.2.4 Sandbox VM + Kafka v0.10.0(Scala 2.10) as the environment.</p>
 
@@ -5678,7 +5678,8 @@ bin/kafka-console-consumer.sh --bootstra
 <p>With the table defined in previous step, now we can create the data model. The step is almost the same as you create a normal data model, but it has two requirement:</p>
 
 <ul>
-  <li>Streaming Cube doesn’t support join with lookup tables; When define the data model, only select fact table, no lookup table;</li>
+  <li>Before v2.4.0, Streaming Cube doesn’t support join with lookup tables; When define the data model, only select fact table, no lookup table;</li>
+  <li>If with v2.4.0 or above, you can add lookup tables to the data model. All lookup tables need to be Hive tables;</li>
   <li>Streaming Cube must be partitioned; If you’re going to build the Cube incrementally at minutes level, select “MINUTE_START” as the cube’s partition date column. If at hours level, select “HOUR_START”.</li>
 </ul>
 

Modified: kylin/site/feed.xml
URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1840823&r1=1840822&r2=1840823&view=diff
==============================================================================
--- kylin/site/feed.xml (original)
+++ kylin/site/feed.xml Thu Sep 13 14:09:15 2018
@@ -19,8 +19,8 @@
     <description>Apache Kylin Home</description>
     <link>http://kylin.apache.org/</link>
     <atom:link href="http://kylin.apache.org/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Wed, 12 Sep 2018 06:59:16 -0700</pubDate>
-    <lastBuildDate>Wed, 12 Sep 2018 06:59:16 -0700</lastBuildDate>
+    <pubDate>Thu, 13 Sep 2018 06:59:18 -0700</pubDate>
+    <lastBuildDate>Thu, 13 Sep 2018 06:59:18 -0700</lastBuildDate>
     <generator>Jekyll v2.5.3</generator>
     
       <item>