2019数据架构选型必读:1月数据库产品技术解析

2019数据架构选型必读:1月数据库产品技术解析,第1张

Cassandra属于最近比较流行的一款NoSQL数据库 中给NoSQL的定义如下:

下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。所以我们将这种类型的数据库称为NoSQL(不仅仅是SQL,全称为“not only sql”)。

下面我们一起来看看如果分别在Windows和Linux环境下安装和部署Cassandra。

在WINDOWS上单机运行CASSANDRA

大多数人使用的OS都是Windows,所以如果只是想简单地测试一下Cassandra,我们可以直接在安装好JDK16的Windows系统上安装Cassandra,并进行简单的测试。

1 下载Cassandra

下载即可。目前最新的beta版本是060 b3,但是我们安装使用的最新的Release版本051。

2 安装Cassandra

将下载的压缩包解压,假设解压的位置是D:\apache-cassandra-051。

1 修改conf目录下的log4jproperties文件:

log4jappenderRFile=D:\apache-cassandra-051\logs

2 修改conf目录下的storage-confxml文件:

<CommitLogDirectory>D:\apache-cassandra-051\commitlog</CommitLogDirectory>

<DataFileDirectories>

<DataFileDirectory>D:\apache-cassandra-051\data</DataFileDirectory>

</DataFileDirectories>

<CalloutLocation>D:\apache-cassandra-051\callouts</CalloutLocation>

<StagingFileDirectory>D:\apache-cassandra-051\staging</StagingFileDirectory>

3 设置系统的环境变量:

CASSANDRA_HOME=D:\apache-cassandra-051

3 启动Cassandra

运行bin目录下的cassandrabat。如果看到:INFO - Starting up server gossip,那么恭喜你,Cassandra已经在你的本机启动起来了。

4 使用命令行进行简单的测试

运行bin目录下的cassandra-clibat。输入:connect localhost 9160,连接成功后可以看到下面的提示。

cassandra> connect localhost 9160

line 1:18 missing SLASH at '9160'

Connected to localhost/9160

然后,我们可以参考READMEtxt文件中提供的范例进行测试:

cassandra> set Keyspace1Standard1['jsmith']['first'] = 'John'

Value inserted

cassandra> set Keyspace1Standard1['jsmith']['last'] = 'Smith'

Value inserted

cassandra> set Keyspace1Standard1['jsmith']['age'] = '42'

Value inserted

cassandra> get Keyspace1Standard1['jsmith']

(column=age, value=42; timestamp=1249930062801)

(column=first, value=John; timestamp=1249930053103)

(column=last, value=Smith; timestamp=1249930058345)

Returned 3 rows

cassandra>

你也可以根据这篇文章《谈谈Cassandra的客户端》中的内容测试一下如何使用Java编写简单的程序和Cassandra交互。

在LINUX上运行CASSANDRA集群

如果需要真正在生产环境中使用Cassandra,我们需要搭建一个Cassandra集群,这样才能真正发挥出它作为NoSQL数据所应该具备的特性。

在Linux部署Cassandra的步骤基本与Windows上部署的类似,我们需要在每一台机器上安装JDK16,然后下载Cassandra,并修改log4jproperties和storage-confxml的配置文件和设置环境变量。不同的是,我们需要在storage-confxml文件中配置集群的信息:

1 配置集群

1 配置集群节点信息

<Seeds>

<Seed>hadoop2</Seed>

<Seed>hadoop3</Seed>

<Seed>hadoop4</Seed>

<Seed>hadoop5</Seed>

<Seed>hadoop6</Seed>

<Seed>hadoop7</Seed>

<Seed>hadoop8</Seed>

<Seed>hadoop9</Seed>

<Seed>hadoop10</Seed>

</Seeds>

2 配置集群节点之间交互的监听地址

直接留空即可:

<ListenAddress></ListenAddress>

3 配置Thrift Server监听的地址

直接留空即可:

<ThriftAddress></ThriftAddress>

4 配置集群的名称

每一个集群的名称都应该是不用的

<ClusterName>gpcustercnblogscom</ClusterName>

5 开启节点自动加入集群的功能

<AutoBootstrap>true</AutoBootstrap>

6 配置数据的备份数

<ReplicationFactor>3</ReplicationFactor>

7 调节Memory和Disk的性能

需要根据实际的情况来配置,可以参考Wiki。

2 运行Cassandra

在每一台节点上,运行bin/cassandra。如果看到:INFO - Starting up server gossip,说明启动成功。

很多人都在知道,计算机行业的发展是非常迅速的,软件开发人员想要跟上时代的发展,最重要的就是不断挑战自己。在学习软件开发的过程,前期学习的知识是远远不够的,需要了解更多的知识,并且挑战更多的复杂性。

现在学习Java语言不能忽略工具和框架的使用,工具和框架的构建越来越复杂。很多人不知道学习工具和框架有什么用?下面昆明电脑培训为大家具体了解Java开发应该了解的大数据工具和框架。

一、MongoDB

这是一种最受欢迎的,跨平台的,面向文档的数据库。

MongoDB的核心优势是灵活的文档模型,高可用性复制集和可扩展的碎片集群。云南java培训建议可以尝试以多种方式了解MongoDB,例如MongoDB工具的实时监控,内存使用和页面错误,连接,数据库 *** 作,复制集等。

二、Elasticsearch

主要是能够为云构建的分布式RESTful搜索引擎。

Elasticsearch主要是使用在Lucene之中的服务器,能够进行分布式多用户能力的全文搜索引擎,并且还是使用在Java的开发中,这是现在很多企业中使用最流行的搜索引擎。ElasticSearch不仅是一个全文搜索引擎,而且是一个分布式实时文档存储,每个字段都能够被索引并且可以被搜索。它也是一个具有实时分析功能的分布式搜索引擎,java课程发现它还可以扩展到数百个服务器存储和处理数PB的数据。

三、Cassandra

这是一个开源的分布式数据库管理系统,最初由Facebook开发,用于处理许多商用服务器上的大量数据,提供高可用性而无单点故障。

ApacheCassandra是一套开源分布式NoSQL数据库系统。集GoogleBigTable的数据模型与AmazonDynamo的完全分布式架构于一身。于2008开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等Web20网站所采纳,成为了一种流行的分布式结构化数据存储方案。

四、Redis

开源(BSD许可证)内存数据结构存储,用作数据库,缓存和消息代理。

Redis是一个开源的,基于日志的Key-Value数据库,用ANSIC编写,支持网络,可以基于内存持久化,并提供多种语言的API。Redis有三个主要功能,云南IT培训认为可以将它与许多其他竞争对手区分开来:Redis是一个将数据完全存储在内存中的数据库,仅使用磁盘用于持久性目的。

如何使用cassandra-cluster-admin 管理数据库

怎么将 文件参数 传递 到 job中呢?

在 client 我们调用了FileInputFormataddInputPath(job, new Path(otherArgs[0]));

实际上 addInputPath 做了以下的事情(将文件路径加载到了conf中)

public static void addInputPath(Job job,

Path path) throws IOException {

Configuration conf = jobgetConfiguration();

path = pathgetFileSystem(conf)makeQualified(path);

String dirStr = StringUtilsescapeString(pathtoString());

String dirs = confget(INPUT_DIR);

confset(INPUT_DIR, dirs == null dirStr : dirs + "," + dirStr);

}

以上就是关于2019数据架构选型必读:1月数据库产品技术解析全部的内容,包括:2019数据架构选型必读:1月数据库产品技术解析、spring cloud的项目,怎么同时连接两个数据库,一个mysql,一个Cassandra,从mysql中读出来,写进Cassandra、如何安装和配置Cassandra等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9475350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存