欢迎投稿

今日深度:

thingsboard推荐的数据库Cassandra常见问题及解决办法,

thingsboard推荐的数据库Cassandra常见问题及解决办法,


thingsboard是个开源的物联网项目,开发团队推荐使用Cassandra数据库,好处很多,比如分布式部署等等,坏处也很多 -QeQ-

比如安装以后,运行thingsboard的时候每次都得删除表空间,不然不会去除历史数据及一些项目初始化的数据,接下来我总结一下我遇到的一些问题及解决办法

 

1、每次更新thingsboard构建源码以后,启动项目后页面显示的还是原先的数据,以前的一些仪表板及部件库等等都没有改变

     原因:thingsboard初始化时将默认的json部件库及仪表板还有一些默认管理员sysadmin及规则链全部保存到数据库中,若不清除Cassandra数据库中的thingsboard表空间,则不会重新创建新的数据

     解决办法:1)、删除表空间:打开cql操作窗口,输入命令删除表空间命令:drop keyspace thingsboard ,删除过程中会出现超时异常,不用管,等过一段时间重新执行删除命令时,会提示已经删除,或者表空间不存在

                       2)、重新安装打包后的thingsboard,选择数据库为Cassandra,然后运行热部署模式或者启动thingsboard服务,这样所显示的数据都是全新的了

    Cassandra常用表空间相关命令:

                      1)、查看所有表空间:describe keyspaces;

                      2)、查看特定表空间内容:describe keyspace thingsboard;

                      3)、删除表空间:drop keyspace thingsboard;

2、Cassandra数据库请求超时解决办法:
修改安装目录下的\apache-cassandra\conf\目录下的cqlshrc.sample文件,替换其中的:request_timeout = 6000

3、Cassandra数据库备份及数据迁移,以下命令都在cql下执行:

       1)、导出数据的示例:
                cqlsh> COPY airplanes (name, mach, year, manufacturer) TO 'export.csv' ;
       2)、导入数据的示例:
                cqlsh> COPY airplanes (name, mach, year, manufacturer) FROM 'import.csv' ;

     其中airplanes为表名,后面带的是参数(需要拷出来的参数列表),最后的“export.csv”为最终导出的文件

4、Cassandra数据导入报错处理方法:
     报错内容:field larger than field limit (131072),  given up after 1 attempts
     处理办法:

          1)、修改Cassandra安装目录底下\apache-cassandra\bin\中的文件cqlsh.py:
            在“UTF8 = 'utf-8'”后添加一行“csv.field_size_limit(sys.maxsize)”
          2)、修改Cassandra安装目录底下\apache-cassandra\conf\中的文件cassandra.yaml:
            修改“batch_size_fail_threshold_in_kb”的值为500
          3)、修改导入语句:
            在语句后面添加参数“ WITH MAXBATCHSIZE = 1 and MINBATCHSIZE = 1;”

            如:cqlsh> COPY airplanes (name, mach, year, manufacturer) FROM 'import.csv' WITH MAXBATCHSIZE = 1 and MINBATCHSIZE = 1;

5、Cassandra数据库服务器开启远程连接:

       1)、修改服务器Cassandra配置文件:

         vim cassandra.yaml

       2)、修改内容如下:

1

start_rpc: true

1

listen_address: 192.168.200.224

1

rpc_address: 0.0.0.0

1

2

3

4

5

6

7

8

9

10

broadcast_rpc_address: 192.168.200.224 seed_provider:

    # Addresses of hosts that are deemed contact points.

    # Cassandra nodes use this list of hosts to find each other and learn

    # the topology of the ring.  You must change this if you are running

    # multiple nodes!

    - class_name: org.apache.cassandra.locator.SimpleSeedProvider

      parameters:

          # seeds is actually a comma-delimited list of addresses.

          # Ex: "<ip1>,<ip2>,<ip3>"

          - seeds: "192.168.56.110"

 

     3)、重启Cassandra

 

下班啦emmmmmmmmm!!!!改天再写别的文档吧,有遇到问题的小伙伴可以一起讨论进步哈~~~

 

www.htsjk.Com true http://www.htsjk.com/cassandra/31690.html NewsArticle thingsboard推荐的数据库Cassandra常见问题及解决办法, thingsboard是个开源的物联网项目,开发团队推荐使用Cassandra数据库,好处很多,比如分布式部署等等,坏处也很多 -QeQ- 比如安装以后...
相关文章
    暂无相关文章
评论暂时关闭