Geode安装管理指南

Step1 安装Geode

  1. 下载 .zip 或者 .tar 文件从 http://geode.apache.org.

  2. 解压 .zip 或者 .tar 文件,这个 path_to_product 是绝对路径.

    例如 .zip 格式:

    $ unzip apache-geode-1.14.0.zip -d path_to_product
    

    例如 .tar 格式:

    $ tar -xvf apache-geode-1.14.0.tar -C path_to_product
    
  3. 设置 JAVA_HOME 环境变量. 在 Linux/Unix 下:

    JAVA_HOME=/usr/java/jdk1.8.0_60
    export JAVA_HOME
    

    在 Windows 平台:

    set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_60 
    
  4. 添加 Geode 脚本 到你的 PATH 环境变量里. 在 Linux/Unix 下:

    PATH=$PATH:$JAVA_HOME/bin:path_to_product/bin
    export PATH
    

    Windows 下:

    set PATH=%PATH%;%JAVA_HOME%\bin;path_to_product\bin 
    
  5. 为了验证安装是否成功,键入 gfsh version 命令,查看输出. 例如:

    $ gfsh version
    v1.14.0
    

    想查看更详细的信息,比如 构建日期和版本号,JDK 版本等等,键入:

    $ gfsh version --full
    

Step2 启动Locator

  1. 创建一个工作目录 例如,my_geode) 然后进入它. gfsh 在此目录下保存locatorserver 的工作目录和日志文件.

  2. 键入 gfsh 命令启动它(或者 gfsh.bat 在Windows操作操作系统下).

        _________________________     __
       / _____/ ______/ ______/ /____/ /
      / /  __/ /___  /_____  / _____  /
     / /__/ / ____/  _____/ / /    / /
    /______/_/      /______/_/    /_/    1.5
    
    Monitor and Manage Geode
    gfsh>
    
  3. 在进入 gfsh 后,键入 start locator 命令指定 locator 的名字:

    gfsh>start locator --name=locator1
    Starting a Geode Locator in /home/username/my_geode/locator1...
    .................................
    Locator in /home/username/my_geode/locator1 on ubuntu.local[10334] as locator1 is currently online.
    Process ID: 3529
    Uptime: 18 seconds
    Geode Version: 1.5
    Java Version: 1.8.0_121
    Log File: /home/username/my_geode/locator1/locator1.log
    JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
    Class-Path: /home/username/Apache_Geode_Linux/lib/geode-core-1.0.0.jar:
    /home/username/Apache_Geode_Linux/lib/geode-dependencies.jar
    
    Successfully connected to: JMX Manager [host=10.118.33.169,port=1099]
    
    Cluster configuration service is up and running.
    

如果你运行 start locatorgfsh 没有指定 member 名字,gfsh 会自动生成一个随机的 member 名字. 这对自动化操作非常有用.

Step3 启动Pulse

启动基于浏览器的脉冲监测工具. Pulse是一个Web应用程序,它提供了一个图形仪表板,用于监控Geode集群,成员和regions的重要的实时健康和性能.参考Geode Pulse

gfsh>start pulse

此命令启动Pulse并自动连接到在Locator中运行的JMX Manager.在Pulse登录页面上,输入默认用户名admin和密码admin.

Pulse应用程序显示刚刚启动的定位器(locator1): [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhuX8ySO-1662299034208)(assets/pulse_locator.png)]

Step4 启动服务器(server)

Geode服务器是作为一个长期运行的,可配置成员的集群(也称为分布式系统). Geode服务器主要用于托管长期数据区域(data regions)和运行标准Geode进程,例如客户端/服务器配置中的服务器.参考Running Geode Server Processes.

启动一个缓存服务器:

gfsh>start server -name=server1 -server-port=40411

此命令在 40411 的指定端口上启动名为"server1"的缓存服务器.

如果你运行 start server 命令从 gfsh 没有指定 member 名字,gfsh 会自动随机生成一个随机的 member 名字. 这对自动化操作非常有用.

在Pulse中观察变化(新成员[member]和服务器[server]).尝试扩展分布式系统图标,以图形方式查看定位器和缓存服务器.

Step5 创建一个复制的(replicated),持久(persistent)的region

在此步骤中,使用gfsh命令创建一个region.region是Geode集群的核心构建块,并提供了组织数据的方法.在此次练习中创建的region在集群成员之间复制数据(replicated),并利用持久性将数据保存到磁盘(persistent).参考Data Regions

  1. 创建一个被复制的持久的region:
gfsh>create region --name=regionA --type=REPLICATE_PERSISTENT
Member  | Status
------- | --------------------------------------
server1 | Region "/regionA" created on "server1"

注意该region被server1托管.

  1. 使用gfsh命令查看集群上的region列表
gfsh>list regions
List of regions
---------------
regionA
  1. 查看集群的成员列表.启动的定位器(locator)和缓存服务器(cache server)都在该列表中.
gfsh>list members
  Name       | Id
------------ | ---------------------------------------
Coordinator: | 192.0.2.0(locator1:3529:locator)<ec><v0>:59926
locator1     | 192.0.2.0(locator1:3529:locator)<ec><v0>:59926
server1      | 192.0.2.0(server1:3883)<v1>:65390
  1. 查看该region的详细信息:
gfsh>describe region --name=regionA
..........................................................
Name            : regionA
Data Policy     : persistent replicate
Hosting Members : server1

Non-Default Attributes Shared By Hosting Members

 Type  | Name | Value
------ | ---- | -----
Region | size | 0
  1. 在Pulse中,点击绿色的集群图标,查看刚刚添加的新成员和新regions.

Note: 保持此gfsh提示打开以供后续步骤使用.

Step6 操作region中数据,展示持久性

Apache Geode以键/值对形式对数据进行管理.在大多数应用程序中,Java程序添加,删除和修改存储的数据.同时也可以使用gfsh命令添加和检索数据.参考Data Commands.

  1. 运行put命令向region中添加数据.
gfsh>put --region=regionA --key="1" --value="one"
Result      : true
Key Class   : java.lang.String
Key         : 1
Value Class : java.lang.String
Old Value   : <NULL>

gfsh>put --region=regionA --key="2" --value="two"
Result      : true
Key Class   : java.lang.String
Key         : 2
Value Class : java.lang.String
Old Value   : <NULL>
  1. 查询region中数据.
gfsh>query --query="select * from /regionA"

Result     : true
startCount : 0
endCount   : 20
Rows       : 2

Result
------
two
one

注意到结果是刚刚使用put命令添加的两条数据条目(entries).
参考Data Entries.

  1. 关闭缓存服务器:
gfsh>stop server --name=server1
Stopping Cache Server running in /home/username/my_geode/server1 on ubuntu.local[40411] as server1...
Process ID: 3883
Log File: /home/username/my_geode/server1/server1.log
....
  1. 重新启动缓存服务器:
gfsh>start server --name=server1 --server-port=40411
  1. 再次查询region中数据,注意到数据仍然可用:
gfsh>query --query="select * from /regionA"

Result     : true
startCount : 0
endCount   : 20
Rows       : 2

Result
------
two
one

因为regionA有持久性,它将数据的副本写入磁盘.当托管regionA的服务器启动时,数据将被填充到高速缓存中.请注意,结果显示停止服务器之前使用put命令添加的两个数据条目的值.
参考Data Entries
参考Data Regions

Step7 检测副本(replication)的影响

在此步骤中,启动第二个缓存服务器.因为regionA是可复制的,所以该数据将在托管该区域的任何服务器上可用.

  1. 启动第二台服务器:
gfsh>start server --name=server2 --server-port=40412
  1. 运行describe region 命令,查看regionA的详细信息:
gfsh>describe region --name=regionA
..........................................................
Name            : regionA
Data Policy     : persistent replicate
Hosting Members : server1
                  server2

Non-Default Attributes Shared By Hosting Members

 Type  | Name | Value
------ | ---- | -----
Region | size | 2

请注意,不需要再为server2创建regionA.命令的输出显示regionA托管在server1和server2上.当gfsh启动服务器时,它会从群集配置服务请求配置,集群配置服务会将共享配置分发到加入群集的任何新服务器.

  1. 增加第三个数据条目:
gfsh>put --region=regionA --key="3" --value="three"
Result      : true
Key Class   : java.lang.String
Key         : 3
Value Class : java.lang.String
Old Value   : <NULL>
  1. 打开Pulse应用程序(在Web浏览器中)并观察集群拓扑.应该可以看到一个有两个服务器连接的定位器.单击"data"选项卡以查看有关regionA的信息.
  2. 关闭第一个缓存服务器:
gfsh>stop server --name=server1
Stopping Cache Server running in /home/username/my_geode/server1 on ubuntu.local[40411] as server1...
Process ID: 4064
Log File: /home/username/my_geode/server1/server1.log
....
  1. 在其余的缓存服务器中查询数据:
gfsh>query --query="select * from /regionA"

Result     : true
startCount : 0
endCount   : 20
Rows       : 3

Result
------
two
one
three

注意数据包含3个条目,包括你刚刚添加的那个.

  1. 添加第四个数据条目
gfsh>put --region=regionA --key="4" --value="four"
Result      : true
Key Class   : java.lang.String
Key         : 3
Value Class : java.lang.String
Old Value   : <NULL>

只有server2正在运行.因为数据被复制和持久化,所有数据仍然可用.但是新的数据条目当前仅在server2 上可用.

gfsh>describe region --name=regionA
..........................................................
Name            : regionA
Data Policy     : persistent replicate
Hosting Members : server2

Non-Default Attributes Shared By Hosting Members

 Type  | Name | Value
------ | ---- | -----
Region | size | 4
  1. 关闭Server2
gfsh>stop server --name=server2
Stopping Cache Server running in /home/username/my_geode/server2 on ubuntu.local[40412] as server2...
Process ID: 4185
Log File: /home/username/my_geode/server2/server2.log
.....

Step8 并行重启缓存服务器

在此步骤中,并行重新启动缓存服务器.由于数据是持久的,因此在服务器重新启动时数据可用.由于数据在多个服务器上存在副本,因此必须并行启动服务器,以便可以在启动之前同步其数据.

  1. 启动server1.因为regionA是复制和持久的,它需要同步其他服务器的数据才能启动,因此需要等待其他服务器启动:
gfsh>start server --name=server1 --server-port=40411
Starting a Geode Server in /home/username/my_geode/server1...
............................................................................
............................................................................

此时如果在server1.log日志文件中查找重新启动服务器的相关信息,将看到类似于以下内容的日志消息:

[info 2015/01/14 09:08:13.610 PST server1 <main> tid=0x1] Region /regionA has pot
entially stale data. It is waiting for another member to recover the latest data.
  My persistent id:

    DiskStore ID: 8e2d99a9-4725-47e6-800d-28a26e1d59b1
    Name: server1
    Location: /192.0.2.0:/home/username/my_geode/server1/.

  Members with potentially new data:
  [
    DiskStore ID: 2e91b003-8954-43f9-8ba9-3c5b0cdd4dfa
    Name: server2
    Location: /192.0.2.0:/home/username/my_geode/server2/.
  ]
  Use the "gfsh show missing-disk-stores" command to see all disk stores that
are being waited on by other members.
  1. 打开第2个终端窗口,切换到合适的工作目录(例如:my_geode),启动gfsh:
[username@localhost ~/my_geode]$ gfsh
    _________________________     __
   / _____/ ______/ ______/ /____/ /
  / /  __/ /___  /_____  / _____  /
 / /__/ / ____/  _____/ / /    / /
/______/_/      /______/_/    /_/    1.5

Monitor and Manage Geode
  1. 连接集群:
gfsh>connect --locator=localhost[10334]
Connecting to Locator at [host=localhost,port=10334] ..
Connecting to Manager at [host=ubuntu.local,port=1099] ..
Successfully connected to: [host=ubuntu.local,port=1099]

注意,特别是在/etc/hosts里的hostname跟/etc/sysconfig/network里的不一致时必需使用jmx-manager参数,而且格式最好是’IP地址[端口号]’

例如connect --jmx-manager=${locator_ip_address}

  1. 启动server2:
gfsh>start server --name=server2 --server-port=40412

当server2启动时,注意server1在第一个gfsh窗口中完成启动:

Server in /home/username/my_geode/server1 on ubuntu.local[40411] as server1 is currently online.
Process ID: 3402
Uptime: 1 minute 46 seconds
Geode Version: 1.5
Java Version: 1.8.0_121
Log File: /home/username/my_geode/server1/server1.log
JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.use-cluster-configuration=true
-XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true
-Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /home/username/Apache_Geode_Linux/lib/geode-core-1.0.0.jar:
/home/username/Apache_Geode_Linux/lib/geode-dependencies.jar
  1. 验证定位器和两个服务器在运行:
gfsh>list members
  Name       | Id
------------ | ---------------------------------------
Coordinator: | ubuntu(locator1:2813:locator)<ec><v0>:46644
locator1     | ubuntu(locator1:2813:locator)<ec><v0>:46644
server2      | ubuntu(server2:3992)<v8>:21507
server1      | ubuntu(server1:3402)<v7>:36532
  1. 查询以验证使用put命令添加的所有数据是否可用:
gfsh>query --query="select * from /regionA"

Result     : true
startCount : 0
endCount   : 20
Rows       : 5

Result
------
one
two
four
Three

NEXT_STEP_NAME : END
  1. 关闭server2
gfsh>stop server --dir=server2
Stopping Cache Server running in /home/username/my_geode/server2 on 192.0.2.0[40412] as server2...
Process ID: 3992
Log File: /home/username/my_geode/server2/server2.log
....
  1. 再次查询以验证使用put命令添加的所有数据是否可用:
gfsh>query --query="select * from /regionA"

Result     : true
startCount : 0
endCount   : 20
Rows       : 5

Result
------
one
two
four
Three

NEXT_STEP_NAME : END

Step 9 关闭包括定位器在内的整个系统

关闭集群有以下步骤:

  1. 在当前gfsh会话中,关闭集群:
gfsh>shutdown --include-locators=true

参见 shutdown.

  1. 出现提示时,键入"Y"以确认集群关闭.
As a lot of data in memory will be lost,including possibly events in queues,do you really want to shutdown the entire distributed system? (Y/n): Y
Shutdown is triggered

gfsh>
No longer connected to ubuntu.local[1099].
gfsh>
  1. 输入 exit 推出gfsh shell.

Geode服务运维疑难汇总

  • 关于启动定位器,指定JVM参数:
窗口启动(服务进程随窗口关闭):
start locator --name=locator203 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g

后台启动(服务永久存活):
gfsh start locator --name=locator203 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g 2>&1 &
  • 关于启动服务,指定配置文件与JVM参数:
窗口启动(服务进程随窗口关闭):
start server--name=server203 --dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g--J=-Xmn2g

后台启动(服务永久存活):
gfsh start server --name=server203 --dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g 2>&1 &
  • 关于数据区域的持久化:
复制区域:
  非持久:REPLICATE
  持久化:REPLICATE_PERSISTENT

分区区域:
  非持久:PARTITION
  持久化:PARTITION_PERSISTENT
  • 关于日志配置
必要属性(gemfire.properties):

#开启度量抓取
statistic-sampling-enabled=true

#抓取频率,单位为毫秒
statistic-sample-rate=1000

#文件存储路径
statistic-archive-file=statics.gfs

#单个文件大小,单位为M
archive-file-size-limit=100

#全体文件大小,单位为M
archive-disk-space-limit=1000

启动命令指定:
--dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties
  • 快速启动
编写脚本:startLocator.sh,./startServer.sh

编写过程,指定启动日志:
gfsh start locator --name=locator202 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g >startlocator.log 2>&1 &

gfsh start server --name=server202 --dir=/opt/geode-1.14.0/bin/server202 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g >startServer.log 2>&1 &

赋予权限:
  chmod +x startServer.sh
  chmod +x startLocator.sh

调用执行:
  ./startLocator.sh
  ./startServer.sh

附录:

常见术语

English 含义
JVM Java虚拟机,Java Virtual Machine
JDK Java Development Kit
IMDG In-Memory Data Grid,内存数据网格
GC Garbage Collector/Garbage Collect,JVM中的垃圾回收,或JVM中的垃圾回收器
Locator 集群中的管理节点,注册客户端和服务器成员,使双方能够互相发现,同时可以提供一定的负载均衡功能
server,server cache,cache server 集群中的数据节点,GemFire分布式系统的服务器节点
Node 均为GemFire集群的节点,一般指的是 CacheServer
Member 均为GemFire集群的节点,指的是 Locator 和 CacheServer
Client Cache 接入到GemFire分布式系统的客户端,负责管理本地缓存的生命周期
Region,data region Region是一个分布式系统之上的抽象概念。一个Region允许你在系统的多个VM中存储数据,不用考虑数据存在那个节点上。Region提供了一个map接口能透明地从合适的VM上获取数据。这个Region类扩展了java.util.Map接口,但是它也支持查询和事务
Replicated Region 一个Replicated Region保存着所有分区的数据拷贝
Partitioned Region Partitioned Regions只保存一部分分区的数据拷贝
GFSH,gfsh GemFire SHell,用于管理和监控GemFire的命令控制台
Redundant 副本,在GemFire中,Partitioned Region的副本数量范围为0-3个
Primary 主数据
Secondary 从数据
Network Partitions 网络分区,或网络脑裂,指的是一个网络因为网络硬件问题或者其他原因分裂编程两个小的网络
Overflow 数据溢出, 指的是把内存持久化到磁盘的操作
Eviction 数据逐出,指的是按照LRU算法, 把超出预设数据量,内存堆使用空间之外的数据,持久化到磁盘或者删除的操作
Expiration 数据过期或者Region过期,指的是按照预设的TTL(Time-To-Live)时间或者Idle Timeout时间,进行数据删除或者失效的操作
Peer-to-Peer 对等式, 指的是各个节点在集群内对等, 没有Locator节点
Client-to-Serve, Client/Server C/S式,指的是通过客户端连接到服务器端集群中, 一般服务器端集群中部署Locator节点
Multi-Site (WAN) 也叫WAN-Gateway,指的是多个集群隔离部署, 但是互相之间可以异步同步消息及数据变化。一般用于多活数据中心场景。
Write-Behind 指的是通过异步队列的方式,以高速批处理的方式, 在Geode/GemFire和其他数据存储之间进行数据更新信息的同步
AsyncEventListener 异步事件监听器, 用于处理异步事件队列
Delta Propagation 变化传播
OQL, Object-Query-Language 对象查询语言, Geode支持的一种对象关联查询语言, 只支持Select,不支持insert/update/delete
Continuous Querying, CQ 持续查询,指的是可以注册兴趣(register interests)的方式,对指定的 region 进行持续的关注,可以不断获得指定 region 数据变化情况的功能
Entry, Entries,data entry 每一个Key/Value对,简称为Entry
Function Geode中,类似于Map-reduce方式并行运行的计算功能,允许用户自定义
PDX, PortableDataExchange Geode自定义的高效,且可变结构的序列化方式
Geode Pulse Geode的监控页面, 基于HTML5, 建议使用Chrome或者FireFox浏览
cluster configuration service 集群配置服务,运行在 Locator 之上,用于管理集群中各节点配置情况的服务

处理丢失的磁盘存储

1. 显示丢失的磁盘存储

使用gfshshow missing-disk-stores命令列出了其他成员正在等待的所有带有最新数据的磁盘存储。

例子:


### Missing Disk Stores

           Disk Store ID             |      Host      | Directory
------------------------------------ | -------------- | -------------------------
9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.
4a83ec7f-d80c-460e-a315-01948bd4e396 | /192.168.68.20 | /opt/geode_work/server3/.
9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.
9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.



No missing colocated region found

原文地址:https://blog.csdn.net/wjw465150/article/details/126695161

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读752次。关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型(二维表模型)基础上,一般面向于记录SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作主流的关系数据库包括Oracle、Mysql、SQL Server、Microsoft Access、DB2等非关系型数据库NoSQL(nOSQL=Not Only SQL),意思是“不仅仅是SQL”,是非关系型数据库的总称。除了主流的关系型数据库外的数据库,都认为是非关系型主流的NoSQ.._redis是非关系型数据库吗
文章浏览阅读687次,点赞2次,收藏5次。商城系统中,抢购和秒杀是很常见的营销场景,在一定时间内有大量的用户访问商场下单,主要需要解决的问题有两个:1. 高并发对数据库产生的压力;2. 竞争状态下如何解决商品库存超卖;高并发对数据库产生的压力对于第一个问题,使用缓存来处理,避免直接操作数据库,例如使用 Redis。竞争状态下如何解决商品库存超卖对于第二个问题,需要重点说明。常规写法:查询出对应商品的库存,判断库存数量否大于 0,然后执行生成订单等操作,但是在判断库存是否大于 0 处,如果在高并发下就会有问题,导致库存_php库存结余并发
文章浏览阅读1.4k次。MongoTemplate开发spring-data-mongodb提供了MongoTemplate和MongoRepository两种方式访问MongoDB,MongoRepository的方式访问较为简单,MongoTemplate方式较为灵活,这两种方式在Java对于MongoDB的运用中相辅相成。_springboot插入指定的mongodb数据库
文章浏览阅读887次,点赞10次,收藏19次。1.背景介绍1. 背景介绍NoSQL数据库是一种非关系型数据库,它的特点是可以存储非结构化的数据,并且可以处理大量的数据。HBase是一个分布式、可扩展的列式存储系统,它是基于Google的Bigtable设计的。HBase是一个开源的NoSQL数据库,它的核心功能是提供高性能的随机读写访问。在本文中,我们将对比HBase与其他NoSQL数据库,例如Redis、MongoDB、Cass...
文章浏览阅读819次。MongoDB连接失败记录_edentialmechanisn-scram-sha-1
文章浏览阅读470次。mongodb抽取数据到ES,使用ELK内部插件无法获取数据,只能试试monstache抽取mongodb数据,但是monstache需要mongodb replica set 模式才能采集数据。############monstache-compose文件。#replicas set 启动服务。# 默认备份节点不能读写,可以设置。# mydb指的是需要同步的数据库。#登录主mongodb初始化rs。#primary 创建用户。# ip地址注意要修改。# ip地址注意要修改。_monstache csdn
文章浏览阅读913次,点赞4次,收藏5次。storage:fork: trueadmin登录切换数据库注意: use 代表创建并使用,当库中没有数据时默认不显示这个库删除数据库查看表清单> show tables # 或者 > show collections表创建db.createCollection('集合名称', [options])table1字段类型描述capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。_mongodb5
文章浏览阅读862次。Centos7.9设置MongoDB开机自启(超全教程,一条龙)_mongodb centos开机启动脚本
文章浏览阅读1.3k次,点赞6次,收藏21次。NoSQL数据库使用场景以及架构介绍
文章浏览阅读856次,点赞21次,收藏20次。1.背景介绍1. 背景介绍NoSQL数据库是一种非关系型数据库,它的设计目标是为了解决传统关系型数据库(如MySQL、Oracle等)在处理大量不结构化数据方面的不足。NoSQL数据库可以处理大量数据,具有高性能、高可扩展性和高可用性。但是,与关系型数据库不同,NoSQL数据库没有固定的模式,数据结构也不一定是表格。在NoSQL数据库中,数据存储和查询都是基于键值对、列族、图形等不同的...
文章浏览阅读416次。NoSQL定义:非关系型、分布式、开放源码和具有横向扩展能力的下一代数据库。由c++编写的开源、高性能、无模式的基于分布式文件存储的文档型数据库特点:高性能、高可用性、高扩展性、丰富的查询支持、可替换已完场文档某个指定的数据字段应用场景:社交场景:使用mongodb存储用户信息游戏场景:用户信息,装备积分物流场景:订单信息,订单状态场景操作特点:数据量大;读写操作频繁;价值较低的数据,对事物性要求不高开源、c语言编写、默认端口号6379、key-value形式存在,存储非结构化数据。_nosql
文章浏览阅读1.5k次,点赞3次,收藏2次。Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:110) at redis.clients.jedis.Connection.connect(Conne_redis.clients.jedis.exceptions.jedisconnectionexception: failed to create so
文章浏览阅读6.5k次,点赞3次,收藏12次。readAnyDatabase(在所有数据库上都有读取数据的权限)、readWriteAnyDatabase(在所有数据库上都有读写数据的权限)、userAdminAnyDatabase(在所有数据库上都有管理user的权限)、dbAdminAnyDatabase(管理所有数据库的权限);:clusterAdmin(管理机器的最高权限)、clusterManager(管理和监控集群的权限)、clusterMonitor(监控集群的权限)、hostManager( 管理Server);_mongodb创建用户密码并授权
文章浏览阅读593次。Redis是一个基于内存的键值型NoSQL数据库,在实际生产中有着非常广泛的用处_搭建本地redis
文章浏览阅读919次。Key 的最佳实践[业务名]:[数据名]:[id]足够简短:不超过 44 字节不包含特殊字符Value 的最佳实践:合理的拆分数据,拒绝 BigKey选择合适数据结构Hash 结构的 entry 数量不要超过 1000(默认是 500,如果达到上限则底层会使用哈希表而不是 ZipList,内存占用较多)设置合理的超时时间批量处理的方案:原生的 M 操作Pipeline 批处理注意事项:批处理时不建议一次携带太多命令。Pipeline 的多个命令之间不具备原子性。_redis高级实战
文章浏览阅读1.2k次。MongoDB 递归查询_mongodb数据库 递归
文章浏览阅读1.2k次。通过实际代码例子介绍:如何通过MongoTemplate和MongoRepository操作数据库数据_springboot操作mongodb
文章浏览阅读687次,点赞7次,收藏2次。首先欢迎大家阅读此文档,本文档主要分为三个模块分别是:Redis的介绍及安装、RedisDesktopManager可视化工具的安装、主从(哨兵)模式的配置。_redis 主从配置工具
文章浏览阅读764次。天下武功,无坚不摧,唯快不破!我的名字叫 Redis,全称是 Remote Dictionary Server。有人说,组 CP,除了要了解她外,还要给机会让她了解你。那么,作为开发工程师的你,是否愿意认真阅读此心法抓住机会来了解我,运用到你的系统中提升性能。我遵守 BSD 协议,由意大利人 Salvatore Sanfilippo 使用 C 语言编写的一个基于内存实现的键值型非关系(NoSQL)..._redis 7.2 源码
文章浏览阅读2k次。MongoDB 的增删改查【1】_mongodb $inc