• NOSQL数据库使用存储卷


    创建存储卷容器

    docker run -d  --volume /var/lib/cassandra/data --name cass-shared alpine echo Data Container
    

    容器创建后将立即停止,我们会在创建运行新的Cassandra 新容器时,使用这个存储卷。

    docker run -d --volumes-from cass-shared --name cass1 cassandra:2.2
    

    接下来从cassandra:2.2镜像中启动容器,运行Cassandra客户端工具,并连接正在进行运行的服务器:

    docker run -it --rm --link cass1:cass cassandra:2.2 cqlsh cass
    

    终端返回界面:

    Connected to Test Cluster at cass:9042.
    [cqlsh 5.0.1 | Cassandra 2.2.10 | CQL spec 3.3.1 | Native protocol v4]
    Use HELP for help.
    cqlsh> 
    

    现在,我们可以用CQLSH命令行检查或修改Cassandra数据库。
    首先查找一个名为docker_hello_world 的 键空间:

    cqlsh> select * 
    ... from system.schema_keyspaces 
    ... where keyspace_name = 'docker_hello_world';
    

    查询结果:

     keyspace_name | durable_writes | strategy_class | strategy_options
    ---------------+----------------+----------------+------------------
    (0 rows)
    

    Cassadra 返回一个空列表。

    接下来用以下命令创建键空间:

    cqlsh> create KEYSPACE docker_hello_world
    ... with replication = {
    ... 'class' : 'SimpleStrategy',
    ... 'replication_factor': 1
    ... };
    
    cqlsh> select *
    ... FROM system.schema_keyspaces 
    ... where keyspace_name = 'docker_hello_world';
    

    显示结果:

     keyspace_name      | durable_writes | strategy_class                              | strategy_options
     --------------------+----------------+---------------------------------------------+----------------------------
    docker_hello_world |           True | org.apache.cassandra.locator.SimpleStrategy | {"replication_factor":"1"}
    
    (1 rows)
    

    执行命令行 quit 退出CQLSH程序并停止客户端容器

    cqlsh> quit   #Leave and stop the crurrent container
    

    通过停止和去除所创建的Cassandra 节点, 清理该示例的第一部分

     docker stop cass1
     docker rm -vf cass1
    

    创建一个新的Cassandra 节点,连接客户端,并查询键空间。

    docker run -d --volumes-from cass-shared --name cass2 cassandra:2.2
    docker run -it --rm --link cass2:cass cassandra:2.2 cqlsh cass
    select *
    from system.schema_keyspaces
    where keyspace_name = 'docker_hello_world';
    

    效果如下图:
    ![效果图](./Screenshot from 2017-09-04 13-33-37.png)
    最后一个命令返回单个条目,将会和你前面一个容器中创建的键空间相匹配,这证实了存储卷可以被用于创建持久化的系统。
    先退出CALSH程序并清理工作区。确保删除该存储容器:

    quit
    docker rm -vf cass2 cass-shared
  • 相关阅读:
    到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
    陀螺仪、加速计和磁力计
    UIImage加载图片的方式以及Images.xcassets对于加载方法的影响
    Java-Jdbc
    3.1 基本数据类型
    第三章 数据类型和变量
    2.2.4 给java应用打包
    2.2.3 运行java程序
    2.2.2 编译java源文件
    2.2.1 jdk简介
  • 原文地址:https://www.cnblogs.com/Ethan2lee/p/7473180.html
Copyright © 2020-2023  润新知