ubantu16.04 部署 cassandra 设置用户名密码 及设置远程连接方式
如何在Ubuntu 16.04 LTS上安装Apache Cassandra 3.11.x
Apache Cassandra是一个免费的开源NoSQL数据库管理系统,旨在提供可伸缩性,高可用性和出色的性能。
在本文中,我将指导您在Ubuntu 16.04 LTS服务器实例上安装Apache Cassandra的最新稳定版本,Apache Cassandra 3.11.8。
先决条件
- 至少具有4GB内存的全新Vultr Ubuntu 16.04 LTS x64服务器实例。内存不足将导致Apache Cassandra异常退出。
- 一个sudo的用户。
- 服务器实例已更新为最新的稳定状态。
步骤1:安装OpenJDK JRE 8
Apache Cassandra需要Java 8的最新版本。为此,您可以选择安装OpenJDK JRE 1.8的最新版本,如下所示:
sudo apt install openjdk-8-jre -y
安装了OpenJDK JRE 1.8后,可以确认安装结果:
java -version
输出将类似于以下内容:
openjdk version "1.8.0_151"OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
(可选)您可以JAVA_HOME按以下方式创建环境变量:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profilesource /etc/profileecho $JAVA_HOME
步骤2:如果系统中缺少Python 2.7,请安装它
Apache Cassandra需要使用Python 2.7而不是Python3。如果在Python 3环境中操作Apache Cassandra,则可能无法启动cqlshApache Cassandra 的外壳。
首先,确定您计算机上Python的存在和版本:
python -V
在Ubuntu 16.04 LTS上,输出可能会有些混乱:
The program 'python' can be found in the following packages: * python-minimal * python3 Ask your administrator to install one of them
这实际上意味着您需要自己安装Python 2.7:
sudo apt install python -y
重新运行python -V命令,输出将变为:
Python 2.7.12
步骤3:安装Apache Cassandra的最新稳定版本
创建Apache Cassandra 3.11.x apt仓库:
echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.listcurl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add- sudo apt-get update
如果遇到GPG公钥错误,请运行以下命令以添加提到的Apache Cassandra公钥,A278B781FE4B2BDA在这种情况下:
sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key A278B781FE4B2BDAsudo apt-get update
使用新添加的存储apt库来安装Apache Cassandra:
sudo apt-get install cassandra
步骤4:测试Apache Cassandra的安装
启动Apache Cassandra守护程序:
sudo service cassandra start
如果要使Apache Cassandra在系统引导时自动启动,请运行以下命令:
sudo update-rc.d cassandra defaults
接下来,使用该nodetool程序显示当前节点上Apache Cassandra的状态:
nodetool status
输出将类似于以下内容:
Datacenter: datacenter1=======================Status=Up/Down |/ State=Normal/Leaving/Joining/Moving-- Address Load Tokens Owns (effective) Host ID RackUN 127.0.0.1 102.66 KiB 256 100.0% 23916cfd-892d-4898-857c-aff9efe2354a rack1
您可以使用该cqlshshell与Apache Cassandra进行交互:
cqlsh localhost
输出将类似于以下内容:
Connected to Test Cluster at localhost:9042.[cqlsh 5.0.1 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]Use HELP for help.cqlsh>
现在,只需键入exit然后按ENTER退出cqlsh shell。
如果要停止Apache Cassandra,请执行以下命令:
sudo service cassandra stop
2.设置用户名和密码:
1、首先修改配置文件 cassandra.yaml
把默bai认的authenticator: AllowAllAuthenticator运行所有人登录du设置为用密码登zhi录:
authenticator: PasswordAuthenticator
2、登录cassandra创建用户
使用默认账户登录cassandra
在bin目录下执行
./cqlsh -ucassandra -pcassandra
创建用户
1
CREATE USER root WITH PASSWORD 'root' SUPERUSER ;
3、使用新用户登录
删除默认帐号:
DROP USER cassandra ;
4、java使用用户名密码访问cassandra
Cluster cluster = Cluster.builder().addContactPoint("192.168.22.161").withCredentials("myusername", "mypassword").build();
3.配置远程连接
为了使我的工作,我做了以下工作。 cassandra.yaml中的更改:
start_rpc: true rpc_address: 0.0.0.0 可以连接到本服务的任何ip broadcast_rpc_address: 127.0.0.1 提供服务的ip
打开cassandra的配置文件:
vim /etc/cassandra/cassandra.yaml
修改文件信息如下:
start_rpc: true listen_address: 127.0.0.1rpc_address: 0.0.0.0broadcast_rpc_address: 127.0.0.1seed_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.SimpleSeedProviderparameters:# seeds is actually a comma-delimited list of addresses.# Ex: "<ip1>,<ip2>,<ip3>"- seeds: "127.0.0.1"
重启服务 :
sudo service cassandra restart
查看cassandra 是否能连接上
nodetool status
查看 cassandra 的运行状态
sudo service cassandra status
查看所有进程运行情况
ss -nltp
尝试连接你的服务器是否能够连接上
telnet ***.***.***.*** 9042
(注意:如果是你自己的虚拟机,需要将9042端口放开,如果买的华为云等,需要在云上在安全组中添加端口9042)
如果ok
就可以使用图形化管理工具连接了 (例如:tableplus)
接下来就愉快的玩耍cassadra数据库吧
--部署cassandra数据来源https://www.vultr.com/docs/how-to-install-apache-cassandra-3-11-x-on-ubuntu-16-04-lts
__EOF__

本文作者:chen shang feng
本文链接:https://www.cnblogs.com/csfl/p/13739508.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/csfl/p/13739508.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库