当前位置: 首页 > 工具软件 > kairosdb > 使用案例 >

安装cassandra作为kairosdb的数据存储

孔君浩
2023-12-01

前面我们使用了默认的H2(基于java的轻量级的关系型数据库)数据库作为kairosdb的存储,这个是默认设置,主要用于开发阶段,在实际的生产环境中,我们会采用cassandra或者HBase,HBase的存储的时间粒度是秒,而cassandra的时间粒度是毫秒。使用kairosdb作为监控,存储一般选择cassandra。

接下来我们将kairosdb的存储修改成cassandra。

步骤一:

下载最新的cassandra的包,我使用的是apache-cassandra-2.2.6-bin.tar.gz这个包,官网下载地址:http://cassandra.apache.org/download/,目前最新的是3.5;

或者在虚拟机中使用命令:

# wget   http://www.apache.org/dyn/closer.lua/cassandra/2.2.6/apache-cassandra-2.2.6-bin.tar.gz

解压

# tar zxvf  apache-cassandra-2.2.6-bin.tar.gz

进入

# cd apache-cassandra-2.2.6/conf

编辑cassandra.yaml

# vim cassandra.yaml中的部分值

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: "10.20.0.10"
listen_address: 10.20.0.10
start_native_transport: true
native_transport_port: 9042
start_rpc: true #建议目前打开,因为在kairosdb中需要配置这个地址,如果不打开,会报错说XXXX:9160打不开
rpc_address: 10.20.0.10
以上是需要注意的地方IP换成你的虚拟机的IP地址即可。一般保持默认值就行了。

保存即可

进入

# cd apache-cassandra-2.2.6/bin

使用下面命令打开服务

# ./cassandra -f
-f 表示在前台显示服务开启的整个过程。

显示如下内容标识启动成功

INFO  17:27:54 Starting listening for CQL clients on /10.20.0.10:9042...
INFO  17:27:54 Binding thrift service to /10.20.0.10:9160
INFO  17:27:54 Listening for thrift clients...
注:按ctr + c键就可以停止服务。

步骤二:

安装好cassandra之后,下面我们需要去修改kairosdb中的配置文件。

打开kairosdb的目录,进入conf文件夹中

# cd kairosdb/conf

编辑 kairosdb.properties中部分属性值

# vim kairosdb.properties

#kairosdb.service.datastore=org.kairosdb.datastore.h2.H2Module
kairosdb.datastore.concurrentQueryThreads=5
kairosdb.service.datastore=org.kairosdb.datastore.cassandra.CassandraModule
#kairosdb.service.datastore=org.kairosdb.datastore.remote.RemoteModule
#Cassandra properties
#host list is in the form> 1.1.1.1:9160,1.1.1.2:9160
kairosdb.datastore.cassandra.host_list=10.20.0.10:9160
kairosdb.datastore.cassandra.keyspace=kairosdb
kairosdb.datastore.cassandra.replication_factor=1
kairosdb.datastore.cassandra.write_delay=1000
kairosdb.datastore.cassandra.write_buffer_max_size=500000
#When reading one row read in 10k
kairosdb.datastore.cassandra.single_row_read_size=10240

特别注意红色部分,将ip改成你虚拟机的ip即可,一般保持默认值也可以,但是为了考虑后期的部署,建议改成虚拟机的ip。

保存即可。

进入

# kairosdb/bin

执行下面命令

# ./kairosdb.sh run 

使用run是在前台显示服务执行过程,使用start是在后台执行,使用stop是关闭服务。

看到下面的结果就表示启动成功。

13:43:20.298 [main] INFO  [Main.java:306] - ------------------------------------------
13:43:20.298 [main] INFO  [Main.java:307] -      KairosDB service started
13:43:20.298 [main] INFO  [Main.java:308] - -----------------------------------------
如何是第一次启动kairosdb的服务,cassandra的启动界面上会看到,他在初始化建立三张表,分别为:data_points,row_key_index,string_index。

这三张表就为kairosdb生成的表。

注解:就是kairosdb中配置文件中kairosdb.datastore.cassandra.host_list=10.20.0.10:9160 指定了数据表由谁来建立以及数据存储提交给哪个服务。


以上就是整个过程了。

 类似资料: