Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions website/_dev/dev_env.cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ permalink: /cn/development/dev_env.html

开发者想要在他们的开发机器上运行 Kylin 测试用例或应用。

跟随这个教程,您可以通过运行一个具体测试样例构建 Kylin 测试 cubes,且您能针对已构建的 cube 进一步运行其它测试样例
跟随这个教程,您可以通过运行一个具体测试样例构建 Kylin 测试 cubes,且您能针对已构建的 cube 进一步运行其它测试样例

## Hadoop 客户端环境

Expand Down Expand Up @@ -83,25 +83,30 @@ chmod 777 /hadoop/hbase/local/jars
git clone https://github.com/apache/kylin.git
{% endhighlight %}

将 Kylin 工件安装到 maven 仓库
将 Kylin 工件安装到 maven 仓库

{% highlight Groff markup %}
mvn clean install -DskipTests
{% endhighlight %}
如果遇到关于某个插件不存在或是没有找到的错误,请检查pom.xml文件中是否有插件的版本号被注释,并根据注释说明操作。

### 修改本地配置

必须修改本地配置以指向 hadoop 沙箱(或 CLI)机器。
必须修改本地配置以指向 hadoop 沙箱(或 CLI)机器。你可以选择以下两种方式的其中一种:

第一种方式:修改配置文件

* 在 **examples/test_case_data/sandbox/kylin.properties** 中
* 找到 `sandbox` 并替换成您的 hadoop hosts(如果您使用的是 HDP 沙箱,这步可以跳过)
* 找到 `kylin.job.use-remote-cli` 并修改为 "true"(在代码库中其默认值为 false,假定其运行在 hadoop CLI 上)
* 找到 `kylin.job.remote.cli.username` 和 `kylin.job.remote.cli.password`,填写用于登录 hadoop 集群执行 hadoop 命令的用户名和密码;如果您使用的是 HDP 沙箱,默认用户名使 `root` 密码是 `hadoop`。

* 在 **examples/test_case_data/sandbox** 中
* 在 **examples/test_case_data/sandbox** 中
* 遍历每一个 xml 配置文件,找到所有的 `sandbox` 和 `sandbox.hortonworks.com`,替换成您的 hadoop hosts;(如果您使用的是 HDP 沙箱,这步可以跳过)

host 替换的替代方法是更新您的 `hosts` 文件,来解决 `sandbox` 和 `sandbox.hortonworks.com` 映射为沙箱机器的 IP 的问题。
第二种方式:替换host

* 更新您的 `hosts` 文件,将`sandbox` 和 `sandbox.hortonworks.com` 映射为沙箱机器的 IP 。

### 运行单元测试
运行单元测试来测试每一个 classes 基本功能的有效性。
Expand Down Expand Up @@ -149,7 +154,7 @@ git config --global url."git://".insteadOf https://
bower.cmd --allow-root install
{% endhighlight %}

在 IDE,运行 `org.apache.kylin.rest.DebugTomcat` 将工作目录设置为 /server 文件夹,使用 "kylin-server" 的 classpath。对于 IntelliJ IDEA 2017 或之前的用户,需要修改 "server/kylin-server.iml" 文件,将所有的 "PROVIDED" 替换为 "COMPILE";对于 IntelliJ IDEA 2018 用户,请勾选 “Include dependencies with 'Provided' scope”,否则可能会抛出 "java.lang.NoClassDefFoundError: org/apache/catalina/LifecycleListener" 错误。
在 IDE,运行 `org.apache.kylin.rest.DebugTomcat`将工作目录设置为 /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" 错误。

调节 VM options,例如:

Expand Down Expand Up @@ -210,4 +215,4 @@ limitations under the License.
{% endhighlight %}

当打包时 checkstyle 插件将会检查头部规则。license 文件在 `dev-support/checkstyle-apache-header.txt`。为了方便开发人员,请将头部添加为 `Copyright Profile`,并将其设置为 Kylin 项目的默认值。
![Apache License Profile](/images/develop/intellij_apache_license.png)
![Apache License Profile](/images/develop/intellij_apache_license.png)
2 changes: 1 addition & 1 deletion website/_docs/gettingstarted/faq.cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Kylin 没有内置的调度程度。您可以通过 REST API 从外部调度程
### 如何处理 "java.lang.NoClassDefFoundError" 报错?

Kylin 并不自带这些 Hadoop 的 Jar 包,因为它们应该已经在 Hadoop 节点中存在。所以 Kylin 会尝试通过 `hbase classpath` 和 `hive -e set` 找到它们,并将它们的路径加入 `HBASE_CLASSPATH` 中(Kylin 启动时会运行 `hbase` 脚本,该脚本会读取 `HBASE_CLASSPATH`)。
由于 Hadoop 的复杂性,可能会存在一些会找到 Jar 包的情况,在这种情况下,请查看并修改 `$KYLIN_HOME/bin/` 目录下的 `find-\*-dependecy.sh` 和 `kylin.sh` 脚本来适应您的环境;或者在某些 Hadoop 的发行版中 (如 AWS EMR 5.0),`hbase` 脚本不会保留原始的 `HBASE_CLASSPATH` 值,可能会引起 "NoClassDefFoundError" 的报错。为了解决这个问题,请在 `$HBASE_HOME/bin/` 下找到 `hbase` 脚本,并在其中搜索 `HBASE_CLASSPATH`,查看它是否是如下形式:
由于 Hadoop 的复杂性,可能会存在一些找不到 Jar 包的情况,在这种情况下,请查看并修改 `$KYLIN_HOME/bin/` 目录下的 `find-\*-dependecy.sh` 和 `kylin.sh` 脚本来适应您的环境;或者在某些 Hadoop 的发行版中 (如 AWS EMR 5.0),`hbase` 脚本不会保留原始的 `HBASE_CLASSPATH` 值,可能会引起 "NoClassDefFoundError" 的报错。为了解决这个问题,请在 `$HBASE_HOME/bin/` 下找到 `hbase` 脚本,并在其中搜索 `HBASE_CLASSPATH`,查看它是否是如下形式:
```sh
export HBASE_CLASSPATH=$HADOOP_CONF:$HADOOP_HOME/*:$HADOOP_HOME/lib/*:$ZOOKEEPER_HOME/*:$ZOOKEEPER_HOME/lib/*
```
Expand Down
1 change: 1 addition & 0 deletions website/_docs/install/configuration.cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@ Kylin 和 HBase 都在写入磁盘时使用压缩,因此,Kylin 将在其原
### 超高基维度的处理 {#uhc-config}

Cube 构建默认在 **Extract Fact Table Distinct Column** 这一步为每一列分配一个 Reducer,对于超高基维度,可以通过以下参数增加 Reducer 个数

- `kylin.engine.mr.build-uhc-dict-in-additional-step`:默认值为 FALSE,设置为 TRUE
- `kylin.engine.mr.uhc-reducer-count`:默认值为 1,可以设置为 5,即为每个超高基的列分配 5 个 Reducer。

Expand Down