概念介绍

CDH 概览

CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版。CDH提供Hadoop的核心元素-可伸缩存储和分布式计算-以及基于web的用户界面和重要的企业功能。CDH是Apache许可的开放源码,是唯一提供统一批处理、交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。

CDH 提供以下特性:

  • 灵活性:存储任何类型的数据并使用各种不同的计算框架进行操作,包括批处理、交互式SQL、免费文本搜索、机器学习和统计计算。

  • 集成:在一个完整的Hadoop平台上快速启动和运行,该平台与广泛的硬件和软件解决方案一起工作。

  • 安全:处理和控制敏感数据。

  • 可伸缩性:启用广泛的应用程序和规模,并扩展它们以满足您的需求。

  • 高可用性:满怀信心地执行任务关键的业务任务。

  • 兼容性:利用您现有的IT基础设施和投资。

CDH 组件如下图:

Cloudera Manager 概览

Cloudera Manager 是用于管理cdh集群的端到端应用程序。Cloudera Manager通过向CDH集群的每个部分提供细粒度的可见性并对其进行控制来设置企业部署标准-授权运营商提高性能、提高服务质量、提高遵从性和降低管理成本。使用Cloudera Manager,您可以轻松地部署和集中操作完整的CDH堆栈和其他托管服务。应用程序自动化安装过程,将部署时间从数周减少到分钟;为您提供在集群范围内运行主机和服务的实时视图;提供一个单一的中央控制台来执行整个集群的配置更改;并集成各种报告和诊断工具,以帮助您进行操作。

Cloudera Manager 的架构如上图所示(cs结构),主要由如下几部分组成:

  • 服务端/Server:
    Cloudera Manager 的核心。主要用于管理 web server 和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。

  • 代理/agent:
    安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。

  • 数据库/Database:
    存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的 Cloudera 管理器服务和监视,后台程序使用不同的逻辑数据库。

  • Cloudera Repository:
    由cloudera manager 提供的软件分发库。

  • 客户端/Clients:
    提供了一个与 Server 交互的接口。

      Cloudera Manager包括server端和agent;server端主要作用是监控集群分发配置集群等,agent端主管集群各节点。CDH是CM的安装包,本地或者云端,其中包括hadoop的生态系统需要的所有组件,通过Cloudera Manager统一管理和安装。CDH除了可以通过cm安装也可以通过yum,tar,rpm安装。
    

环境准备

下面的操作每个节点都需要。

软件版本选择

类目 版本 下载地址
操作系统 CentOS Linux release 7.5.1804 (Core) 使用阿里云镜像
数据库 MySQL 5.6.40 MySQL官网下载
JDK jdk-8u162-linux-x64.rpm Oracle 官网下载
Cloudera Manager Cloudera Manager 6.0.1 官方仓库
CDH CDH 6.0.1 使用parcels安装

节点准备(四个节点)

名称 IP CM管理软件
bd223 10.1.24.223 Cloudera Manager Agent
bd224 10.1.24.224 Cloudera Manager Server&Agent ,MySQL
bd225 10.1.24.225 Cloudera Manager Agent
bd226 10.1.24.226 Cloudera Manager Agent

配置主机名和hosts解析(所有节点)

编辑/etc/hostname,修改主机名,并使用命令hostname使其立刻生效。
编辑/etc/hosts,增加如下内容,用来解析主机名映射。

10.1.24.223      bd223
10.1.24.224     bd224
10.1.24.225     bd225
10.1.24.226     bd226

关闭防火墙

因为我们是CentOS 7系统,所以使用如下命令关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

关闭SELinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux有两种模式:0:permissive(宽容模式),1:enforcing(强制模式),可以通过getenforce Permissive[Enforcing]查看服务当前状态。
首先需要将SELinux改为disabledvim /etc/selinux/config然后修改 SELINUX=disabled。但这种方式只有关机重启的时候才有效。如果不方便重启机器的话,可以先通过命令setenforce 0将服务改为permissive(宽容模式)

禁用Linux透明大页面压缩(THP)服务

# 查看服务状态,输出 [always] madvise never 则表明服务开启, always madvise [never] 表明服务禁用
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
# 关闭服务
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 还需要将禁用命令加入添加到开机启动命令
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
chmod +x /etc/rc.d/rc.local

优化swap分区的使用

echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p

禁用所有IPv6

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p

配置server节点对其他节点的免密登录

  1. 配置登录免验证
    vim /etc/ssh/ssh_config,修改StrictHostKeyChecking askStrictHostKeyChecking no
  2. 生成密钥和公钥
mkdir ~/.ssh
cd ~/.ssh
# 删除之前生成的密钥和公钥文件
rm -rf id_rsa
rm -rf id_rsa.pub
# 生成密钥和公钥,一直回车到结束即可
ssh-keygen -t rsa
# 查看 ~/.ssh下生成 id_rsa  id_rsa.pub
ls ~/.ssh
# 配置密码
ssh-copy-id bd223~bd226 # 输入对应服务器的密码

配置ntp时钟同步

  1. 安装ntp服务,yum install -y ntp
  2. 配置server主服务器(bd224)ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
# 规定10.1.24.0网段服务器的一些权限
restrict 10.1.24.0 mask 255.255.255.0 nomodify notrap
server 115.28.122.198 prefer #alibaba
server 120.25.108.11 #alibaba
server 202.120.2.101 #上海交大
server 210.72.145.44 # 中国国家受时中心
server 202.112.10.36 # 1.cn.pool.ntp.org
server 59.124.196.83 # 0.asia.pool.ntp.org
restrict 115.28.122.198 nomodify notrap noquery
restrict 120.25.108.11 nomodify notrap noquery
restrict 202.120.2.101 nomodify notrap noquery
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
server 127.127.1.0 # local clock
# stratum是时间服务器的层次,设为0则为顶级,如果要向别的NTP服务器更新时间,就不要设为0
fudge 127.127.1.0 stratum 7
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
tinker panic 600
disable monitor
  1. 配置其他服务器(bd223、bd225、bd226)的ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict 10.1.24.0 mask 255.255.255.0 nomodify notrap
# 向bd224进行对时
server bd224 prefer
restrict bd224 nomodify notrap noquery
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 8
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
tinker panic 0
disable monitor
  1. 启动ntp服务,service ntpd start
  2. 查看时钟同步情况
ntpstat
ntpq -p
  1. 设置ntp服务开启自启,chkconfig ntpd on

安装RPC服务

RPC服务,主要是在nfs共享(网络文件共享)时候负责通知客户端,服务器的端口号的。简单理解rpc就是一个中介服务。

  1. 安装服务:yum install -y rpcbind
  2. 修改配置文件:vim /etc/systemd/system/sockets.target.wants/rpcbind.socket,修改后的内容如下:
[Unit]
Description=RPCbind Server Activation Socket[Socket]
ListenStream=/var/run/rpcbind.sock
ListenStream=0.0.0.0:111[Install]
WantedBy=sockets.target
  1. 启动并设置开机自启
systemctl daemon-reload
systemctl start rpcbind.socket
systemctl start rpcbind
systemctl enable rpcbind.socket
systemctl enable rpcbind

安装jdk1.8+

这个网上教程很多,这里就不做过多赘述了。只要安装完成之后使用java -version查看是否安装成功即可。

安装MySQL

安装MySQL教程链接如下:Linux安装mysql5.6.40

但是这里需要注意的是MySQL的配置问题。我搭建的时候,MySQL是用的之前搭建的双机热备的MySQL,所以配置还是沿用的之前的,启动cloudera-scm-server的时候一直不成功,后来修改了/etc/my.cnf之后,就可以了。所以特此贴一份成功的MySQL 的配置。

[mysqld]
server_id=1
expire_logs_days=2
binlog_do_db=gp
replicate-ignore-db=mysql,information_schema,performance_schema
symbolic-links=0
basedir=/usr/local/mysql/mysql-5.6.40-linux-glibc2.12-x86_64
datadir=/home/mysql/data
port=3306
socket=/usr/local/mysql/mysql-5.6.40-linux-glibc2.12-x86_64/mysql.sock
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
socket=/usr/local/mysql/mysql-5.6.40-linux-glibc2.12-x86_64/mysql.sock

安装完成之后需要为Cloudera各软件创建数据库,DML语句如下:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'hive';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
flush PRIVILEGES;

安装 CM 和 CDH

安装配置 CM

# 安装deamon程序 【所有主机】
yum install -y cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
# 安装agent程序 【所有主机】
yum install -y cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
# 安装server程序 【管理主机bd224】
yum install -y cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
# 安装server程序 【使用MySQL可跳过--管理主机bd224】
yum install -y cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm

修改配置文件

  1. 只有主节点bd224需要,无需修改,但是需要知道有这么个文件
    vim /etc/default/cloudera-scm-server
  2. 所有节点都需要,修改 server_host=bd224
    vim /etc/cloudera-scm-agent/config.ini
  3. 只有主节点bd224需要,修改数据库配置
    vim /etc/cloudera-scm-server/db.properties
    修改后的内容如下:
# The database type
# Currently 'mysql', 'postgresql' and 'oracle' are valid databases.
com.cloudera.cmf.db.type=mysql# The database host
# If a non standard port is needed, use 'hostname:port'
com.cloudera.cmf.db.host=bd224# The database name
com.cloudera.cmf.db.name=scm# The database user
com.cloudera.cmf.db.user=scm# The database user's password
com.cloudera.cmf.db.password=scm# The db setup type
# After fresh install it is set to INIT
# and will be changed post config.
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
com.cloudera.cmf.db.setupType=EXTERNAL

复制数据库驱动

因为我们用的是MySQL数据库,所以只需要MySQL的驱动即可。
通过/etc/default/cloudera-scm-server文件,可以看到数据库驱动需要放在/usr/share/java/mysql-connector-java.jar

启动

# 启动server进程(只有主节点bd224需要启动)
systemctl start cloudera-scm-server
# 启动agent进程
systemctl start cloudera-scm-agent
# 如果启动中用什么问题,可以查看日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log

如果server启动失败,很有可能就是MySQL配置的问题,修改配置或者直接换个MySQL。
启动完成之后server的日志显示了启动的监听端口7180

初始化 Cloudera Manager

浏览器打开http://10.1.24.224:7180,用户名和密码默认都是admin

  1. 继续。

  2. 接受许可。

  3. 我这里选择的是免费版,收费版请自行选择。

集群安装

安装的时候有两种选择。

  1. 各节点的agent程序自己安装并启动(本文选择的方法),那么就可以跳过安装agent程序的步骤。
  2. 各节点没有安装或启动agent程序,那么这时候就需要server来进行安装了。

已经安装和启动agent程序

  1. 继续。

  2. 选择主机。

  3. 选择存储库。

  4. 安装 agents。

  5. 安装选定的Parcel,之前我们已经下载好,并配置好放在的 CM Server 节点的/opt/cloudera/parcel-repo

  6. 检查主机正确性。

没有安装和启动agent程序

  1. 继续。

  2. 指定要添加的节点。

  3. 选择存储库,之前我们已经在 CM Server 节点配置好了。

  1. 不进行勾选,选择我们自己安装的 JDK。

  2. 提供 SSH 登录凭据。

  1. 安装 agents。

  2. 安装选定的Parcel,之前我们已经下载好,并配置好放在的 CM Server 节点的/opt/cloudera/parcel-repo

  3. 检查主机正确性。

安装要点

  1. 因为Parcel文件较大,且下载很慢,所以可以找到文件之后通过自己搭建nginx实现私服下载。
    首先将CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcelCDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.shaCDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.torrentmanifest.json这四个文件放到服务器的某个目录下。
    然后搭建nginx,将目录映射出去,映射的地址为http://10.1.24.134:38080/cdh
    之后在选择存储库这一步,选择更多选项,将https://archive.cloudera.com/cdh6/{latest_supported}/parcels/修改为http://10.1.24.134:38080/cdh。如下图所示:
    选择更多选项

    修改下载地址。
  2. 如果安装Parcel一直失败,且agent日志一直报错Error, CM server guid updated, expected XXXX, received XXXX,那么很有可能是之前安装过agent,且安装文件没有删除干净。
    解决办法:
    rm -rf /var/lib/cloudera-scm-agent/cm_guidservice cloudera-scm-agent restart

集群设置

  1. 选择要安装的服务,可以根据自己的需求进行软件安装。

  2. 自定义角色分配。

  3. 数据库设置。

  4. 审核更改,如果有特定目录的设定或者参数的设定,可以在这里进行更正。

  5. 首次运行。

  6. 安装完成。

设置要点

  1. 如果数据库设置这一步测试连接失败并显示没有驱动信息的话,那么就需要在服务相应服务器的/usr/share/java/mysql-connector-java.jar放置驱动即可。
    以下两个目录我暂时也没测试是否有用,特此记录一下。
    Hive /opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/hive/lib/mysql-connector-java-5.1.44-bin.jar
    Oozie /var/lib/oozie/mysql-connector-java-5.1.44-bin.jar

至此就算所有步骤完成了。

完全卸载CDH

删除的时候确定一下,各自服务器在这些目录下,是否有重要文件,慎重删除!都是血和泪的教训!

rm -rf /opt/dfs
rm -rf /home/opt/dfs
rm -rf /var/run/cloudera-scm-agent/process/*-hdfs-*rm -rf /var/log/cloudera*
rm -rf /var/lib/cloudera*
rm -rf /etc/spark
rm -rf /etc/hadoop
rm -rf /etc/hbase
rm -rf /etc/hiverm -rf /tmp/.cloudera_health_monitoring_canary_files
rm -rf /tmp/hbase-cloudera-scm
rm -rf /etc/cloudera-scm-server
rm -rf /etc/cloudera-scm-agent
rm -rf /etc/systemd/system/multi-user.target.wants/cloudera-scm-server.service
rm -rf /tmp/hsperfdata_cloudera-scm
rm -rf /home/opt/*rm -rf /usr/bin/hbase*
rm -rf /tmp/*hbase
rm -rf /var/log/hbase
rm -rf /var/lib/hbase
rm -rf /var/lib/alternatives/hbase*
rm -rf /etc/hbase*
rm -rf /etc/alternatives/hbase*rm -rf /usr/bin/sqoop-create-hive-table
rm -rf /usr/bin/hive
rm -rf /usr/bin/hiveserver2
rm -rf /tmp/hive
rm -rf /tmp/hsperfdata_hive
rm -rf /var/log/hive
rm -rf /var/lib/hive
rm -rf /var/lib/alternatives/*hive*
rm -rf /etc/alternatives/*hive*
rm -rf /etc/hive-webhcat
rm -rf /etc/hive-hcatalogrm -rf /etc/alternatives/oozie
rm -rf /var/lib/alternatives/oozie
rm -rf /var/lib/oozie
rm -rf /usr/bin/oozierm -rf /usr/bin/yarn
rm -rf /tmp/hadoop-yarn-nodemanager.pid
rm -rf /tmp/hsperfdata_yarn
rm -rf /var/log/hadoop-yarn
rm -rf /var/lib/yarn-ce
rm -rf /var/lib/hadoop-yarn
rm -rf /var/lib/alternatives/yarn
rm -rf /etc/alternatives/yarnrm -rf /etc/alternatives/*spark*
rm -rf /var/lib/alternatives/*spark*
rm -rf /usr/bin/*spark*
rm -rf /var/lib/spark
rm -rf /var/log/sparkrm -rf /etc/alternatives/hadoop*
rm -rf /etc/hadoop-*
rm -rf /var/lib/alternatives/hadoop*
rm -rf /var/lib/hadoop-*
rm -rf /var/log/hadoop-*
rm -rf /usr/bin/hadoop*
rm -rf /tmp/hadoop-hdfs-datanode.pidrm -rf /etc/alternatives/zookeeper-*
rm -rf /etc/zookeeper
rm -rf /var/lib/alternatives/zookeeper-*
rm -rf /var/lib/zookeeper
rm -rf /var/log/zookeeper
rm -rf /tmp/hsperfdata_zookeeper
rm -rf /usr/bin/zookeeper-*rm -rf /sys/fs/cgroup/systemd/system.slice/run-clouderarm -rf /run/cloudera-scm-agent

安装所需文件链接

链接: https://pan.baidu.com/s/1Z4CbfbY-Gqr-PbICrn7iQA
提取码:yj0c

CentOS 7下Cloudera Manager及CDH 6.0.1安装教程相关推荐

  1. 安装 Cloudera Manager、CDH、KUDU 随手记

    转自:https://my.oschina.net/balajinima/blog/862969 一.关于CDH和Cloudera Manager CDH (Cloudera's Distributi ...

  2. mysql安装教程8.0.21安装,Windows系统下MySQL8.0.21安装教程(图文详解)

    安装建议:尽量不要用.exe进行安装,用压缩包安装,对日后的卸载/版本升级更为方便 下载地址:https://dev.mysql.com/downloads/mysql/ 1.点击上面的下载地址得到z ...

  3. cuda tensorflow版本对应_Windows10下安装tensorflow-gpu(2.2.0)安装教程(避坑+保姆式教学)...

    本文实现了Windows10下GPU版本的tensorflow2.2.0的安装,用到的软件主要包括:CUDA 10.2 + cuDNN + Anaconda + tensorflow-gpu 2.2. ...

  4. mysql5.7.17.zip教程,Mysql学习win10下mysql 5.7.17 zip压缩包版安装教程

    搜索热词 <MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程>要点: 本文介绍了MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程,希望对 ...

  5. win10系统下JAVA之JDK压缩包制作方法及安装教程(环境配置)

    win10系统下JAVA之JDK压缩包制作方法及安装教程 有时进行JAVA开发,我们可能会用到不同版本的JDK,每次切换不同版本时,总不能删除之前的,重新下载一个新版本,所以通过压缩包免安装方式进行多 ...

  6. mysql8.0.20 64位安装教程_windows 64位下MySQL 8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

  7. mysql 8.064位安装_windows64位下MySQL8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

  8. (一)win10下MySQL 8.0.23安装教程及简单测试

    文章目录 (一)win10下MySQL 8.0.23安装教程及简单测试 1.MySQL官网下载 2.配置环境变量 3.命令行cmd安装MySQL 3.1 管理员权限运行cmd 3.2 数据库初始化 3 ...

  9. Centos6.9 下的 CM(Cloudera Manager)CDH 大数据环境部署

    (系统采用CentOS-6.9-x86_64-bin-DVD1.iso镜像,百度下载方式) 环境采用的是一台物理机ESXI 虚拟镜像系统下 三台 虚拟机 n1.n2.n3 (n1 是master&am ...

最新文章

  1. 资深算法专家解读CTR预估业务中的深度学习模型
  2. 接上一篇配置多仓库相关命令
  3. win2008r2下安装sql2008r2初版
  4. 自己做的几个小软件(数学工具和游戏),用C/C#制作,用到许多相关的C#技术细节,可以免费提供下载,感兴趣的,来看一下...
  5. hdu 3790 最短路径dijkstra(多重权值)
  6. linux 内核连接跟踪,Linux内核连接跟踪锁的优化分析(1)
  7. Oracle 11g Dataguard参数详解
  8. 调试某游戏副本中的加亮提示信息思路
  9. 怎么判断一个字符串的最长回文子串是否在头尾_每日一道算法题,让你的头脑更活跃(寻找最长回文子串)...
  10. 【课题总结】OpenCV 抠图项目实战(7)边缘检测
  11. 计算鞍点(信息学奥赛一本通-T1122)
  12. 请教如何维护好iis服务器?
  13. python人工智能方向怎么学_人工智能方向需要学习python或是深度学习呢?
  14. 《社交网站界面设计(原书第2版)》——3.6 指纹或Bio指纹
  15. UML常用图--类图,用例图,序列图(时序图),协作图(通信图),状态图,活动图
  16. 第0课:郭盛华课程_零基础学Visual Basic编程语言
  17. 基于java中国跳棋游戏
  18. 深度:企业为什么需要一个平台级的OA产品?
  19. CMM 关键过程域
  20. 作品展第二周——痛并快乐着

热门文章

  1. C语言 - 矩阵转置
  2. 记录左下cortana小娜搜索框点击弹出全黑
  3. ESP32 入门笔记03:PWM (ESP32 for Arduino IDE)
  4. 杭州预约挂号辅助软件 源代码开源
  5. android Service的stopself方法
  6. group by分组取组内第一条
  7. 汽车共享公司Getaround曲线上市:新公司作价12亿美元 路演PPT曝光
  8. PhotoShop CC 64位绿色版
  9. stata学习笔记#连玉君老师profile.do文件下载设定 #varlist not allowed
  10. LTH7B,LTH7r,LTH7x,LTH7s五脚锂电池充电芯片应用说明电路图