目录

  • 安装
    • Hadoop 环境
    • Kylin下载
    • Kylin目录结构
    • 配置kylin.properties
    • 验证检查环境
    • 启动/停止Kylin
      • guava.jar版本问题
      • 启动 Kylin
      • CuratorConnectionLossException
      • 错误
  • 熟悉使用 Kylin
    • 进入web界面
    • 创建项目
    • 同步hive表
      • Failed to load Hive Table
    • 创建Model
    • 创建Cube
    • 查看cube信息
      • SQL
      • Planner
    • 构建Cube
    • 查询Cube
    • 了解Kyliin构建Cube的过程
  • Kylin使用beeline连接hive
  • kylin查询api
    • 查询SQL
    • Put提交cube
    • JAVA API

安装

参考案例:https://my.oschina.net/u/4350719/blog/4686802

Hadoop 环境

Kylin 依赖于 Hadoop 集群处理大量的数据集。您需要准备一个配置好 HDFS,YARN,MapReduce,Hive, HBase,Zookeeper 和其他服务的 Hadoop 集群供 Kylin 运行。

Kylin 可以在 Hadoop 集群的任意节点上启动。方便起见,您可以在 master 节点上运行 Kylin。但为了更好的稳定性,我们建议您将 Kylin 部署在一个干净的 Hadoop client 节点上,该节点上 Hive,HBase,HDFS 等命令行已安装好。

运行 Kylin 的 Linux 账户要有访问 Hadoop 集群的权限,包括创建/写入 HDFS 文件夹,Hive 表, HBase 表和提交 MapReduce 任务的权限。

Kylin下载

从 Apache Kylin下载网站 下载一个适用于您 Hadoop 版本的二进制文件。例如,适用于 HBase 1.x 的 Kylin 2.5.0 可通过如下命令行下载得到:

cd /usr/local/
wget http://mirror.bit.edu.cn/apache/kylin/apache-kylin-2.5.0/apache-kylin-2.5.0-bin-hbase1x.tar.gz

解压 tar 包,配置环境变量 $KYLIN_HOME 指向 Kylin 文件夹。

tar -zxvf apache-kylin-2.5.0-bin-hbase1x.tar.gz
cd apache-kylin-2.5.0-bin-hbase1x
# Kylin_HOME
export KYLIN_HOME=/usr/local/kylin-3.1.1
export PATH=$KYLIN_HOME/bin:$PATH

我下载安装的是这个:

从 v2.6.1 开始, Kylin 不再包含 Spark 二进制包; 如果需要,您需要另外下载 Spark,然后设置 SPARK_HOME 系统变量到 Spark 安装目录:

export SPARK_HOME=/usr/local/spark
export PATH=$SPARK_HOME/bin:$PATH

或者使用脚本下载:

$KYLIN_HOME/bin/download-spark.sh

由于上面在/etc/profile文件中新增了内容,键入source /etc/profile让刚刚做的修改立即生效

Kylin目录结构

  • bin: shell 脚本,用于启动/停止 Kylin,备份/恢复 Kylin 元数据,以及一些检查端口、获取 Hive/HBase 依赖的方法等;
  • conf: Hadoop 任务的 XML 配置文件,这些文件的作用可参考配置页面
  • lib: 供外面应用使用的 jar 文件,例如 Hadoop 任务 jar, JDBC 驱动, HBase coprocessor 等.
  • meta_backups: 执行 bin/metastore.sh backup 后的默认的备份目录;
  • sample_cube 用于创建样例 Cube 和表的文件。
  • spark: 自带的 spark。
  • tomcat: 自带的 tomcat,用于启动 Kylin 服务。
  • tool: 用于执行一些命令行的jar文件。

配置kylin.properties

  • 进入conf目录,将 kylin.properties.template改成kylin.properties,命令:mv kylin.properties.template kylin.properties

  • 编辑kylin.properties文件,添加以下内容

     # kylin集群节点配置:node1是我的主机名,因为kylin部署为一个节点kylin.server.cluster-servers=node1:7070#配置节点类型(kylin节点模式分为all、query(查询模式)、job(任务构建模式))#因为我们只部署一个节点kylin,所以配置为allkylin.server.mode=all
    


验证检查环境

键入以下命令以分别检查环境

 # 检查环境bin/check-env.sh# 检查hive依赖bin/find-hive-dependency.sh# 检查hbase依赖bin/find-hbase-dependency.sh
  1. # 检查环境 进入Kylin - bin目录下执行 check-env.sh

  2. # 检查hive依赖 进入Kylin - bin目录下执行 find-hive-dependency.sh下面遇到的问题是在购买的阿里EMR服务器上遇到的找不到hive-site.xml的错误;
    该问题是因为Kylin 会自动从环境中读取 Hadoop 配置(core-site.xml),Hive 配置(hive-site.xml)和 HBase 配置(hbase-site.xml)。而此时找不到并且它提示需要配置 $HIVE_CONF指向hive-site.xml。
    解决方法:在 /etc/profile配置环境变量。可是我发现该文件中是空白的???(没有 export 字样)但是可以执行cd $HIVE_HOMEcd $HIVE_CONF_HOMEcd $HIVE_CONF_DIR命令。最终通过grep -r "$KYLIN_HOME" / grep -r "关键字" "查找路径" 找到HIVE HOME的环境变量配置在哪里。

    阿里云EMR服务器将 各个插件的环境变量配置在了profile.d 目录下(方便维护权限)。然后进入HIVE.sh 添加下面的配置。

  3. # 检查hbase依赖 进入Kylin - bin目录下执行find-hbase-dependency.sh,检查hbase 依赖项的时候报错 找不到 common 包
    解决:http://92072234.wiz03.com/share/s/2i1O8Q1L1k042IDoOy3h7BgH2K4G6J2SoQv42Xc4b01xpCrj找到 并且编辑 vim $HBASE_HOME/bin/hbase。发现没有将自己的jar包添加class path 中

    那我需要做的事情就是将自己的jar包添加class path 中,将CLASSPATH修改为:

    # CLASSPATH initially contains $HBASE_CONF_DIR
    CLASSPATH="${HBASE_CONF_DIR}"
    CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:$HBASE_HOME/lib/*
    
  4. 最终/etc/profile

    #JAVA_HOME
    JAVA_HOME=/usr/local/jdk1.8
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar#ZK_HOME
    export ZK_HOME=/usr/local/zookeeper-3.4.11
    export PATH=$ZK_HOME/bin:$PATH#HADOOP_HOME
    export HADOOP_HOME=/usr/local/hadoop-3.2.1
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin#HBASE_HOME
    export HBASE_HOME=/usr/local/hbase-2.2.4
    export PATH=$HBASE_HOME/bin:$PATH# HIVE_HOME
    export HIVE_HOME=/usr/local/hive-3.1.2
    export PATH=$HIVE_HOME/bin:$PATH
    export HIVE_CONF_HOME=$HIVE_HOME/conf
    export HCAT_HOME=$HIVE_HOME/hcatalog
    export PATH=$HCAT_HOME/bin:$PATH# Kylin_HOME
    export KYLIN_HOME=/usr/local/kylin-3.1.1
    export PATH=$KYLIN_HOME/bin:$PATH
    

启动/停止Kylin

 # 启动Kylinbin/kylin.sh start# 停止Kylinbin/kylin.sh stop

guava.jar版本问题

进入Kylin - bin目录下执行 kylin.sh start

该问题在该环境信息下:Hadoop3.2.1 HBase2.2.4 Hive3.1.2。安装Hive3.1.2的时候也出现过

安装Hive的解决办法:

  1. com.google.common.base.Preconditions.checkArgument这个类所在的jar包为:guava.jar

  2. hadoop-3.2.1(路径:hadoop\share\hadoop\common\lib)中该jar包为 guava-27.0-jre.jar;而hive-3.1.2(路径:hive/lib)中该jar包为guava-19.0.1.jar

  3. 将jar包变成一致的版本:删除hive中低版本jar包,将hadoop中高版本的复制到hive的lib中。

此时又出现了该问题。可是我们的guava已经修改为27 版本了。为什么还有该问题?

原因:Kylin 的源数据服务是 Hive,依赖与 Hive 中 一个guava包。可是Hive 框架中 源码中pom.xml 该guava包的版本并没有统一,有的地方还是19版本。

官网提供了解决方案:

启动 Kylin

运行 $KYLIN_HOME/bin/kylin.sh start 脚本来启动 Kylin,界面输出如下:

Retrieving hadoop conf dir...
KYLIN_HOME is set to /usr/local/apache-kylin-2.5.0-bin-hbase1x
......
A new Kylin instance is started by root. To stop it, run 'kylin.sh stop'
Check the log at /usr/local/apache-kylin-2.5.0-bin-hbase1x/logs/kylin.log
Web UI is at http://<hostname>:7070/kylin

:如果在启动 kylin 时遇到如下报错(Hadoop3 环境下可能出现):

Caused by: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)Vat org.apache.hadoop.conf.Configuration.set(Configuration.java:1358)at org.apache.hadoop.conf.Configuration.set(Configuration.java:1339)at org.apache.kylin.common.util.HadoopUtil.healSickConfig(HadoopUtil.java:77)at org.apache.kylin.common.util.HadoopUtil.getCurrentConfiguration(HadoopUtil.java:63)at org.apache.kylin.storage.hbase.HBaseConnection.newHBaseConfiguration(HBaseConnection.java:170)at org.apache.kylin.storage.hbase.HBaseConnection.get(HBaseConnection.java:259)at org.apache.kylin.storage.hbase.HBaseResourceStore.getConnection(HBaseResourceStore.java:96)at org.apache.kylin.storage.hbase.HBaseResourceStore.createHTableIfNeeded(HBaseResourceStore.java:119)at org.apache.kylin.storage.hbase.HBaseResourceStore.<init>(HBaseResourceStore.java:89)... 8 more

可以尝试如下方法解决:

下载guava-28.0-jre.jar, 将其放到$KYLIN_HOME/tool/$KYLIN_HOME/tomcat/lib/目录下,然后重启kylin bin/kylin.sh restart

CuratorConnectionLossException

org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss

2021-02-01 19:21:46,453 ERROR [main] curator.ConnectionState:228 : Connection timed out for connection string (node1:2181:2181,node2:2181:2181,node3:2181:2181/kylin/kylin_metadata) and timeout (15000) / elapsed (24928)
org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss

日志信息提示:node1:2181:2181,node2:2181:2181,node3:2181:2181。说明多了一次2181。这是由于:读取的是配置文件hbase-site.xml的hbase.zookeeper.quorum,该项只需配置Host不需要配置端口号Port,改回来之后重启hbase就好了。

错误

ERROR: Check hive's usability failed, please check the status of your cluster

解决 在kylin的安装目录下进入bin目录然后找到check-hive-usability.sh,之后键入命令vim check-hive-usability.sh编辑该文件,修改timeLeft的值为100(默认值为60),见下图

熟悉使用 Kylin

不会涉及到 衍生维度,分区cube之类的。

进入web界面

如果成功启动,在terminal中键入jps命令会出现RunJar的进程,terminal末尾的显示的信息如下图

Kylin 启动后您可以通过浏览器 http://:7070/kylin 进行访问。
其中 `` 为具体的机器名、IP 地址或域名,默认端口为 7070。
初始用户名和密码是 ADMIN/KYLIN
服务器启动后,您可以通过查看 $KYLIN_HOME/logs/kylin.log 获得运行时日志。

创建项目

登陆kylin后,点击左上角的+号来创建Project:

同步hive表

点击Model->Data Source->Load Table From Tree,
Kylin会读取到Hive数据源中的表并以树状方式显示出来,你可以选择自己要使用的表,然后点击sync进行将其加载到kylin。

Failed to load Hive Table

选择hive表,报错?

2021-02-02 17:30:14,875 ERROR [http-nio-7070-exec-5] controller.TableController:132 : Failed to load Hive Table
java.lang.RuntimeException: cannot get HiveTableMetaat org.apache.kylin.source.hive.HiveMetadataExplorer.loadTableMetadata(HiveMetadataExplorer.java:68)

报错原因是kylin在load表的时候,需要调用StorageSchemaReader接口的readSchema方法,默认的default是没有这个实现方法的就会报错。

解决方法是在 hive-site.xml中 添加以下属性

<property>
<name>metastore.storage.schema.reader.impl</name>
<value>org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader</value>
</property>

关联成功

创建Model

  1. new Model

  2. model信息

  3. 选择事实表,以及维度表

  4. 添加Lookup Table时需要设置与事实表的JOIN条件。

  5. 然后点击Next到下一步添加Dimension(维度)

  6. 点击Next下一步添加Measure(度量)

  7. 点击Next下一步跳转到设置时间分区列和过滤条件页面,时间分区列用于增量构建时选择时间范围,如果不设置时间分区列则代表该model下的cube都是全量构建。过滤条件会在打 平表 时用于where条件。
    平表意思是(维度和度量组成的中间表)会在生成cube的时候有截图

创建Cube

1.先要选择该Cube是 属于哪个 Model的。定义cube信息
2. 点击Next到下一步添加Dimension,Lookup Table的维度可以设置为Normal(普通维度)或者Derived(衍生维度)两种类型,默认设置为衍生维度,衍生维度代表该列可以从所属维度表的主键中衍生出来,所以实际上只有主键列会被Cube加入计算。

我这里选择的都是事实表的维度
3. 选择度量

点击Next到下一步,点击+Measure来添加需要预计算的度量。Kylin会默认创建一个Count(1)的度量。Kylin支持SUM、MIN、MAX、COUNT、COUNT_DISTINCT、TOP_N、EXTENDED_COLUMN、PERCENTILE八种度量。请为COUNT_DISTINCT和TOP_N选择合适的返回类型,这关系到Cube的大小。添加完成之后点击ok,该Measure将会显示在Measures列表中。

 **函数SUM的返回类型必须是 [ smallint,int4,double,tinyint,numeric,long8,integer,real,float,decimal,bigint ] 之一。**



4.其他

6. 创建完成

查看cube信息

SQL

查看到创建完成cube的sql。该sql体现了 平表的逻辑。

Planner

注意在Kylin中每一种维度的组合 都管它叫做 Cuboid 。下图一共有 4095 个 ,图表展示。最下面是各个维度

4095 = 2的12次方-1 (2^12)-1

构建Cube

  1. 上一个步骤创建好的Cube只有定义,而没有计算好的数据,它的状态是‘DISABLED’,是不可以查询的。要想让Cube有数据,还需要对它进行构建。

  2. Cube的构建方式通常有两种:全量构建和增量构建。

  3. 点击要构建的Cube的Actions列下的Action展开,选择Build,如果Cube所属Model中没有设置时间分区列,则默认全量构建,直接提交构建任务。

  4. 如果设置了时间分区列,则会出现如下页面,在这里你要选择构建数据的起止时间,然后点击Submit

  5. 然后你可以在Monitor页面观察构建任务的状态。Kylin会在页面上显示每一个步骤的运行状态、输出日志以及MapReduce任务。可以在${KYLIN_HOME}/logs/kylin.log中查看更详细的日志信息。

  6. 任务构建完成后,Cube状态会变成READY,并且可以看到Segment的信息。

  7. 构建过程中发生的错误信息:

    check status java.io.IOException: java.net.ConnectException: Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort

查询Cube

Cube构建完成后,在Insight页面的Tables列表下面可以看到构建完成的Cube的table,并可以对其进行查询.查询语句击中Cube后会返回存储在Hbase中的预计算结果。

  1. 查询的时候报错:java.lang.NoClassDefFoundError : org.apache.commons.lang.text.StrSubstitutor;

  2. 查看kylin的源码发现在 KylinConfigBase 类中 使用了 StrSubstitutor 类。并且pom.xml中也没有依赖

  3. 那也就说明了需要依赖hive以及hbase的该jar包。后来查看hive下是有这个jar包的。而hbase没有。

    将hive的那个jar包复制到hbase的目录下了。又添加了/etc/profile文件的配置。修改了很多地方记不清楚了。贴一个最新的配置信息吧

    vim /etc/profile

    #JAVA_HOME
    JAVA_HOME=/usr/local/jdk1.8
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar#ZK_HOME
    export ZK_HOME=/usr/local/zookeeper-3.4.11
    export PATH=$ZK_HOME/bin:$PATH#HADOOP_HOME
    export HADOOP_HOME=/usr/local/hadoop-3.2.1
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin#HBASE_HOME
    export HBASE_HOME=/usr/local/hbase-2.2.4
    export PATH=$HBASE_HOME/bin:$PATH# HIVE_HOME
    export HIVE_HOME=/usr/local/hive-3.1.2
    export PATH=$HIVE_HOME/bin:$PATH
    export HIVE_CONF_HOME=$HIVE_HOME/conf
    export HCAT_HOME=$HIVE_HOME/hcatalog
    export PATH=$HCAT_HOME/bin:$PATH
    # Kylin_HOME
    export KYLIN_HOME=/usr/local/kylin-3.1.1
    export PATH=$KYLIN_HOME/bin:$PATH
    

    vim/usr/local/hbase/bin/hbase

    # CLASSPATH initially contains $HBASE_CONF_DIR
    CLASSPATH="${HBASE_CONF_DIR}"
    CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:$HBASE_HOME/lib/*
    

了解Kyliin构建Cube的过程

  1. 创建临时的Hive平表(从Hive读取数据)。说白了就是将 事实表,维度表的 维度和度量全部查询出来的结果作为一张平表。(也就是我们此次构建用到的所有数据结合起来)

  2. 计算各维度的不同值,并收集各Cuboid的统计数据。

  3. 创建并保存字典。

  4. 保存Cuboid统计信息。

  5. 创建HTable。

  6. 计算Cube(一轮或若干轮MapReduce)。

  7. 将Cube的计算结果转成HFile。

  8. 加载HFile到HBase。

  9. 更新Cube元数据。

  10. 垃圾回收

Kylin使用beeline连接hive

之前一直是通过cli连接hive,由于系统升级需要通过beeline连接。此处的hive已经配置了自定义安全认证

官网教程:http://kylin.apache.org/docs/howto/howto_use_beeline.html

我的配置文件:-n 指定用户名,-p指定密码,-u指定和hiveServer2 连接地址 问号后面内容为了支持操作hive的事务表。

-u 'jdbc:hive2://localhost:10000?hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;hive.support.concurrency=true;'

kylin查询api

之前已经成功创建了kylin的cube,并且可以使用 web ui查询。但除了通过web ui进行操作,我们还可以使用api调用。

RestFul API
在使用之前,我们要先进行认证,目前Kylin使用 basic Authentication。Basic Authentication是一种非常简单的访问控制机制,它先对账号密码基于Base64编码,然后将其作为请求头添加到HTTP请求头中,后端会读取请求头中的账号密码信息以进行认证。

以Kylin默认的账号密码 ADMIN/KYLIN 为例,对相应的账号密码进行编码后,结果为Basic QURNSU46S1lMSU4=,那么HTTP对应的头信息 则为Authorization:Basic QURNSU46S1lMSU4=。

查询SQL

curl -X POST -H "Authorization: Basic QURNSU46S1lMSU4=" -H 'Content-Type: application/json'
http://localhost:7070/kylin/api/query -d '{
"sql":"select market,sum(sales) from kylin_sale group by market",
"offset":0,
"limit":10,
"acceptPartial":false,
"project":"my_kylin"
}'

参数解释:

  • sql:必填,字符串类型,请求的SQL。
  • offset:可选,整型,查询默认从第一行返回结果,可以设置该参数以决定返回数据从哪一行开始往后返回。
  • limit:可选,整型,加上limit参数后会从offset开始返回对应的行数, 返回数据行数小于limit的将以实际行数为准。
  • acceptPartial:可选,布尔类型,默认是true,如果为true,那么实际上最多会返回一百万行数据;如果要返回的结果集超过了一百万行,那么 该参数需要设置为false。
  • project:可选,字符串类型,默认为DEFAULT,在实际使用时,如 果对应查询的项目不是DEFAULT,那就需要设置为自己的项目。

Put提交cube

curl -X PUT -H "Authorization: Basic QURNSU46S1lMSU4=" -H 'Content-Type: application/json'
http://localhost:7070/kylin/api/cubes/my_cube/build -d '{
"startTime":0,
"endTime":"$endTime",
"buildType":"BUILD"
}'

上面的内容里面,url里面的my_cube是你自己的cube名,endTime是你需要去指定的,startTime : 当cube中不存在segment时,可以将其设置为0,那么就会从头开始算。做增量时,startTime 要设置为上一次build的
endTime。endTime:时间精确到毫秒(例1388563200000)。

注意点
我们在通过RESTful API向kylin进行build和rebuild的时候一定要观察kylin的web界面下面的Montior进程,否则不小心运行太多进程导致服务器崩掉

JAVA API

JDBC连接方式
和hive、mysql很相似。

package com.shsxt.kylinTest;
import org.apache.kylin.jdbc.Driver;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;public class KylinJdbc {public static void main(String[] args) throws IllegalAccessException,InstantiationException, ClassNotFoundException, SQLException {KylinJdbc kylinJdbc = new KylinJdbc();kylinJdbc.connectJdbc();}public void connectJdbc() throws ClassNotFoundException, IllegalAccessException,InstantiationException, SQLException {Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();Properties properties = new Properties();properties.put("user","ADMIN");properties.put("password","KYLIN");//url后面跟上你的project的名称Connection connect = driver.connect("jdbc:kylin://192.168.4.10:7070/my_kylin",properties);//sql语句和kylin库所含数据一一对应。Statement statement = connect.createStatement();ResultSet resultSet = statement.executeQuery("select market,sum(sales) from kylin_sale    group by market");while(resultSet.next()){String market = resultSet.getString(1);long sales = resultSet.getLong(2);System.out.println(market+" : "+ sales);}}
}

Kylin(二)安装使用相关推荐

  1. Kylin(二) 安装与搭建

    文章目录 地址 安装部署 地址 1)官网地址 http://kylin.apache.org/cn/ 2)官方文档 http://kylin.apache.org/cn/docs/ 3)下载地址 ht ...

  2. ubuntu kylin mysql_Ubuntu16.04下Kylin的安装与配置

    一.系统环境 kylin的安装配置并不像官方文档中描述的那样简单,复杂的原因在于hadoop,hive,hbase,kylin的版本一定要兼容,不然就会出现各种奇怪的错误.以下各软件版本可以成功运行k ...

  3. 优麒麟mysql_如何在优麒麟Ubuntu Kylin下安装Numix主题和图标

    Numix主题和图标受到了很多Linux用户的好评,我们前面介绍了 如何在Ubuntu中安装Numix主题和图标,本文要介绍的是如何在优麒麟Ubuntu Kylin下安装Numix主题和图标,其实方法 ...

  4. Kylin 10 安装达梦数据库 图形界面乱码 最小修正解决(一个字体文件)

    Kylin 10 安装达梦数据库 图形中文界面乱码 最小修正解决(一个字体文件) 一. Kylin 10 测试图形界面(无xclock,xmanager passive模式) 二. Kylin 10 ...

  5. Xen Server二安装xc及管理xen主机

    Xen Server二安装xc及管理xen主机 上篇我们已经安装好xen主机,这篇我们将在win机器上安装xen center也就是xen的管理工具,用来管理xen主机,相当于微软的scvmm或者vm ...

  6. 如何安装Windows操作系统?(二)安装启动项杂谈

    (二)安装启动项杂谈 上面说到过,如何去选择启动项和硬件的选择. 其实在硬件没有问题的情况下,只要有一个能启动的项目就可以安装系统了. 从BIOS给出的启动项,我们可以看到以下几个启动项 1.光盘/软 ...

  7. Kali Linux 从入门到精通(二)-安装

    Kali Linux 从入门到精通(二)-安装 Kail Linux 安装 持久加密USB安装-1 LUSK:Linux Unified Key Setup 磁盘分区加密规范 不依赖与操作系统的磁盘级 ...

  8. Apache Kylin的安装和使用

    官网    |     GitHub    |     文档    |     下载 目录 1 概览 1.1 Kylin是什么 1.2 Kylin的特性 1.3 使用 Apache Kylin 的典型 ...

  9. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明)

    系列文章 1. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一) 2. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明) 3. 开源一款强大的文件服务组件 ...

  10. kylin linux 安装教程,新手入门必备:kylin安装教程介绍!

    1. 背景 最近在学习kylin,在安装的时候遇到一些坑,特意记录起来,也希望同样在学习kylin的人,少踩一些坑(要是连安装都过不去,还怎么学!!!). 2. 环境 我选的kylin版本是1.5.4 ...

最新文章

  1. linux 打开关闭文件,Linux系统编程-文件打开关闭
  2. 利用七牛云实现简单的图床
  3. 如何把安全证书导入到java中的cacerts证书库(转)
  4. MapReduce程序之序列化原理与Writable案例
  5. linux英文系统+搜狗输入法
  6. iOS逆向工程——非越狱调试
  7. python socket能做什么_[python]初探socket
  8. 小程序 | 微信小程序实现图片是上传、预览功能
  9. 进入hadoop_hadoop:伪分布模式参数配置指南
  10. Vue中ESlint配置文件eslintrc.js文件详解
  11. 360集团或将推出数字安全免费新品
  12. Labview之RS485通信
  13. 单片机---HLK-W801图形框架LVGL下开发(四)
  14. KDE桌面下konsole打开terminal/tab 并执行命令或脚本
  15. PipeCAD 简介
  16. 各移动云测试平台对比
  17. 论文笔记之:Co-saliency Detection via A Self-paced Multiple-instance Learning Framework
  18. android七牛短视频sdk源码,七牛短视频sdk,七牛android直播端必须用七牛提供的sdk吗...
  19. pyton random
  20. 史上最全面试题汇总,没有之一,不接受反驳

热门文章

  1. 京东金融java面试题_互联网金融西部联盟
  2. 武汉某GIS企业机试题
  3. 【Pytorch】基于CNN手写汉字的识别
  4. Unity Live2D的接入和使用
  5. C#.NET 国密SM4加密解密 CBC ECB 2种模式
  6. linux下搜狗安装目录,搜狗输入法Linux版配置文件详解
  7. 近级压降和电弧产生原因
  8. 计算型存储: 异构计算的下一个关键应用
  9. excel的vlookup只匹配出来一部分
  10. wince5+2440的睡眠和唤醒