目录

一、安装前需知

二、安装前准备

三、安装步骤

1.NTP时钟同步

2.目录设置

3.配置hosts

4.安装软件

5.主kdc节点创建realm

6.启动服务

7.从KDC节点配置(同步配置文件)

8.主从同步

9.hadoop客户端节点配置

10.快速测试

四、添加用户和生成认证文件

五、问题处理


一、安装前需知

1、我们安装的方案为kerberos5解决方案,所以我们所有的KDC 都能够处理 Kerberos 5 客户端,不考虑kerberos4兼容性。

2、在选择运行 Kerberos KDC 的部署平台时,真正需要考虑的是可靠性。安装KDC的操作系统需要考虑磁盘布局问题。我们强烈建议使用一个单独的磁盘(或者更好的选择,使用一组 RAID 磁盘)来存放 Kerberos数据库,以及使用一个单独的分区来存放所有日志文件。将日志文件保存在单独的分区中,可以防止有意或无意的日志文件溢出影响到系统或 Kerberos 数据库分区。

3、如果你正在建立一个新的 Kerberos realm,那么首先需要为你的 KDC 选择一个 Kerberos 实现。Kerberos KDC 实现不能混合,例如,MIT Kerberos KDC 不能对 Windows 域控制器进行复制。另外,各类 Kerberos 实现使用了不同管理协议。也就是说,MIT KDC 中包含的管理接口不能用于向 Heimdal KDC 添加用户,反之亦然。

4、MIT KDC、Heimdal KDC:MIT Kerberos 包含对标准 Kerberos 加密类型的支持,特别是单DES和三重DES的支持。MIT 是一个很好的选择,因为它具有广泛的支持和应用程序兼容性。Heimdal不受出口法规的约束所以如果你打算为你的 KDC 使用 Unix 类型的主机,Heimdal 是一个不错的选择。

5、构建MIT KDC安装包:有两种方法可以安装它:从源代码构建或者从 Unix 供应商那里获得二进制发行版。至于 Linux 的话,许多流行的 Linux 发行版都有预构建 MIT Kerberos 5 的二进制包。

二、安装前准备

操作系统:CentOS Linux release 7.4.1708 (Core)

机器分配:(以下两台主从都不在hadoop上,也可以放在hadoop节点上;客户端装在hadoop机器上)

192.168.0.49 主KDC kdc kadmin,服务端

192.168.0.114 从KDC

需要kerberos认证的hadoop机器需安装kdc客户端

安装kerberos版本:Linux 预构建 MIT Kerberos 5 的二进制包 rpm

三、安装步骤

1.NTP时钟同步

请参考我另一篇笔记linux时间同步配置

2.目录设置

kerberos 配置文件目录:/export/common/kerberos5/

kerberos 日志目录:/export/logs/kerberos5/

3.配置hosts

所有kdc主从或应用相关机器hosts加入以下两列,具体IP和hostname根据现场情况确定:

$ sudo vi /etc/hosts

192.168.0.49 v0106-c0a80073.4eb06.c.local

192.168.0.114 v0106-c0a80072.4eb06.c.local

192.168.0.25  v0106-c0a80049.4eb06.c.local

... ...

4.安装软件

所有主从kdc节点都执行以下操作:

yum -y install krb5-server krb5-libs krb5-workstation

或者:

rpm -ivh krb5-libs-1.15.1-37.el7_6.x86_64.rpm

rpm -ivh   libkadm5-1.15.1-37.el7_6.x86_64.rpm

rpm -ivh krb5-server-1.15.1-37.el7_6.x86_64.rpm

rpm -ivh krb5-workstation-1.15.1-37.el7_6.x86_64.rpm

所有kdc客户端都执行以下操作:

yum -y install krb5-libs krb5-workstation

或者:

rpm -ivh krb5-libs-1.15.1-37.el7_6.x86_64.rpm

rpm -ivh   libkadm5-1.15.1-37.el7_6.x86_64.rpm

rpm -ivh krb5-workstation-1.15.1-37.el7_6.x86_64.rpm

注意:yum时kerberos版本问题,实验中用yum安装的krb5版本为1.15.1-18.el7_6时,有bug,后换成1.15.1-37.el7_6,下载rpm包后可以了。

5.主kdc节点创建realm

1) 配置 kerberos 配置文件 :krb5.conf

$ vi /etc/krb5.conf

# Configuration snippets may be placed in this directory as well

includedir /etc/krb5.conf.d/

[logging]

default = FILE:/export/logs/kerberos5/krb5libs.log

kdc = FILE:/export/logs/kerberos5/krb5kdc.log

admin_server = FILE:/export/logs/kerberos5/kadmind.log

[libdefaults]

dns_lookup_realm = false

dns_lookup_kdc = false

ticket_lifetime = 7d

renew_lifetime = 7d

forwardable = true

udp_preference_limit = 1

# rdns = false

default_realm = HADOOP.COM

# default_ccache_name = KEYRING:persistent:%{uid}

default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1

default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1

permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1

[realms]

HADOOP.COM = {

kdc = 192.168.0.49:88

admin_server = 192.168.0.49

kdc = 192.168.0.114:88

admin_server = 192.168.0.114

default_domain = HADOOP.COM

}

[domain_realm]

.hadoop.com = HADOOP.COM

hadoop.com = HADOOP.COM

说明:

[logging]:表示 server 端的日志的打印位置

[libdefaults]:每种连接的默认配置

default_realm = HADOOP.ROCK:设置 Kerberos 应用程序的realm。

ticket_lifetime: 凭证生效的时限,设置为7天。

renew_lifetime: 凭证最长可以被延期的时限,一般为7天。当凭证过期之后,对安全认证的服务的后续访问则会失败。

forwardable:是否允许转发

renewable:是否允许票据延迟

udp_preference_limit = 1 禁止使用udp可以防止一个Hadoop中的错误

[realms]:列举使用的 realm域。

kdc:代表要 kdc 的位置。格式是 机器:端口

admin_server:代表 admin 的位置。格式是 机器:端口

[domain_realm]:realm域和域名的映射。

2) 配置KDC 配置文件,kdc.conf

$ vi /var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]

kdc_ports = 88

kdc_tcp_ports = 88

[realms]

HADOOP.COM = {

#master_key_type = aes256-cts

master_key_type = des3-hmac-sha1

acl_file = /export/common/kerberos5/kadm5.acl

dict_file = /export/common/kerberos5/words

admin_keytab = /export/common/kerberos5/kadm5.keytab

database_name = /export/common/kerberos5/principal

key_stash_file = /export/common/kerberos5/stash

# supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

supported_enctypes = des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

default_principal_flags = +preauth

说明

HADOOP. COM:是设定的realms

max_renewable_life = 7d 涉及到是否能进行ticket的renew必须配置。#master_key_type:和supported_enctypes默认使用aes256-cts。

master_key_type:和supported_enctypes默认使用aes256-cts。此处不建议使用,因为JAVA8使用aes256-cts验证方式需要安装额外的jar包。

acl_file:标注了admin的用户权限。文件格式是 :Kerberos_principal permissions [target_principal] [restrictions]支持通配符等。admin_keytab:KDC进行校验的keytab。

admin_keytab:KDC进行校验的keytab。

supported_enctypes:支持的校验方式。

default_principal_flags:指定在此realm中创建principal时的默认属性。可指定多个默认属性字段,每个字段用逗号隔开; +: 表示启用, -:禁用。默认启用的属性: postdateable, forwardable, tgt-based, renewable,proxiable, dup-skey,allow-tickets, 和service

preauth:如果在客户端主体上启用了此标志,则需要该主体在接收任何票据之前对KDC进行预认证。在服务主体上,启用此标志意味着该主体的服务票证将只颁发给具有已设置预验证位的TGT的客户端。

3) 配置acl 文件

$ cp /var/kerberos/krb5kdc/kadm5.acl /export/common/kerberos5/

$ vim /export/common/kerberos5/kadm5.acl

*/admin@HADOOP.COM *

4) 初始化realm

用户Key等重要信息都存储在KDC数据库中。配置一个全新的KDC需要初始化KDC数据库,并设置KDC数据库的master密码。密码设置为:datalink_test

$ kdb5_util create -r HADOOP.COM -s

现在已经初始化realm,并且已经创建了一些基本的主体。看看kdb5_util为我们创建了什么: $ ls -a /var/kerberos/krb5kdc/

principal 和 principal.ok 文件是我们的 Kerberos 数据库文件。principal.kadm5 和 principal.kadm5.lock 文件分别是 Kerberos 管理数据库和管理数据库锁文件。最后的 .k5.HADOOP.COM 文件是我们的通过在 kdb5_util 中添加 -s 选项创建的贮藏文件。

来看看 kdb5_util 为我们创建了什么主体。我们将使用的程序是kadmin.local。kadmin 是 Kerberos 数据库的管理接口;在kadmin中,Kerberos管理员可以添加主体、修改主体、删除主体、更改密码和进行其他管理任务。因为现在我们还没有添加任何主体,更不用说管理主体了,所以我们必须使用 kadmin.local 访问我们新创建的数据库。执行命令:$ kadmin.local。一旦进入 kadmin.local,我们就可以列出目前我们的 KDC 存在中的主体。

5) 向KDC添加一个管理主体用户admin

现在我们将创建一个管理主体。具有管理特权的主体的传统命名方案,是管理员的用户名加上 admin 实例部分。因此,如果你的普通用户名是 admin,那么你的管理主体就是 admin/admin。下面的 kadmin 命令将向你的 KDC 添加一个名为 admin/admin 的主体,此处密码设置为了‘admin’。

$ kadmin.local

$ kadmin.local: addprinc admin/admin@HADOOP.COM

附加命令:

1)查看用户

listprincs

2)添加用户

addprinc

-randkey 随机设置密码

3)删除用户

delprinc admin/admin@HADOOP.COM

4)远程连接 kadmin

$ sudo kadmin -p admin/admin

addprinc -randkey hdfs/spark-jrdata-05.pekdc1.jdfin.local@hadoop.com

6.启动服务

在主 KDC 上运行 krb5kdc 和 kadmind 进程,命令如下:

$ systemctl start/restart/status krb5kdc (第一次启动用start)

$ systemctl start/restart/status kadmin (第一次启动用start)

或者:

$ cd /usr/sbin & krb5kdc

$ cd /usr/sbin & kadmind

7.从KDC节点配置(同步配置文件)

把kdc master节点配置拷贝到slave节点(从192.168.0.49复制到192.168.0.114),在主节点192.168.0.49上执行以下命令:

$ scp -P 51888 /etc/krb5.conf root@192.168.0.114:/etc/krb5.conf

$ scp -r -P 51888 /var/kerberos/krb5kdc root@192.168.0.114:/var/kerberos/

$ scp -P 51888 /export/common/kerberos5/kadm5.acl root@192.168.0.114:/export/common/kerberos5/

$ scp -P 51888 /export/common/kerberos5/kadm5.keytab root@192.168.0.114:/export/common/kerberos5/

8.主从同步

从KDC节点用来同步主KDC的数据库并响应客户端请求。原理是:从 KDC 具有 Kerberos 数据库的只读副本。所有更新都必须通过主 KDC 。在推送(push)模型中,更新被定期分发到从 KDC。在主 KDC 上运行的 cron 作业,定期通过加密的、经过身份验证的连接,将 Kerberos 数据库的完整副本发送到从 KDC。

1)创建kpropd.acl

只需要在每个从 KDC 的 kpropd.acl 文件中列出主 KDC 的主机主体。但是,将所有的 KDC 都列在这个文件中,是一个很好的策略,这样在主 KDC 发生故障、长时间不可用的情况下,让另一个 KDC 临时成为主 KDC,会比较容易。

vim /var/kerberos/krb5kdc/kpropd.acl

host/v0106-c0a80073.4eb06.c.local@HADOOP.COM
host/v0106-c0a80072.4eb06.c.local@HADOOP.COM

接下来,在每个 KDC 的 /etc/inetd.conf 文件中创建一个条目,以便监听到 Kerberos 数据库传播服务的连接。在每个 KDC 中插入如下的条目,并根据需要更改程序路径:

krb5_prop  stream   tcp  nowait  root  /usr/local/sbin/kpropd  kpropd

确保在 /etc/services 文件中有 krb5_prop 条目。如果条目不存在,请在 /etc/services 文件中添加以下行:

krb5_prop  754/tcp

在修改 inetd.conf 文件之后,重新启动 inetd,使得更改生效。

2)启动kpopd服务,并加入系统自启动

systemctl enable kprop
systemctl start kprop
systemctl status kprop

3)同步数据

现在我们有 ACL 文件了,可以继续转储数据库,并将副本发送到从 KDC。在主 KDC 上执行的以下命令,这将创建 Kerberos 数据库的副本,然后将该副本发送到从 KDC:

master# kdb5_util dump /var/kerberos/krb5kdc/master.dump
master# kprop -f /var/kerberos/krb5kdc/master.dump v0106-c0a80072.4eb06.c.local
Database propagation to slave.wedgie.org: SUCCEEDED

如果您收到的不是上述的成功信息,而是错误信息,请检查机器的主机名和DNS名称是否匹配,每个KDC上是否已经创建了具有相应的主机主体的 keytab,并且从 KDC 上的 ACL 文件是否列出了其他 KDC 的主机主体。

4)定期同步配置

现在是最后一步。虽然我们已经成功地通过网络将主 KDC 的数据库传输到一个从 KDC 上,但是如果我们希望这个过程定期发生,就需要将其自动化。为此,我们需要创建一个 cron 作业,它将转储 Kerberos 数据库并将其分发给从 KDC。下面是执行此任务的示例 shell 脚本:

#!/bin/sh# Distribute KDC database to slave servers
# Created by Jason Garman for use with MIT Kerberos 5# Configurables
slavekdcs="v0106-c0a80072.4eb06.c.local 其他slave hosts"
krb5prefix="/usr/local"
slavedata=/var/krb5kdc/slavedata"success=1${krb5prefix}/sbin/kdb5_util dump ${slavedata}
error=$?
if [ $error -ne 0 ]
thenecho "Kerberos database dump failed with exit code $error.  Exiting."exit 1
fifor kdc in $slavekdcs
do${krb5prefix}/sbin/kprop -f ${slavedata} ${kdc}error=$?if [ $error -ne 0 ]thenecho "Propagation of database to host ${kdc} failed with exit code $error."echo "Continuing with other slave servers."success=0fi
doneif [ $success -eq 1 ]
thenecho "Kerberos database successfully replicated to all slaves."
fi

最后,将这个 shell 脚本放在主 KDC 的 crontab 中,以便定期执行。数据库间复制的典型时间间隔是一个小时。

9.hadoop客户端节点配置

步骤同第7节

10.快速测试

测试示例1:认证用户-kinit获取 admin/admin@HADOOP.COM 主体的票据(不用keytab):

$ kinit admin/admin

之后键入密码admin即可成功。

测试示例2:示例1的另一种写法(用keytab),在主KDC节点执行以下命令:

$ admin.local

$ kadmin.local:ktadd admin/admin(krb5.keytab会生成在/etc/下)

$ kadmin.local:ktadd -k /export/common/kerberos5/kadm5.keytab admin/admin(kadm5.keytab会生成在/export/common/kerberos5/下)

$  kadmin.local:xst -k /export/common/kerberos5/kadm5.keytab admin/admin@HADOOP.COM

ktadd命令和xst命令均可以生成同步账号的keytab文件,默认文件生成/etc/krb5.keytab下,生成多个账号则在krb5.keytab基础上追加。在主节点生成keytab文件后,记得拷贝到从节点:

$ scp -P 51888 /export/common/kerberos5/kadm5.keytab root@192.168.0.114:/export/common/kerberos5/

$ kinit -kt /export/common/kerberos5/kadm5.keytab admin/admin(可以所有节点执行)

执行成功,说明kerberos服务已安装配置成功。

四、添加用户和生成认证文件

1、在KDC中添加需要认证的用户具体用户看情况而定(hadoop集群主要由hdfs管理,所以除了建hdfs账户还有HTTP账户,另外还有hive、hbase、dwetl也会访问hadoop集群。如有别的用户可用这种方式另行添加,最后如下图:)

格式为:用户名/主机hostname@HADOOP.COM

kadmin.local -q "addprinc -randkey HTTP/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "addprinc -randkey hive/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "addprinc -randkey hbase/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "addprinc -randkey hdfs/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "addprinc -randkey presto/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "addprinc -randkey dwetl/job@HADOOP.COM"

2、按用户批量生成 keytab

kadmin.local -q "xst -k /export/common/kerberos5/hdfs.keytab HTTP/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "xst -k /export/common/kerberos5/hive.keytab hive/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "xst -k /export/common/kerberos5/hbase.keytab hbase/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "xst -k /export/common/kerberos5/hdfs.keytab hdfs/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "xst -k /export/common/kerberos5/presto-server.keytab presto/v0106-c0a80049.4eb06.c.local@HADOOP.COM"

kadmin.local -q "xst -k /export/common/kerberos5/dwetl.keytab dwetl/job@HADOOP.COM"

会在当前 /export/common/kerberos5目录生成 相应用户的keytab 文件。再将 hadoop.keytab 分发到每台机器,包括从kdc和客户端(注意:分发后,由于是不同用户访问keytab,要给keytab文件赋相应权限)。

示例:测试在主kdc执行以下命令把hdfs的kertab同步到192.168.0.58的kdc客户端上:

scp -P 51888 /export/common/kerberos5/hdfs.keytab root@192.168.0.58:/export/common/kerberos5/

把hdfs.keytab拷贝到58上后再给keytab文件赋权chown hdfs:hadoop hdfs.keytab,便可以供hdfs用户使用。其他用户类似。也可以使用cd /export/common/kerberos5 && scp -P 51888 hdfs.keytab hive.keytab dwetl.keytab hbase.keytab root@192.168.0.58:/export/common/kerberos5/把所有用户一次性拷贝。

五、问题处理

1、命令$ kadmin.local后,报错如下:

Authenticating as principal root/admin@HADOOP.COM with password.

kadmin.local: Cannot open DB2 database '/var/kerberos/krb5kdc/principal': No such file or directory while initializing kadmin.local interface。

解决:最后发现是kdb5_util create时两次密码不一样,重新初始化:kdb5_util create -r HADOOP.COM -s

2、安装后,测试远程连接命令kadimin,命令$ kadmin -p admin/admin@HADOOP.COM后,报错如下:

Authenticating as principal admin/admin@HADOOP.COM with password.

kadmin: Missing parameters in krb5.conf required for kadmin client while initializing kadmin interface。

解决:配置的krb5.conf和kdc.conf中的ream没有匹配上,配置有问题,改完后如现在配置一样。之后再从第二节的第4点开始重新初始化ream开始再做。

3、测试时命令:kinit admin/admin时,报错如下:

init: Cannot find KDC for realm "HADOOP.COM" while getting initial credentials

解决:解决方案与问题2同一个原因

4、测试命令:kinit admin/admin后,报错:kinit: Password incorrect while getting initial credentials

分析:此命令输入密码后报上面的错。后发现是在kadmin.local中addprinc命令后,又执行了ktadd命令,ktadd会生成随机密钥keytab,使密码无效了。

解决:addprincs添加admin/admin主体命令执行后,不必再执行ktadd和xst命令。

5、测试命令:kinit -kt /export/common/kerberos5/kadm5.keytab admin/admin,报错:kinit: Password incorrect while getting initial credentials

解决:在子节点执行此命令时,注意把主节点新生成的kadm5.keytab文件复制到子节点。$ scp -P 51888 /export/common/kerberos5/kadm5.keytab root@192.168.0.114:/export/common/kerberos5/

6、测试命令:kinit -R,报错:ExitCodeException exitCode=1: kinit: KDC can't fulfill requested option while renewing credentials

分析:kdc不能更新票据。然后查了下klist命令,确实没有“renew until”关键字。

解决:vim /etc/krb5.conf,在libdefaults下,配置ticket_lifetime = 24h renew_lifetime = 7d forwardable = true。然后删除再重新建立kdc数据库,重新生成票据再分发到所有机器即可。

hadoop集群安装配置Kerberos(二):搭建kerberos基础环境(主从kdc)相关推荐

  1. CentOS7.0基于hadoop集群安装配置Hive

    前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要再有的namenode上安装),可以不在datanode节点的 ...

  2. Hadoop是小象——Hadoop集群安装配置

    文章目录 所需软件 集群网络配置 集群SSH免密登陆设置 Hadoop安装配置 所需软件 Linux所需软件包括: JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本(以前安装过) ...

  3. hadoop集群安装配置

    1.环境介绍 (1)软件版本 OS:rhel6.3-x86_64 JDK:jdk1.6.0_41 Hadoop:hadoop-1.1.1 (2)IP规划 hserver  192.168.183.13 ...

  4. CDH集群安装配置(二)- 公共环境的配置和虚拟机的克隆

    1. 配置网络-ip地址设置静态 vi /etc/sysconfig/network-scripts/ifcfg-eth33 增加如下配置 ONBOOT=yes BOOTPROTO=static IP ...

  5. Hadoop集群安装与配置

    转载自Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否则请先查看Had ...

  6. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  7. Ceph分布式集群安装配置

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站:https://www.captainai.net/dongkelun 前言 记录Ceph分布式集群安 ...

  8. Hadoop集群安装和搭建(全面超详细的过程)

    Hadoop集群安装和搭建(全面超详细的过程) 文章目录 Hadoop集群安装和搭建(全面超详细的过程) 前言 一.虚拟机的安装 二.Linux系统安装 1.环境准备 2.虚拟机安装 三.Centos ...

  9. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

  10. Hadoop的学习前奏(二)——Hadoop集群的配置

    前言: Hadoop集群的配置即完全分布式Hadoop配置. 笔者的环境: Linux:  CentOS 6.6(Final) x64   JDK:    java version "1.7 ...

最新文章

  1. Linux自动化测试monkey,APP自动化测试中Monkey和 MonkeyRunner
  2. 如何查看阵列卡的队列深度
  3. POJ 2230 DFS
  4. 异常检测-孤立森林(IsolationForest)
  5. 生成android_Android开发:生成桌面快捷方式是这样做的
  6. [渝粤教育] 盐城工学院 环境监测与仪器分析 参考 资料
  7. sap生产工单报工_【案例】MES系统助力亨通电缆车间生产效率提升25%
  8. 拳皇全明星伺服务器维护,拳皇全明星5月31日更新公告_拳皇全明星5月31日更新内容介绍_玩游戏网...
  9. 怎么看台式计算机是几位的,怎么看电脑是32位还是64位?一目了然
  10. Android 开机自启动
  11. 微信抢红包的方案_微信社群运营应该怎么运作?
  12. Docker网络基础---Docker跨主机容器访问通信
  13. Atitit 集团与个人的完整入口列表 attilax的完整入口 1. 集团与个人的完整入口列表 1 2. 流量入口概念 2 3. 流量入口的历史与发展 2 1.集团与个人的完整入口列表
  14. html5 progressbar,jQuery进度条插件NUMBERPROGRESSBAR
  15. 9106w android7,三星n9106w官方原版固件rom刷机包_三星n9106w系统线刷包
  16. 微型计算机主频一般为,【单选题】目前使用的微型计算机的主频一般为________。 A. 2.6GHz B. 256MHz C. 2.3THz D. 900Hz...
  17. Arduino教程4:面包板与洞洞板
  18. 让Qt程序适配高分辨率屏幕,解决软件界面错乱异常
  19. 汽车市场勇进派 乐车邦林金文的逆周期生意
  20. 导航窗格里计算机在桌面下,电脑桌面工具栏如何调到下方

热门文章

  1. 给自己一个不断学习的理由
  2. No query specified(Mysql数据库报错)
  3. win10计算机系统盘不足,Win10系统C盘空间不足?简单5招,教你安全清理C盘垃圾!...
  4. python中的result是什么_《python中result什么意思》电影_python中result什么意思BD高清完整电影在线...
  5. 解决windows server 2003安装dhcp服务器的问题
  6. 【verbs】IBV_WR API(3) Libibverbs Programmer’s Manual
  7. 32位系统和64位区别
  8. android百度字体大小设置快捷键,(安卓)百度输入法定制版 — 清爽无广告
  9. Java游戏开发超级玛丽总结_超级玛丽游戏设计(java)
  10. 如果你现在没有目标,或许很迷茫