https://www.jianshu.com/p/e1855a1d38b7

MongoDB4.0.2集群搭建

根据对象存储平台Django+MongoDB+Ceph的需求,现搭建部署一个十节点的MongoDB集群,主要以下关键点:

  • 根据最新版本MongoDB推荐,配置文件采用yaml方式来配置
  • 一共10台服务器,即10个节点。对数据集进行分片,共分10个shard
  • 每一个shard都进行副本集配置,由于硬件磁盘已进行raid多副本备份,考虑到存储效率,本集群在副本集只需要一个备服务器,故采用1主+1备
    +1仲裁(必须有仲裁节点,不然被服务器无法通过心跳机制升级为主服务器)的副本及配置方式

环境准备

系统:CentOS7.0 64bit

十台服务器:mongo00-mongo09

服务器规划:

mongo00 mongo01 mongo02 mongo03 mongo04 mongo05 mongo06 mongo07 mongo08 mongo09
mongos mongos mongos mongos mongos mongos mongos config config config
shard0主 shard1主 shard2主 shard3主 shard4主 shard5主 shard6主 shard7主 shard8主 shard9主
shard9副 shard0副 shard1副 shard2副 shard3副 shard4副 shard5副 shard6副 shard7副 shard8副
shard8仲 shard9仲 shard0仲 shard1仲 shard2仲 shard3仲 shard4仲 shard5仲 shard6仲 shard7仲

端口分配:

mongos:20000
config:21000
shard0:27000
shard1:27001
shard2:27002
shard3:27003
shard4:27004
shard5:27005
shard6:27006
shard7:27007
shard8:27008
shard9:27009

MongoDB安装

  1. 下载、安装MongoDB
#官网下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.2.tgz#解压
tar -xzvf mongodb-linux-x86_64-rhel70-4.0.2.tgz -C /usr/local/
cd /use/local
mv mongodb-linux-x86_64-rhel70-4.0.2 mongodb
  1. 相关目录规划
#mongo服务通过配置文件启动,存放配置文件目录/usr/local/mongodb/conf
#存放日志、进程管理信息的目录/var/log/nginx/mongodb
#根据服务器规划,在每台服务器创建该节点所含shard的数据存放目录/mnt/mongodata/shard0-9
#同时在mongo07-mongo09三台服务器创建存放config server数据的数据目录/mnt/mongodata/config#mongo00:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard0
mkdir -p /mnt/mongodata/shard9
mkdir -p /mnt/mongodata/shard8#mongo01:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard0
mkdir -p /mnt/mongodata/shard1
mkdir -p /mnt/mongodata/shard9#mongo02:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard0
mkdir -p /mnt/mongodata/shard1
mkdir -p /mnt/mongodata/shard2#mongo03:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard1
mkdir -p /mnt/mongodata/shard2
mkdir -p /mnt/mongodata/shard3#mongo04:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard2
mkdir -p /mnt/mongodata/shard3
mkdir -p /mnt/mongodata/shard4#mongo05:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard3
mkdir -p /mnt/mongodata/shard4
mkdir -p /mnt/mongodata/shard5#mongo06:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard4
mkdir -p /mnt/mongodata/shard5
mkdir -p /mnt/mongodata/shard6#mongo07:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard5
mkdir -p /mnt/mongodata/shard6
mkdir -p /mnt/mongodata/shard7
mkdir -p /mnt/mongodata/config#mongo08:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard6
mkdir -p /mnt/mongodata/shard7
mkdir -p /mnt/mongodata/shard8
mkdir -p /mnt/mongodata/config#mongo09:
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/log/nginx/mongodb
mkdir -p /mnt/mongodata/shard7
mkdir -p /mnt/mongodata/shard8
mkdir -p /mnt/mongodata/shard9
mkdir -p /mnt/mongodata/config
  1. 环境变量配置
vim /etc/profile#加入以下内容
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH#立即生效
source /etc/profile

使用命令mongod -v输出信息版本信息验证环境变量是否配置成功

集群配置

1、config server配置服务器(副本集)

根据服务器规划,在mongo07-mongo09上部署三台config server副本集,在该三台服务器上分别添加以下配置文件:

vim /usr/local/mongodb/conf/config.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/config.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/configjournal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/configsrv.pid# network interfaces
net:port: 21000bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: configs       sharding:clusterRole: configsvr

启动这三台服务器的config server

mongod -f /usr/local/mongodb/conf/config.conf

登陆任意一台服务器,初始化副本集

mongo --port 21000#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致)
config = {
...    _id : "configs",
...     members : [
...         {_id : 0, host : "mongo07:21000" },
...         {_id : 1, host : "mongo08:21000" },
...         {_id : 2, host : "mongo09:21000" }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

2、shard server分片服务器(副本集)

配置shard0副本集

在mongo00、mongo01、mongo02服务器上做以下配置:

vim /usr/local/mongodb/conf/shard0.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard0.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard0journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard0.pid# network interfaces
net:port: 27000bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard0       sharding:clusterRole: shardsvr

启动这三台服务器的shard0 server

mongod -f /usr/local/mongodb/conf/shard0.conf

登陆任意一台服务器,初始化副本集

mongo --port 27000#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard0",
...     members : [
...         {_id : 0, host : "mongo00:27000", priority : 2 },
...         {_id : 1, host : "mongo01:27000", priority : 1 },
...         {_id : 2, host : "mongo02:27000", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard1副本集

在mongo01、mongo02、mongo03服务器上做以下配置:

vim /usr/local/mongodb/conf/shard1.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard1.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard1journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard1.pid# network interfaces
net:port: 27001bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard1sharding:clusterRole: shardsvr

启动这三台服务器的shard1 server

mongod -f /usr/local/mongodb/conf/shard1.conf

登陆任意一台服务器,初始化副本集

mongo --port 27001#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard1",
...     members : [
...         {_id : 0, host : "mongo01:27001", priority : 2 },
...         {_id : 1, host : "mongo02:27001", priority : 1 },
...         {_id : 2, host : "mongo03:27001", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard2副本集

在mongo02、mongo03、mongo04服务器上做以下配置:

vim /usr/local/mongodb/conf/shard2.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard2.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard2journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard2.pid# network interfaces
net:port: 27002bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard2sharding:clusterRole: shardsvr

启动这三台服务器的shard2 server

mongod -f /usr/local/mongodb/conf/shard2.conf

登陆任意一台服务器,初始化副本集

mongo --port 27002#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard2",
...     members : [
...         {_id : 0, host : "mongo02:27002", priority : 2 },
...         {_id : 1, host : "mongo03:27002", priority : 1 },
...         {_id : 2, host : "mongo04:27002", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard3副本集

在mongo03、mongo04、mongo05服务器上做以下配置:

vim /usr/local/mongodb/conf/shard3.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard3.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard3journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard3.pid# network interfaces
net:port: 27003bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard3sharding:clusterRole: shardsvr

启动这三台服务器的shard3 server

mongod -f /usr/local/mongodb/conf/shard3.conf

登陆任意一台服务器,初始化副本集

mongo --port 27003#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard3",
...     members : [
...         {_id : 0, host : "mongo03:27003", priority : 2 },
...         {_id : 1, host : "mongo04:27003", priority : 1 },
...         {_id : 2, host : "mongo05:27003", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard4副本集

在mongo04、mongo05、mongo06服务器上做以下配置:

vim /usr/local/mongodb/conf/shard4.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard4.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard4journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard4.pid# network interfaces
net:port: 27004bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard4sharding:clusterRole: shardsvr

启动这三台服务器的shard4 server

mongod -f /usr/local/mongodb/conf/shard4.conf

登陆任意一台服务器,初始化副本集

mongo --port 27004#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard4",
...     members : [
...         {_id : 0, host : "mongo04:27004", priority : 2 },
...         {_id : 1, host : "mongo05:27004", priority : 1 },
...         {_id : 2, host : "mongo06:27004", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard5副本集

在mongo05、mongo06、mongo07服务器上做以下配置:

vim /usr/local/mongodb/conf/shard5.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard5.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard5journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard5.pid# network interfaces
net:port: 27005bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard5sharding:clusterRole: shardsvr

启动这三台服务器的shard5 server

mongod -f /usr/local/mongodb/conf/shard5.conf

登陆任意一台服务器,初始化副本集

mongo --port 27005#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard5",
...     members : [
...         {_id : 0, host : "mongo05:27005", priority : 2 },
...         {_id : 1, host : "mongo06:27005", priority : 1 },
...         {_id : 2, host : "mongo07:27005", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard6副本集

在mongo06、mongo07、mongo08服务器上做以下配置:

vim /usr/local/mongodb/conf/shard6.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard6.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard6journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard6.pid# network interfaces
net:port: 27006bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard6sharding:clusterRole: shardsvr

启动这三台服务器的shard6 server

mongod -f /usr/local/mongodb/conf/shard6.conf

登陆任意一台服务器,初始化副本集

mongo --port 27006#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard6",
...     members : [
...         {_id : 0, host : "mongo06:27006", priority : 2 },
...         {_id : 1, host : "mongo07:27006", priority : 1 },
...         {_id : 2, host : "mongo08:27006", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard7副本集

在mongo07、mongo08、mongo09服务器上做以下配置:

vim /usr/local/mongodb/conf/shard7.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard7.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard7journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard7.pid# network interfaces
net:port: 27007bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard7sharding:clusterRole: shardsvr

启动这三台服务器的shard7 server

mongod -f /usr/local/mongodb/conf/shard7.conf

登陆任意一台服务器,初始化副本集

mongo --port 27007#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard7",
...     members : [
...         {_id : 0, host : "mongo07:27007", priority : 2 },
...         {_id : 1, host : "mongo08:27007", priority : 1 },
...         {_id : 2, host : "mongo09:27007", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard8副本集

在mongo08、mongo09、mongo00服务器上做以下配置:

vim /usr/local/mongodb/conf/shard8.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard8.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard8journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard8.pid# network interfaces
net:port: 27008bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard8sharding:clusterRole: shardsvr

启动这三台服务器的shard8 server

mongod -f /usr/local/mongodb/conf/shard8.conf

登陆任意一台服务器,初始化副本集

mongo --port 27008#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard8",
...     members : [
...         {_id : 0, host : "mongo08:27008", priority : 2 },
...         {_id : 1, host : "mongo09:27008", priority : 1 },
...         {_id : 2, host : "mongo00:27008", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

配置shard9副本集

在mongo09、mongo00、mongo01服务器上做以下配置:

vim /usr/local/mongodb/conf/shard9.conf# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodb/shard9.log# Where and how to store data.
storage:dbPath: /mnt/mongodata/shard9journal:enabled: true# how the process runs
processManagement:fork: truepidFilePath: /var/log/nginx/mongodb/shard9.pid# network interfaces
net:port: 27009bindIp: 0.0.0.0#operationProfiling:
replication:replSetName: shard9sharding:clusterRole: shardsvr

启动这三台服务器的shard9 server

mongod -f /usr/local/mongodb/conf/shard9.conf

登陆任意一台服务器,初始化副本集

mongo --port 27009#定义副本集配置(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致,priority代表权重[1,100],大的被分配为主服务器,0永久不会变为主服务器)
config = {
...    _id : "shard9",
...     members : [
...         {_id : 0, host : "mongo09:27009", priority : 2 },
...         {_id : 1, host : "mongo00:27009", priority : 1 },
...         {_id : 2, host : "mongo01:27009", arbiterOnly :true }
...     ]
... }#初始化副本集
rs.initiate(config)#查看分区状态
rs.status();

3、mongos server路由服务器(在mongo00-mongo06上配置)

注意:启动mongodb时,先启动配置服务器和分片服务器,最后启动路由服务器

vim /usr/local/mongodb/conf/mongos.confsystemLog:destination: filelogAppend: truepath: /var/log/nginx/mongodbmongos.log
processManagement:fork: true
#  pidFilePath: /var/log/nginx/mongodbmongos.pid# network interfaces
net:port: 20000bindIp: 0.0.0.0
#监听的配置服务器,只能有1个或者3个 configs为配置服务器的副本集名字
sharding:configDB: configs/mongo07:21000,mongo08:21000,mongo09:21000

启动这七台服务器的mongos server

mongod -f /usr/local/mongodb/conf/mongos.conf

4、启用分片

目前已经搭建好配置服务器、数据分片服务器、路由服务器,下面进行分片启用,使得app连接到路由服务器时可以使用分片机制

登录任意一台mongos

mongo --port 20000#使用admin数据库
use admin#串联路由服务器与分片副本集
sh.addShard("shard0/mongo00:27000,mongo01:27000,mongo02:27000")
sh.addShard("shard1/mongo01:27001,mongo02:27001,mongo03:27001")
sh.addShard("shard2/mongo02:27002,mongo03:27002,mongo04:27002")
sh.addShard("shard3/mongo03:27003,mongo04:27003,mongo05:27003")
sh.addShard("shard4/mongo04:27004,mongo05:27004,mongo06:27004")
sh.addShard("shard5/mongo05:27005,mongo06:27005,mongo07:27005")
sh.addShard("shard6/mongo06:27006,mongo07:27006,mongo08:27006")
sh.addShard("shard7/mongo07:27007,mongo08:27007,mongo09:27007")
sh.addShard("shard8/mongo08:27008,mongo09:27008,mongo00:27008")
sh.addShard("shard9/mongo09:27009,mongo00:27009,mongo01:27009")#查看集群状态
sh.status()

MongoDB4.0.2集群搭建相关推荐

  1. Redis 3.0.2集群搭建以及相关问题汇总

    Redis3 正式支持了 cluster,是为了解决构建redis集群时的诸多不便 (1)像操作单个redis一样操作key,不用操心key在哪个节点上 (2)在线动态添加.删除redis节点,不用停 ...

  2. elasticsearch7.0.1集群搭建(最后有ES6.7的配置)

    ** ES集群搭建 **: 说明:首先要讨论搭建几个集群,集群搭建很简单,只需要配置做好就ok; 一 : 在搭建集群之前,我们首先要了解一个es中的相关内容 cluster : 代表一个集群,集群中有 ...

  3. Redis5.0.x集群搭建

    前言: 本文将介绍Redis5.0三主三从集群搭建以及集群配置. 一.资源配置(3主3从集群) 1.以下为生产环境下,集群搭建所需资源配置: 资源 配置 cpu 4核*6 内存 16G*6 硬盘 20 ...

  4. Nacos2.0.3集群搭建

    集群搭建 前置条件 JDK 1.8 MySQL 5.7.29 Nacos 2.0.3 搭建过程 将Nacos安装包上传至三个服务器,本次搭建使用三个端口来模拟三个不同的主机 解压: tar -zvxf ...

  5. csrediscore访问redis集群_搭建文档 | centos7.6环境下redis5.0.8集群搭建

    " 本文作者:墨篱弦 " 一.做基础配置 a) 首先创建3个空文件 mkdir -p /server/redis_cluster/7001/datamkdir -p /server ...

  6. Redis5.0.8集群搭建与说明

    文章目录 1. 环境说明 2. 修改集群配置 3. 创建集群 4. 集群槽位 5. 主节点故障问题 1. 环境说明 RedisCluster要求至少3个主节点,因此我们需要启动6个Redis实例(3主 ...

  7. spark3.0 分布式集群搭建

    Spark 集群环境搭建-exsi 1.虚拟机环境配置 进入管理界面 创建虚拟机 后续选择存储空间位置 3处选择存储目录中的 centos7,安装过程略 如法炮制建立三个虚拟机 ssh连接 此处使用的 ...

  8. redis4.0.2集群搭建

    https://www.jianshu.com/p/2735b6a538af#redis.conf-%E9%85%8D%E7%BD%AE 搭集群还是比较有成就感的,一边忙工作,一边搭,克服了公司内网下 ...

  9. Apache Doris1.0版本集群搭建、负载均衡与参数调优

    首先下载包,有源码和预编译两种包 .我这用的预编译 下载 | Apache Doris 我的架构是3FE+7BE 首先操作系统安装要求 #设置系统最大打开文件句柄数 vi /etc/security/ ...

  10. *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)

    redis 5.0版本 集群搭建不需要我们安装ruby就可以搭建成功,并且redis给我们提供了快速搭建脚本,执行utils/create-cluster/ 目录下的create-cluster脚本 ...

最新文章

  1. download first at netease music
  2. 想不明白的时候可以干的十件事情
  3. Description Resource Path Location Type Path must include project and resource name: /
  4. Vue—核心概念—异步组件和路由懒加载
  5. Go语言 XML生成和解析
  6. 使用VS Code开发调试.NET Core 多项目
  7. 二分查找非递归方式实现
  8. 负载均衡研究 基础
  9. 特斯拉再回应自燃事件:正在权威部门主导下进行调查 暂未有初步结论
  10. 每天一个linux命令(目录文件操作):【转载】Linux文件类型与扩展名
  11. 【调试手段】linux下valgrind内存泄露检查
  12. window下c语言c s通信,c++ Windows Socket实现最简单的C/S网络通信(TCP)
  13. lua table的__index ,setmetable()的一些操作
  14. 在JavaScript中实现继承的几种方式
  15. 【微信小程序】关于小程序的协同工作与发布的工作流程
  16. diskpart 删除磁盘OEM分区 及设置活动分区
  17. 深度学习之数据标准化方法综述
  18. 李永乐老师讲一个量子计算机,别再只知道罗翔了!网上最受欢迎的14位老师,个个让人“开天眼”!...
  19. Python美股量化交易填坑记录——13c.Vegas隧道交易机器人(实盘记录)
  20. R语言[]和[[]]操作的区别

热门文章

  1. 【信号与系统|吴大正】2:连续系统的时域分析
  2. 二进制二进制编辑器_为什么十六进制编辑器称为二进制编辑器?
  3. Mac OSX 常用软件下载页面集锦(持续更新)
  4. sql sever如何进行英文词频统计_英语语料库及词频表介绍
  5. 小米路由老毛子 潘多拉Padavan 无线桥接中继
  6. 笔记本电脑亮度突然无法用快捷键调节
  7. Android原生PDF功能实现,掌握了这些Android高级工程师必备知识,
  8. 多Tab点击切换效果实现
  9. SPSS 24/25/26安装包分享 window和mac版本
  10. 浅谈JVM中如何自动回收内存