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 2021/07/06 07:50:58 UTC

svn commit: r1891303 [3/22] - in /kylin/site: ./ blog/ blog/2021/07/ blog/2021/07/02/ blog/2021/07/02/Apache-Kylin4-A-new-storage-and-compute-architecture/ cn/development/ cn/development40/ cn/docs/install/ cn/docs40/ cn/docs40/gettingstarted/ cn/docs4...

Added: kylin/site/cn/development40/dev_env.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/development40/dev_env.html?rev=1891303&view=auto
==============================================================================
--- kylin/site/cn/development40/dev_env.html (added)
+++ kylin/site/cn/development40/dev_env.html Tue Jul  6 07:50:56 2021
@@ -0,0 +1,995 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<!doctype html>
+<html>
+	<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | 搭建开发环境</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" href="http://kylin.apache.org/cn/development40/dev_env.html">
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" href="http://kylin.apache.org/feed.xml" />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+	<body>
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png "></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin" target="_blank" class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio" target="_blank" class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/cn/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png">
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+		
+		<div class="container">
+			<div class="row"  style="clear:both;">
+				
+				<div class="col-md-8 col-lg-8 col-xs-12 col-sm-12 aside2" style="float: right;">
+					<div id="container" class="docs">
+						<div id="pjax">
+							<h1 class="post-title">搭建开发环境</h1>
+							<article class="post-content" >
+							<p>开发者想要在他们的开发机器上运行 Kylin4 的测试用例或应用。</p>
+
+<p>跟随这个教程,您可以很方便的在本地机器上搭建一个 Kylin4 的开发环境,不需要连接 Hadoop 客户端或者沙箱。</p>
+
+<h2 id="section">开发机器的环境</h2>
+
+<h3 id="maven">安装 Maven</h3>
+
+<p>最新的 Maven 下载地址:<a href="http://maven.apache.org/download.cgi">http://maven.apache.org/download.cgi</a>,然后创建一个软链接,以便 <code class="highlighter-rouge">mvn</code> 可以在任何地方运行。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cd ~
+wget http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
+tar -xzvf apache-maven-3.2.5-bin.tar.gz
+ln -s /root/apache-maven-3.2.5/bin/mvn /usr/bin/mvn</code></pre></div>
+
+<h3 id="spark">安装 Spark</h3>
+
+<p>在像 /usr/local/spark 这样的本地文件夹下手动安装 Spark;Kylin4 支持 Spark2.4.6,你需要从 Spark 下载页面获取下载链接。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">wget -O /tmp/spark-2.4.6-bin-hadoop2.7.tgz https://archive.apache.org/dist/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz
+cd /usr/local
+tar -zxvf /tmp/spark-2.4.6-bin-hadoop2.7.tgz
+ln -s spark-2.4.6-bin-hadoop2.7 spark</code></pre></div>
+
+<h3 id="section-1">编译</h3>
+
+<p>首先将 Kylin 工程下载到本地:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">git clone https://github.com/apache/kylin.git</code></pre></div>
+
+<p>将 Kylin 工件安装到 Maven 仓库:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn clean install -DskipTests</code></pre></div>
+
+<h3 id="section-2">运行单元测试</h3>
+<p>运行单元测试来测试每一个 classes 基本功能的有效性。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn clean test</code></pre></div>
+
+<h3 id="section-3">运行集成测试</h3>
+<p>执行以下命令,将会运行单元测试和集成测试。提交代码前,单元测试和集成测试都需要运行通过。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mvn clean test -DskipRunIt=false</code></pre></div>
+
+<p>关于测试想要了解更多,请参考<a href="/cn/development40/howto_test.html">如何测试</a>.</p>
+
+<h3 id="kylin-web-">本地运行 Kylin Web 服务器</h3>
+
+<p>拷贝 server/src/main/webapp/WEB-INF 到 webapp/app/WEB-INF</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cp -r server/src/main/webapp/WEB-INF webapp/app/WEB-INF</code></pre></div>
+
+<p>为 Kylin web GUI 下载 JS。<code class="highlighter-rouge">npm</code> 是 <code class="highlighter-rouge">Node.js</code> 的一部分,请搜索有关如何在您的操作系统上安装它的信息。</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cd webapp
+npm install -g bower
+bower --allow-root install</code></pre></div>
+
+<p>如果在 bower install 的过程当中遇到问题,可以尝试命令:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">git config --global url."git://".insteadOf https://</code></pre></div>
+
+<p>注意,如果是在 Windows 上,安装完 bower,需要将 “bower.cmd” 的路径加入系统环境变量 ‘PATH’ 中,然后运行:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">bower.cmd --allow-root install</code></pre></div>
+
+<p>在配置文件 <strong>examples/test_case_data/sandbox/kylin.properties</strong> 中找到以下配置,并按照下面的的示例修改:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code># Need to use absolute pat
+kylin.metadata.url=${KYLIN_SOURCE_DIR}/examples/test_case_data/sample_local
+kylin.storage.url=${KYLIN_SOURCE_DIR}/examples/test_case_data/sample_local
+kylin.env.zookeeper-is-local=true
+kylin.env.hdfs-working-dir=file://$KYLIN_SOURCE_DIR/examples/test_case_data/sample_local
+kylin.engine.spark-conf.spark.master=local
+# Need to create `/path/to/local/dir` manually
+kylin.engine.spark-conf.spark.eventLog.dir=/path/to/local/dir
+kylin.engine.spark-conf.spark.sql.shuffle.partitions=1
+kylin.env=LOCAL
+</code></pre>
+</div>
+
+<p>在 IDE,运行 <code class="highlighter-rouge">org.apache.kylin.rest.DebugTomcat</code>。将工作目录设置为 /server 文件夹,使用 “kylin-server” 的 classpath。在运行之前,请在 IDE 安装 Scala 插件,以保证能够编译 Spark 代码。对于 IntelliJ IDEA 2017 或之前的用户,需要修改 “server/kylin-server.iml” 文件,将所有的 “PROVIDED” 替换为 “COMPILE”;对于 IntelliJ IDEA 2018 用户,请勾选 “Include dependencies with ‘Provided’ scope”,否则可能会抛出 “java.lang.NoClassDefFoundError: org/apache/catalina/LifecycleListener” 错误。</p>
+
+<p>并调节 VM options:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>-Dspark.local=true
+</code></pre>
+</div>
+
+<p><img src="/images/develop40/debug_tomcat_config.png" alt="DebugTomcat Config" /></p>
+
+<p><code class="highlighter-rouge">DebugTomcat</code> 运行成功后,查看 Kylin Web <code class="highlighter-rouge">http://localhost:7070/kylin</code>(用户名:ADMIN,密码:KYLIN)</p>
+
+<h2 id="ide-">安装 IDE 编码格式化工具</h2>
+
+<p>如果你正在为 Kylin 编写代码,你应该确保你的代码符合预期的格式。</p>
+
+<p>对于 Eclipse 用户,只需在提交代码之前格式化代码。</p>
+
+<p>对于 intellij IDEA 用户,您还需要执行一些额外步骤:</p>
+
+<ol>
+  <li>
+    <p>安装 “Eclipse Code Formatter” 并在 core-common/.settings 中使用 “org.eclipse.jdt.core.prefs” 和 “org.eclipse.jdt.ui.prefs” 来配置 “Eclipse Java Formatter config file” 和 “Import order”</p>
+
+    <p><img src="/images/develop/eclipse_code_formatter_config.png" alt="Eclipse_Code_Formatter_Config" /></p>
+  </li>
+  <li>
+    <p>去 Preference =&gt; Code Style =&gt; Java,将 “Scheme” 设为默认,并设置 “Class count to use import with ‘*’” 和 “Names count to use static import with ‘*’” 为 99。</p>
+
+    <p><img src="/images/develop/kylin-intellij-code-style.png" alt="Kylin_Intellj_Code_Style" /></p>
+  </li>
+  <li>
+    <p>禁用 intellij IDEA 的 “Optimize imports on the fly”</p>
+
+    <p><img src="/images/develop/disable_import_on_the_fly.png" alt="Disable_Optimize_On_The_Fly" /></p>
+  </li>
+  <li>
+    <p>提交代码前格式化代码。</p>
+  </li>
+</ol>
+
+<h2 id="ide-license-">设置 IDE license 头部模板</h2>
+
+<p>每一个源文件都应该包括以下的 Apache License 头部</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.</code></pre></div>
+
+<p>当打包时 checkstyle 插件将会检查头部规则。license 文件在 <code class="highlighter-rouge">dev-support/checkstyle-apache-header.txt</code>。为了方便开发人员,请将头部添加为 <code class="highlighter-rouge">Copyright Profile</code>,并将其设置为 Kylin 项目的默认值。<br />
+<img src="/images/develop/intellij_apache_license.png" alt="Apache License Profile" /></p>
+
+							</article>
+						</div>
+					</div>
+				</div>
+				<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/index.html" class="list-group-item-lay pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/dev_env.html" class="list-group-item-lay pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/coding_naming_convention.html" class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_test.html" class="list-group-item-lay pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_contribute.html" class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_become_apache_committer.html" class="list-group-item-lay pjaxlink">如何成为 Apache Committer</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_docs.html" class="list-group-item-lay pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/doc_spec.html" class="list-group-item-lay pjaxlink">Kylin 文档撰写规范</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_package.html" class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_release.html" class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/plugin_arch.html" class="list-group-item-lay pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/web_tech.html" class="list-group-item-lay pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/about_temp_files.html" class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+			</div>
+		</div>		
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org">
+                            <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>

Added: kylin/site/cn/development40/doc_spec.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/development40/doc_spec.html?rev=1891303&view=auto
==============================================================================
--- kylin/site/cn/development40/doc_spec.html (added)
+++ kylin/site/cn/development40/doc_spec.html Tue Jul  6 07:50:56 2021
@@ -0,0 +1,966 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<!doctype html>
+<html>
+	<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | Kylin 文档撰写规范</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" href="http://kylin.apache.org/cn/development40/doc_spec.html">
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" href="http://kylin.apache.org/feed.xml" />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+	<body>
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png "></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin" target="_blank" class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio" target="_blank" class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/cn/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png">
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+		
+		<div class="container">
+			<div class="row"  style="clear:both;">
+				
+				<div class="col-md-8 col-lg-8 col-xs-12 col-sm-12 aside2" style="float: right;">
+					<div id="container" class="docs">
+						<div id="pjax">
+							<h1 class="post-title">Kylin 文档撰写规范</h1>
+							<article class="post-content" >
+							<p>本文从章节结构、元素标记、用语规范、文件/路径规范等方面对 Kylin 文档的撰写规范进行了详述。</p>
+
+<h3 id="section">准备工作</h3>
+
+<ol>
+  <li>请您根据 <a href="/cn/development40/howto_docs.html">如何写文档</a> 准备撰写文档有关的环境,了解 Kylin 文档结构。</li>
+  <li>Kylin 文档使用 Markdown 语法书写,以下简称 md。请您确保您熟悉 <a href="https://guides.github.com/features/mastering-markdown/">Markdown 语法</a>。</li>
+</ol>
+
+<h3 id="section-1">章节结构</h3>
+
+<ul>
+  <li>每个章节的内容以多个小节的形式组织,每个小节的标题使用 <strong>Heading 3 样式</strong>。如:<br />
+  ### 安装 Kylin</li>
+  <li>如果需要在小节内进一步对内容进行组织,请使用 <strong>无序 / 有序 列表</strong>,尽量不使用 <strong>Heading 4</strong>,完全避免 <strong>Heading 5</strong>。如:<br />
+  ### 安装 Kylin
+    <ol>
+      <li>首先,……<br />
+ * 运行……<br />
+ * 解压……</li>
+    </ol>
+  </li>
+</ul>
+
+<h3 id="section-2">元素标记</h3>
+
+<ul>
+  <li>粗体<br />
+使用粗体标记您需要强调的内容。如:
+    <ol>
+      <li>强调 GUI 上某个组件的名称。</li>
+      <li>强调一个新概念。</li>
+      <li>强调用户在阅读时容易忽略的否定词。</li>
+    </ol>
+  </li>
+  <li>斜体
+    <ol>
+      <li>中文文档中一般不使用斜体。</li>
+      <li>英文文档中对于以下情形可以使用斜体,如数据库表名、列名等。</li>
+    </ol>
+  </li>
+  <li>引用
+    <ol>
+      <li>使用引用来标记 次要信息 / 补充信息,即不影响正常理解和使用的扩展信息。如:<br />
+ &gt; 您可以继续阅读以获得更多关于……的信息。</li>
+      <li>使用引用来标记 提示信息。
+        <ul>
+          <li>对于一般性提示信息,使用 <strong>提示 / Note</strong> 开头。</li>
+          <li>对于关键或警示的提示信息,使用 <strong>注意 / Caution</strong> 开头。</li>
+        </ul>
+      </li>
+    </ol>
+  </li>
+  <li>
+    <p>行内代码<br />
+使用行内代码标记一切<strong>可能</strong>会<strong>被用户输入到 shell / config 中的内容</strong>,比如文件路径、 Unix 账户、配置项和值等。</p>
+  </li>
+  <li>
+    <p>代码段<br />
+使用代码段标记<strong>所有用户需要执行的 shell 命令和 config 配置</strong>,统一格式且需要足够凸显。如:</p>
+
+    <ol>
+      <li>
+        <p>shell 命令<br />
+```sh<br />
+$KYLIN_HOME/bin/kylin.sh start<br />
+```</p>
+      </li>
+      <li>
+        <p>config 配置<br />
+  ```properties<br />
+  kylin.env.hdfs-working-dir=/kylin<br />
+  ```<br />
+  ``` xml<br />
+  &lt;property&gt;<br />
+  &lt;name&gt;mapreduce.map.memory.mb&lt;/name&gt;<br />
+  &lt;value&gt;2048&lt;/value&gt;<br />
+  &lt;/property&gt;<br />
+  ```</p>
+      </li>
+    </ol>
+  </li>
+</ul>
+
+<h3 id="section-3">用语规范</h3>
+
+<ul>
+  <li>英文专用词汇
+    <ul>
+      <li>中文文档中,一般出现的英文词汇都需要使用首字母大写。如:<br />
+  Cube 概念是指一个 Cuboid 的集合,其中……。</li>
+      <li>英文文档中,当第一次出现某个英语专有词汇时,需要将首字母大写,并且用粗体强调,其他时候不需要大写 ”cube“ 或者 ”model“ 等词语。</li>
+    </ul>
+  </li>
+  <li>中英文(数字)混合<br />
+在中文版中,所有出现的英文(数字)需要在两端中英文交界处添加一个<strong>额外英文半角空格</strong>,以增强中英文混排的美观性和可读性。</li>
+  <li>标点符号
+    <ul>
+      <li>在中文文档中,<strong>请一律使用中文标点符号</strong>。</li>
+    </ul>
+  </li>
+  <li>UI 交互的描写
+    <ol>
+      <li>统一对页面元素的称呼。<br />
+  顶部状态栏 / the top header<br />
+  左侧导航栏 / the left navigation<br />
+  xxx 页面 / the xxx page<br />
+  xxx 面板 / the xxx panel<br />
+  xxx 对话框 / the xxx dialog</li>
+      <li>用<strong>加粗样式</strong>强调交互元素。如:<br />
+  点击**提交**按钮。</li>
+      <li>用 <strong>-&gt;</strong> 说明连续操作。</li>
+    </ol>
+  </li>
+</ul>
+
+							</article>
+						</div>
+					</div>
+				</div>
+				<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/index.html" class="list-group-item-lay pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/dev_env.html" class="list-group-item-lay pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/coding_naming_convention.html" class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_test.html" class="list-group-item-lay pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_contribute.html" class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_become_apache_committer.html" class="list-group-item-lay pjaxlink">如何成为 Apache Committer</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_docs.html" class="list-group-item-lay pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/doc_spec.html" class="list-group-item-lay pjaxlink">Kylin 文档撰写规范</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_package.html" class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_release.html" class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/plugin_arch.html" class="list-group-item-lay pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/web_tech.html" class="list-group-item-lay pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/about_temp_files.html" class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+			</div>
+		</div>		
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org">
+                            <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>

Added: kylin/site/cn/development40/howto_become_apache_committer.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/development40/howto_become_apache_committer.html?rev=1891303&view=auto
==============================================================================
--- kylin/site/cn/development40/howto_become_apache_committer.html (added)
+++ kylin/site/cn/development40/howto_become_apache_committer.html Tue Jul  6 07:50:56 2021
@@ -0,0 +1,870 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<!doctype html>
+<html>
+	<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | 如何成为 Apache Committer</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+
+  <link rel="canonical" href="http://kylin.apache.org/cn/development40/howto_become_apache_committer.html">
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" href="http://kylin.apache.org/feed.xml" />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+</head>
+
+	<body>
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<header id="header" >
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png "></img> 
+        
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li><a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin" target="_blank" class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+            <li><a href="https://www.facebook.com/kylinio" target="_blank" class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>    
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1">
+        <ul class="nav navbar-nav">
+            <li><a href="/cn">首页</a></li>
+            <li><a href="/cn/docs" >文档</a></li>
+            <li><a href="/cn/download">下载</a></li>
+            <li><a href="/cn/community" >社区</a></li>
+            <li><a href="/cn/development" >开发</a></li>
+            <li><a href="/cn/blog">博客</a></li>
+            <li><a href="/" >English</a></li>           
+        </ul>
+        
+
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png">
+        </div>
+      </a>
+    </div>  
+  </div>
+
+ </header>
+
+		
+		<div class="container">
+			<div class="row"  style="clear:both;">
+				
+				<div class="col-md-8 col-lg-8 col-xs-12 col-sm-12 aside2" style="float: right;">
+					<div id="container" class="docs">
+						<div id="pjax">
+							<h1 class="post-title">如何成为 Apache Committer</h1>
+							<article class="post-content" >
+							<h2 id="section">宽泛的标准</h2>
+<p>这篇文章将介绍如何成为一名 Apache Committer,简单来说可分为以下几个步骤:</p>
+
+<ol>
+  <li>理解和认同 Apache 运作方式和理念(Apache Way),并以此理念来与其他人协同工作;</li>
+  <li>参与项目,可以从贡献文档,回答社区问题(礼貌地),贡献 patch 等做起;到这个时候,你就是一名 contributor 了;</li>
+  <li>成为开源项目某个模块的专家,能够贡献代码、添加测试案例并不 break 其他人的功能,与其他 committer 良好沟通建立互信;</li>
+</ol>
+
+<p><strong>另外,这些行为最好是自愿的,候选人喜爱此项目并自我激励,把项目当作是自己的事情。</strong></p>
+
+<p>如果做到了上述的全部或大部分,那么接下来就是找到一个项目的 PMC 愿意来提名你为 committer。他需要陈述你的贡献给所有 PMC,并获得至少 3 个 +1 票。</p>
+
+<p>总之,Apache 强调 “<strong>Community over code</strong>” (社区第一,胜过代码),你需要在 Kylin 社区树立影响力和发言权,大胆发言,让其他人认可你的贡献,并愿意与你建立信任关系。成为 committer 是一个荣誉与责任共存的事情;成为 committer 不是终点,而是一个更高的起点。</p>
+
+<p>参考资料:<br />
+<a href="https://community.apache.org/contributors/">https://community.apache.org/contributors/</a><br />
+<a href="https://www.quora.com/How-can-I-become-an-Apache-committer">https://www.quora.com/How-can-I-become-an-Apache-committer</a><br />
+<a href="https://mahout.apache.org/developers/how-to-become-a-committer">https://mahout.apache.org/developers/how-to-become-a-committer</a></p>
+
+							</article>
+						</div>
+					</div>
+				</div>
+				<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs visible-md visible-lg" id="nside1" style=" margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#title开发指南" data-toggle="collapse" class="navtitle">开发指南</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/index.html" class="list-group-item-lay pjaxlink">开发快速指南</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/dev_env.html" class="list-group-item-lay pjaxlink">搭建开发环境</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/coding_naming_convention.html" class="list-group-item-lay pjaxlink">编码和命名惯例</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_test.html" class="list-group-item-lay pjaxlink">如何测试</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_contribute.html" class="list-group-item-lay pjaxlink">如何贡献</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_become_apache_committer.html" class="list-group-item-lay pjaxlink">如何成为 Apache Committer</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_docs.html" class="list-group-item-lay pjaxlink">如何写文档</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/doc_spec.html" class="list-group-item-lay pjaxlink">Kylin 文档撰写规范</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_package.html" class="list-group-item-lay pjaxlink">如何打二进制包</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/howto_release.html" class="list-group-item-lay pjaxlink">如何发布</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/plugin_arch.html" class="list-group-item-lay pjaxlink">插件架构</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/web_tech.html" class="list-group-item-lay pjaxlink">Kylin Web 摘要</a></li>      
+      
+
+
+   
+  
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/cn/development40/about_temp_files.html" class="list-group-item-lay pjaxlink">关于临时文件</a></li>      
+      
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+			</div>
+		</div>		
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you 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.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org">
+                            <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>