网站首页 > 技术文章 正文
本篇文章我将介绍使用 Homebrew 在 Mac OS X 本地安装 Cassandra
一. 如果未使用过Homebrew, 那么我们需要首访问 Homebrew 并安装
终端命令行中安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Java JDK
二. 安装 Java SDK
Cassandra 稳定版本仅支持 Oracle Java Standard Edition 8 或 OpenJDK 8,我们使用 brew 安装
终端命令行中输入
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
三. 安装 Python
为了使用 cqlsh 与 Cassandra 进行交互操作,需要安装 Python (版本要求 Python 2.7 或 Python 3.6+)
brew install python
四. 安装 cql 和 cassandra-driver
pip install cql
pip install cassandra-driver
五. 安装 Cassandra
brew install cassandra
如何在本地运行 Cassandra?
首先我们可以使用以下命令查看 Cassandra 的安装情况
brew info cassandra
如果 Dependencies 全都是?,说明我们依赖项全部安装。如果有 ? 那么我们需要安装相关依赖 例如 cython ? 我们需要 brew install cython。
全部依赖安装完毕后,我们就可以本地运行 cassandra 命令行输入
cassandra -f
如果出现以下错误,那么说明 Mac 中使用的默认 Java 版本,与 Cassandra 依赖不符合。
如何解决呢?
首先我们需要查看 java 默认版本
/usr/libexec/java_home -V
然后指定 JDK
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.251.08`
再次运行 Cassandra
cassandra -f
这样问题就可以解决了
然后打开另一个终端,运行 cqlsh
cqlsh
如果运行 cqlsh 出现以下错误
cqlsh
Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': OperationTimedOut('errors=Timed out creating connection (5 seconds), last_host=None',)})
说明 cassandra 未正常运行,由于 Cassandra 3 仅支持 Java 8, 而我们之前安装和使用过更高的 Java版本。我们需要将默认的 JAVA_HOME 设置为 Java 8,然后再次启动 cassandra -f
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.251.08`
cassandra -f
cqlsh
至此让我们头痛的 cassandra 运行报错和无法连接的情况解决了,我们成功的在Mac OS X 本地安装并运行 Cassandra 。
为自己加油吧[加油][礼物][撒花]
猜你喜欢
- 2024-10-01 Windows 系统下安装Java 22(统信系统下安装windows)
- 2024-10-01 Charles for Mac(HTTP协议抓包工具)v4.6.2b4注册激活版
- 2024-10-01 Mac安装Navicat(Mac安装anaconda)
- 2024-10-01 Mac中如何快速安装Jenkins(mac 安装jenkins)
- 2024-10-01 MacBook Java开发环境搭建记录(macbookair java开发)
- 2024-10-01 Mac 安装JDK 8、JDK 11、JDK 17 等多版本并存
- 2024-10-01 Mac Arm64 版本 java 11 SDK 提升SpringBoot 项目编译速度10秒 以上
- 2024-10-01 Mac通过Homebrew安装Python3(如何在mac上安装python 3.7版本)
- 2024-10-01 Mac安装多个版本JDK并实现灵活切换
- 2024-10-01 MacOS 系统中如何安装多个版本JDK并进行自由切换
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)