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 2016/10/18 06:02:57 UTC

svn commit: r1765393 - in /kylin/site: docs15/gettingstarted/faq.html docs15/install/advance_settings.html feed.xml

Author: lidong
Date: Tue Oct 18 06:02:57 2016
New Revision: 1765393

URL: http://svn.apache.org/viewvc?rev=1765393&view=rev
Log:
update faq and advanced_settings

Modified:
    kylin/site/docs15/gettingstarted/faq.html
    kylin/site/docs15/install/advance_settings.html
    kylin/site/feed.xml

Modified: kylin/site/docs15/gettingstarted/faq.html
URL: http://svn.apache.org/viewvc/kylin/site/docs15/gettingstarted/faq.html?rev=1765393&r1=1765392&r2=1765393&view=diff
==============================================================================
--- kylin/site/docs15/gettingstarted/faq.html (original)
+++ kylin/site/docs15/gettingstarted/faq.html Tue Oct 18 06:02:57 2016
@@ -2101,7 +2101,32 @@
 							
 							
 							<article class="post-content" >	
-							<h4 id="build-cube-failed-due-to-error-check-status">Build cube failed due to “error check status”</h4>
+							<h4 id="binfind-hive-dependencysh-can-locate-hivehcat-jars-in-local-but-kylin-reports-error-like-javalangnoclassdeffounderror-orgapachehivehcatalogmapreducehcatinputformat">1. “bin/find-hive-dependency.sh” can locate hive/hcat jars in local, but Kylin reports error like “java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/mapreduce/HCatInputFormat”</h4>
+
+<ul>
+  <li>
+    <p>Kylin need many dependent jars (hadoop/hive/hcat/hbase/kafka) on classpath to work, but Kylin doesn’t ship them. It will seek these jars from your local machine by running commands like <code class="highlighter-rouge">hbase classpath</code>, <code class="highlighter-rouge">hive -e set</code> etc. The founded jars’ path will be appended to the environment variable <em>HBASE_CLASSPATH</em> (Kylin uses <code class="highlighter-rouge">hbase</code> shell command to start up, which will read this). But in some Hadoop distribution (like EMR 5.0), the <code class="highlighter-rouge">hbase</code> shell doesn’t keep the origin <code class="highlighter-rouge">HBASE_CLASSPATH</code> value, that causes the “NoClassDefFoundError”.</p>
+  </li>
+  <li>
+    <p>To fix this, find the hbase shell script (in hbase/bin folder), and search <em>HBASE_CLASSPATH</em>, check whether it overwrite the value like :</p>
+  </li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">export HBASE_CLASSPATH=$HADOOP_CONF:$HADOOP_HOME/*:$HADOOP_HOME/lib/*:$ZOOKEEPER_HOME/*:$ZOOKEEPER_HOME/lib/*</code></pre></div>
+
+<ul>
+  <li>If true, change it to keep the origin value like:</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">export HBASE_CLASSPATH=$HADOOP_CONF:$HADOOP_HOME/*:$HADOOP_HOME/lib/*:$ZOOKEEPER_HOME/*:$ZOOKEEPER_HOME/lib/*:$HBASE_CLASSPATH</code></pre></div>
+
+<h4 id="get-javalangillegalargumentexception-too-high-cardinality-is-not-suitable-for-dictionary----cardinality-5220674-in-build-dimension-dictionary-step">2. Get “java.lang.IllegalArgumentException: Too high cardinality is not suitable for dictionary – cardinality: 5220674” in “Build Dimension Dictionary” step</h4>
+
+<ul>
+  <li>Kylin uses “Dictionary” encoding to encode/decode the dimension values (check <a href="/blog/2015/08/13/kylin-dictionary/">this blog</a>); Usually a dimension’s cardinality is less than millions, so the “Dict” encoding is good to use. As dictionary need be persisted and loaded into memory, if a dimension’s cardinality is very high, the memory footprint will be tremendous, so Kylin add a check on this. If you see this error, suggest to identify the UHC dimension first and then re-evaluate the design (whether need to make that as dimension?). If must keep it, you can by-pass this error with couple ways: 1) change to use other encoding (like <code class="highlighter-rouge">fixed_length</code>, <code class="highlighter-rouge">integer</code>) 2) or set a bigger value for <code class="highlighter-rouge">kylin.dictionary.max.cardinality</code> in <code class="highlighter-rouge">conf/kylin.properties</code>.</li>
+</ul>
+
+<h4 id="build-cube-failed-due-to-error-check-status">3. Build cube failed due to “error check status”</h4>
 
 <ul>
   <li>Check if <code class="highlighter-rouge">kylin.log</code> contains <em>yarn.resourcemanager.webapp.address:http://0.0.0.0:8088</em> and <em>java.net.ConnectException: Connection refused</em></li>
@@ -2109,19 +2134,19 @@
   <li>A workaround is update <code class="highlighter-rouge">kylin.properties</code>, set <code class="highlighter-rouge">kylin.job.yarn.app.rest.check.status.url=http://YOUR_RM_NODE:8088/ws/v1/cluster/apps/${job_id}?anonymous=true</code></li>
 </ul>
 
-<h4 id="hbase-cannot-get-master-address-from-zookeeper-on-hortonworks-sandbox">HBase cannot get master address from ZooKeeper on Hortonworks Sandbox</h4>
+<h4 id="hbase-cannot-get-master-address-from-zookeeper-on-hortonworks-sandbox">4. HBase cannot get master address from ZooKeeper on Hortonworks Sandbox</h4>
 
 <ul>
   <li>By default hortonworks disables hbase, you’ll have to start hbase in ambari homepage first.</li>
 </ul>
 
-<h4 id="map-reduce-job-information-cannot-display-on-hortonworks-sandbox">Map Reduce Job information cannot display on Hortonworks Sandbox</h4>
+<h4 id="map-reduce-job-information-cannot-display-on-hortonworks-sandbox">5. Map Reduce Job information cannot display on Hortonworks Sandbox</h4>
 
 <ul>
   <li>Check out <a href="https://github.com/KylinOLAP/Kylin/issues/40">https://github.com/KylinOLAP/Kylin/issues/40</a></li>
 </ul>
 
-<h4 id="install-kylin-on-cdh-52-or-hadoop-25x">Install Kylin on CDH 5.2 or Hadoop 2.5.x</h4>
+<h4 id="how-to-install-kylin-on-cdh-52-or-hadoop-25x">6. How to Install Kylin on CDH 5.2 or Hadoop 2.5.x</h4>
 
 <ul>
   <li>Check out discussion: <a href="https://groups.google.com/forum/?utm_medium=email&amp;utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ">https://groups.google.com/forum/?utm_medium=email&amp;utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ</a></li>
@@ -2135,27 +2160,22 @@
   &lt;hive.version&gt;0.13.1&lt;/hive.version&gt;
   My Cluster is running on Cloudera Distribution CDH 5.2.0.</code></pre></div>
 
-<h4 id="unable-to-load-a-big-cube-as-htable-with-javalangoutofmemoryerror-unable-to-create-new-native-thread">Unable to load a big cube as HTable, with java.lang.OutOfMemoryError: unable to create new native thread</h4>
-<ul>
-  <li>HBase (as of writing) allocates one thread per region when bulk loading a HTable. Try reduce the number of regions of your cube by setting its “capacity” to “MEDIUM” or “LARGE”. Also tweaks OS &amp; JVM can allow more threads, for example see <a href="http://blog.egilh.com/2006/06/2811aspx.html">this article</a>.</li>
-</ul>
-
-<h4 id="sumfield-returns-a-negtive-result-while-all-the-numbers-in-this-field-are--0">SUM(field) returns a negtive result while all the numbers in this field are &gt; 0</h4>
+<h4 id="sumfield-returns-a-negtive-result-while-all-the-numbers-in-this-field-are--0">7. SUM(field) returns a negtive result while all the numbers in this field are &gt; 0</h4>
 <ul>
   <li>If a column is declared as integer in Hive, the SQL engine (calcite) will use column’s type (integer) as the data type for “SUM(field)”, while the aggregated value on this field may exceed the scope of integer; in that case the cast will cause a negtive value be returned; The workround is, alter that column’s type to BIGINT in hive, and then sync the table schema to Kylin (the cube doesn’t need rebuild); Keep in mind that, always declare as BIGINT in hive for an integer column which would be used as a measure in Kylin; See hive number types: <a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes">https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes</a></li>
 </ul>
 
-<h4 id="why-kylin-need-extract-the-distinct-columns-from-fact-table-before-building-cube">Why Kylin need extract the distinct columns from Fact Table before building cube?</h4>
+<h4 id="why-kylin-need-extract-the-distinct-columns-from-fact-table-before-building-cube">8. Why Kylin need extract the distinct columns from Fact Table before building cube?</h4>
 <ul>
   <li>Kylin uses dictionary to encode the values in each column, this greatly reduce the cube’s storage size. To build the dictionary, Kylin need fetch the distinct values for each column.</li>
 </ul>
 
-<h4 id="why-kylin-calculate-the-hive-table-cardinality">Why Kylin calculate the HIVE table cardinality?</h4>
+<h4 id="why-kylin-calculate-the-hive-table-cardinality">9. Why Kylin calculate the HIVE table cardinality?</h4>
 <ul>
   <li>The cardinality of dimensions is an important measure of cube complexity. The higher the cardinality, the bigger the cube, and thus the longer to build and the slower to query. Cardinality &gt; 1,000 is worth attention and &gt; 1,000,000 should be avoided at best effort. For optimal cube performance, try reduce high cardinality by categorize values or derive features.</li>
 </ul>
 
-<h4 id="how-to-add-new-user-or-change-the-default-password">How to add new user or change the default password?</h4>
+<h4 id="how-to-add-new-user-or-change-the-default-password">10. How to add new user or change the default password?</h4>
 <ul>
   <li>Kylin web’s security is implemented with Spring security framework, where the kylinSecurity.xml is the main configuration file:</li>
 </ul>
@@ -2164,10 +2184,10 @@
 
 <ul>
   <li>The password hash for pre-defined test users can be found in the profile “sandbox,testing” part; To change the default password, you need generate a new hash and then update it here, please refer to the code snippet in: <a href="https://stackoverflow.com/questions/25844419/spring-bcryptpasswordencoder-generate-different-password-for-same-input">https://stackoverflow.com/questions/25844419/spring-bcryptpasswordencoder-generate-different-password-for-same-input</a></li>
-  <li>When you deploy Kylin for more users, switch to LDAP authentication is recommended; To enable LDAP authentication, update “kylin.sandbox” in conf/kylin.properties to false, and also configure the ldap.* properties in ${KYLIN_HOME}/conf/kylin.properties</li>
+  <li>When you deploy Kylin for more users, switch to LDAP authentication is recommended.</li>
 </ul>
 
-<h4 id="using-sub-query-for-un-supported-sql">Using sub-query for un-supported SQL</h4>
+<h4 id="using-sub-query-for-un-supported-sql">11. Using sub-query for un-supported SQL</h4>
 
 <div class="highlight"><pre><code class="language-groff" data-lang="groff">Original SQL:
 select fact.slr_sgmt,
@@ -2192,11 +2212,11 @@ from (
 ) a
 group by a.slr_sgmt</code></pre></div>
 
-<h4 id="build-kylin-meet-npm-errors-">Build kylin meet NPM errors (中国大陆地区用户请特别注意此问题)?</h4>
+<h4 id="build-kylin-meet-npm-errors-">12. Build kylin meet NPM errors (中国大陆地区用户请特别注意此问题)</h4>
 
 <ul>
   <li>
-    <p>Please add proxy for your NPM (请为NPM设置代理):  <br />
+    <p>Please add proxy for your NPM:  <br />
   <code class="highlighter-rouge">npm config set proxy http://YOUR_PROXY_IP</code></p>
   </li>
   <li>
@@ -2205,7 +2225,7 @@ group by a.slr_sgmt</code></pre></div>
   </li>
 </ul>
 
-<h4 id="failed-to-run-buildcubewithenginetest-saying-failed-to-connect-to-hbase-while-hbase-is-active">Failed to run BuildCubeWithEngineTest, saying failed to connect to hbase while hbase is active</h4>
+<h4 id="failed-to-run-buildcubewithenginetest-saying-failed-to-connect-to-hbase-while-hbase-is-active">13. Failed to run BuildCubeWithEngineTest, saying failed to connect to hbase while hbase is active</h4>
 <ul>
   <li>User may get this error when first time run hbase client, please check the error trace to see whether there is an error saying couldn’t access a folder like “/hadoop/hbase/local/jars”; If that folder doesn’t exist, create it.</li>
 </ul>

Modified: kylin/site/docs15/install/advance_settings.html
URL: http://svn.apache.org/viewvc/kylin/site/docs15/install/advance_settings.html?rev=1765393&r1=1765392&r2=1765393&view=diff
==============================================================================
--- kylin/site/docs15/install/advance_settings.html (original)
+++ kylin/site/docs15/install/advance_settings.html Tue Oct 18 06:02:57 2016
@@ -2169,6 +2169,13 @@ The compression settings define in <code
 
 <p>Compression settings only take effect after restarting Kylin server instance.</p>
 
+<h2 id="allocate-more-memory-to-kylin-instance">Allocate more memory to Kylin instance</h2>
+
+<p>Open <code class="highlighter-rouge">bin/setenv.sh</code>, which has two sample settings for <code class="highlighter-rouge">KYLIN_JVM_SETTINGS</code> environment variable; The default setting is small (4GB at max.), you can comment it and then un-comment the next line to allocate 16GB:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">export KYLIN_JVM_SETTINGS="-Xms1024M -Xmx4096M -Xss1024K -XX:MaxPermSize=128M -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$KYLIN_HOME/logs/kylin.gc.$$ -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=64M"
+# export KYLIN_JVM_SETTINGS="-Xms16g -Xmx16g -XX:MaxPermSize=512m -XX:NewSize=3g -XX:MaxNewSize=3g -XX:SurvivorRatio=4 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:CMSInitiatingOccupancyFraction=70 -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError"</code></pre></div>
+
 <h2 id="enable-ldap-or-sso-authentication">Enable LDAP or SSO authentication</h2>
 
 <p>Check <a href="../howto/howto_ldap_and_sso.html">How to Enable Security with LDAP and SSO</a></p>
@@ -2181,10 +2188,13 @@ The compression settings define in <code
 mail.host=your-smtp-server
 mail.username=your-smtp-account
 mail.password=your-smtp-pwd
-mail.sender=your-sender-address</code></pre></div>
+mail.sender=your-sender-address
+kylin.job.admin.dls=adminstrator-address</code></pre></div>
 
 <p>Restart Kylin server to take effective. To disable, set <code class="highlighter-rouge">mail.enabled</code> back to <code class="highlighter-rouge">false</code>.</p>
 
+<p>Administrator will get notifications for all jobs. Modeler and Analyst need enter email address into the “Notification List” at the first page of cube wizard, and then will get notified for that cube.</p>
+
 							</article>
 						</div>
 					</div>

Modified: kylin/site/feed.xml
URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1765393&r1=1765392&r2=1765393&view=diff
==============================================================================
--- kylin/site/feed.xml (original)
+++ kylin/site/feed.xml Tue Oct 18 06:02:57 2016
@@ -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>Sun, 16 Oct 2016 07:26:42 -0700</pubDate>
-    <lastBuildDate>Sun, 16 Oct 2016 07:26:42 -0700</lastBuildDate>
+    <pubDate>Tue, 18 Oct 2016 06:59:12 -0700</pubDate>
+    <lastBuildDate>Tue, 18 Oct 2016 06:59:12 -0700</lastBuildDate>
     <generator>Jekyll v2.5.3</generator>
     
       <item>