window Cassandra环境搭建

本文档详细介绍了在Windows环境下安装Apache Cassandra 3.11.12的步骤,包括下载、解压、配置环境变量、解决运行时错误(如JDK版本不兼容)、使用nodetool检查服务状态,以及解决cqlsh运行时的Python依赖问题。此外,还展示了如何通过Bee这个ORM工具进行数据操作。最后,文章提供了一些Bee的使用示例,强调其易用性和高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载

https://www.apache.org/dyn/closer.lua/cassandra/3.11.12/apache-cassandra-3.11.12-bin.tar.gz

二、解压,并配置环境变量

三、运行cassandra.bat

直接点击cassandra.bat运行,若出现屏幕一闪而过,则表示有错误。

开一个dos窗口,再运行:cassandra.bat

若出现以下问题,则表示要JDK1.8以上。


D:\JavaWeb\apache-cassandra-3.11.12\bin>cassandra.bat
WARNING! Powershell script execution unavailable.
   Please use 'powershell Set-ExecutionPolicy Unrestricted'
   on this user-account to run cassandra with fully featured
   functionality on this platform.
Starting with legacy startup options
Starting Cassandra Server
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/ca
ssandra/service/CassandraDaemon : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)


D:\JavaWeb\apache-cassandra-3.11.12\bin>

可用: set JAVA_HOME=D:\JavaWeb\Java\jdk1.8.0_301

临时设置JAVA_HOME变量。然后再重新运行:cassandra.bat

运行后:

四、用nodetool工具确认Cassandra已经启动

运行nodetool.bat求(也要用jdk8)

 看到,表示成功。

 五、测试

运行cqlsh.bat, 报错,检测不到Python.

D:\JavaWeb\apache-cassandra-3.11.12\bin>cqlsh.bat
Can't detect Python version!

要先安装Python2.

下载地址:

https://www.python.org/download/releases/2.7/

安装步骤参考:

https://blog.youkuaiyun.com/liangkaiping0525/article/details/80686266


D:\JavaWeb\apache-cassandra-3.11.12\pylib>python2 setup.py install
Traceback (most recent call last):
  File "setup.py", line 33, in <module>
    ext_modules=get_extensions(),
  File "setup.py", line 26, in get_extensions
    from Cython.Build import cythonize
ImportError: No module named Cython.Build

D:\JavaWeb\apache-cassandra-3.11.12\pylib>python2 -m cqlsh
D:\JavaWeb\Python27\python2.exe: No module named cqlsh

D:\JavaWeb\apache-cassandra-3.11.12\pylib>cd ..

D:\JavaWeb\apache-cassandra-3.11.12>cd ./bin

D:\JavaWeb\apache-cassandra-3.11.12\bin>python2 -m cqlsh

WARNING: console codepage must be set to cp65001 to support utf-8 encoding on Wi
ndows platforms.
If you experience encoding problems, change your console codepage with 'chcp 650
01' before starting cqlsh.

Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.12 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
WARNING: pyreadline dependency missing.  Install to enable tab completion.
cqlsh> CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION = { 'class' : 'Simpl
eStrategy', 'replication_factor' : '1' };
cqlsh> CREATE TABLE IF NOT EXISTS store.shopping_cart (
   ... userid text PRIMARY KEY,
   ... item_count int,
   ... last_update_timestamp timestamp
   ... );
cqlsh> INSERT INTO store.shopping_cart
   ... (userid, item_count, last_update_timestamp)
   ... VALUES ('9876', 2, toTimeStamp(now()));
cqlsh> INSERT INTO store.shopping_cart
   ... (userid, item_count, last_update_timestamp)
   ... VALUES ('1234', 5, toTimeStamp(now()));
cqlsh> SELECT * FROM store.shopping_cart;

 userid | item_count | last_update_timestamp
--------+------------+---------------------------------
   1234 |          5 | 2022-03-12 04:57:08.790000+0000
   9876 |          2 | 2022-03-12 04:57:07.482000+0000

(2 rows)
cqlsh>  INSERT INTO store.shopping_cart (userid, item_count) VALUES ('4567', 20)
;
cqlsh>  INSERT INTO store.shopping_cart (userid, item_count) VALUES ('4567', 20)
;
cqlsh> SELECT * FROM store.shopping_cart;

 userid | item_count | last_update_timestamp
--------+------------+---------------------------------
   4567 |         20 |                            null
   1234 |          5 | 2022-03-12 04:57:08.790000+0000
   9876 |          2 | 2022-03-12 04:57:07.482000+0000

(3 rows)
cqlsh>

以后:再次登录:

环境搭建完成后,就可以用ORM 工具Bee查询数据了.

		NameTranslateHandle.setSchemaName("store");
		Suid suid=BF.getSuid();
		List<ShoppingCart> list2=suid.select(new ShoppingCart());
		Printer.printList(list2);

就4行Java代码,就是如此简单!

详细步骤参考:https://blog.youkuaiyun.com/abckingaa/article/details/123553811

Bee,互联网新时代的Java ORM工具,更快、更简单、更自动,开发速度快,运行快,更智能!

Bee让程序员/软件工程师,从手工编码中解放出来,Bee更适合智能软件制造时代!

十分钟即可入门!

立志做最懂用户的软件!

### 如何搭建数字孪生可视化平台 #### 技术栈概述 数字孪生可视化平台的搭建涉及多个技术领域,主要包括前端渲染引擎、后端数据处理框架、数据库管理系统以及通信协议的支持。以下是具体的技术栈分类及其功能描述: 1. **前端渲染引擎** 前端渲染引擎负责将三维模型和实时数据分析结果呈现给用户。常用的渲染引擎包括 Three.js 和 Babylon.js,它们能够高效地处理复杂的几何图形并支持多种材质效果[^5]。 2. **后端数据处理框架** 后端需要强大的计算能力来支撑海量数据流的传输与分析。推荐使用 Node.js 或 Python 的 Flask/Django 框架作为基础架构,配合消息队列(如 RabbitMQ 或 Kafka),可以有效提升异步任务执行效率[^3]。 3. **数据库管理系统** 数据库用于存储静态资产信息(如建筑物结构参数)、动态运行状态记录以及其他关联元数据。针对不同类型的资料可以选择关系型数据库 MySQL/PostgreSQL 存放结构化表格;而对于非结构化的影像素材,则更适合采用 NoSQL 解决方案 MongoDB/Cassandra 来管理大容量二进制对象。 4. **通信协议支持** 实现客户端和服务端之间的稳定通讯至关重要。WebSocket 是一种双向全双工信道标准,在低延迟需求下表现优异,非常适合应用于需频繁更新界面内容场合下的交互操作。 #### 架构设计要点 - **分层架构**: 将整个系统划分为表示层(Visualization Layer),业务逻辑层(Business Logic Layer)及持久化层(Persistence Layer), 明确职责边界有助于后期扩展维护. - **微服务化部署**: 对于复杂度较高的大型应用而言, 微服务体系允许独立开发测试各个模块而不影响整体稳定性. - **容器编排工具利用**: Docker 容器加 Kubernetes 集群调度可极大简化环境一致性难题的同时提高资源利用率. ```javascript // 示例代码展示如何初始化Three.js场景 const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); function animate() { requestAnimationFrame(animate); // 更新相机位置或其他动画逻辑 renderer.render(scene, camera); } animate(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值