技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页cassandra>正文
Linux下Cassandra单节点安装部署
2023年06月13日 cassandra 暂无评论 ⁄ 被围观 3,230次+

Cassandra简介:Cassandra是一套开源分布式NoSQL数据库系统。

Cassandra官方网站:http://cassandra.apache.org/

下载地址:

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

https://dlcdn.apache.org/cassandra/4.1.2/apache-cassandra-4.1.2-bin.tar.gz

1、防火墙配置

开启tcp9042端口,Cassandra的默认端口

CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1.1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

1.2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9042 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

2、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

3、Cassandra依赖java,需要先安装jdk-1.8环境

下载openjdk:https://adoptium.net/zh-CN/temurin/releases

上传OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz到/data/soft目录下

安装JDK

#创建jdk安装路径

mkdir -p /data/server/java

#解压

tar -zxvf /data/soft/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz -C /data/server/java

#进入安装目录

cd /data/server/java/jdk8u362-b09

#查看版本信息

./bin/java -version

openjdk version "1.8.0_362"

OpenJDK Runtime Environment (Temurin)(build 1.8.0_362-b09)

OpenJDK 64-Bit Server VM (Temurin)(build 25.362-b09, mixed mode)

#设置环境变量

vi /etc/profile #添加下面的信息

#set java environment

JAVA_HOME=/data/server/java/jdk8u362-b09

JRE_HOME=$JAVA_HOME/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

:wq! #保存退出

#让修改立即生效

source /etc/profile

#查看版本信息

java -version

[root@pgsql-master]# java -version

openjdk version "1.8.0_362"

OpenJDK Runtime Environment (Temurin)(build 1.8.0_362-b09)

OpenJDK 64-Bit Server VM (Temurin)(build 25.362-b09, mixed mode)

#其他版本的jdk安装方法相同

4、Cassandra需要python3才能正常运行

yum install python3 #安装python3

5、创建cassandra运行账号

cassandra进程不能以root用户启动,需要新建普通账号

#创建非特权用户并以该用户身份运行 Cassandra

sudo useradd -m cassandra #创建用户

sudo passwd cassandra #设置密码

6、安装cassandra

上传安装包到/data/soft目录

#新建安装目录

mkdir -p /data/server/cassandra

#解压安装包到安装目录

cd /data/soft

tar -zxvf /data/soft/apache-cassandra-4.1.2-bin.tar.gz -C /data/server/cassandra --strip-components 1

#配置环境变量

vi /etc/profile

#set cassandra environment

export CASSANDRA_HOME=/data/server/cassandra

export PATH=$PATH:$CASSANDRA_HOME/bin

:wq! #保存退出

source /etc/profile #使配置立即生效

#设置目录权限

sudo chown -R cassandra:cassandra /data/server/cassandra

sudo chmod 755 -R /data/server/cassandra

#切换到cassandra用户

su - cassandra

7、编辑配置文件

cp /data/server/cassandra/conf/cassandra.yaml /data/server/cassandra/conf/cassandra.yaml.bak

vi /data/server/cassandra/conf/cassandra.yaml

authenticator: PasswordAuthenticator #启用用户名和密码验证

authorizer: CassandraAuthorizer

listen_address: 192.168.21.100 #用于监听客户端请求的地址

rpc_address: 0.0.0.0 #用于接受远程过程调用(RPC)请求的地址

broadcast_rpc_address: 192.168.21.100 #定节点之间进行远程过程调用(RPC)通信时使用的广播地址

- seeds: "192.168.21.100,127.0.0.1" #种子节点的地址

native_transport_max_concurrent_connections: -1   #最大连接数,默认是-1没有限制

:wq! #保存退出

/data/server/cassandra/bin/cassandra  #启动 Cassandra 服务

#测试cassandra服务

telnet 127.0.0.1 9042

telnet locahost 9042

telnet 192.168.21.100 9042

#进入控制台

cd /data/server/cassandra/bin

./cqlsh -u cassandra -p cassandra

./cqlsh 127.0.0.1 -u cassandra -p cassandra

./cqlsh localhost -u cassandra -p cassandra

./cqlsh 192.168.21.100 -u cassandra -p cassandra

exit #退出控制台

/data/server/cassandra/bin/nodetool stopdaemon #停止 Cassandra 服务

8、添加cassandra启动脚本

vi /data/server/cassandra/cassandra.sh

#!/bin/bash

# Cassandra 安装路径

CASSANDRA_HOME=/data/server/cassandra

start() {

# 启动 Cassandra

$CASSANDRA_HOME/bin/cassandra -R

echo "Cassandra started."

}

stop() {

# 停止 Cassandra

$CASSANDRA_HOME/bin/nodetool stopdaemon

echo "Cassandra stopped."

}

status() {

# 查看 Cassandra 状态

$CASSANDRA_HOME/bin/nodetool status

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status

;;

*)

echo "Usage: $0 {start|stop|restart|status}"

exit 1

;;

esac

:wq! #保存退出

#添加执行权限

chmod +x /data/server/cassandra/cassandra.sh

#启动 Cassandra

/data/server/cassandra/cassandra.sh start

#关闭 Cassandra

/data/server/cassandra/cassandra.sh stop

#重启 Cassandra

/data/server/cassandra/cassandra.sh restart

#查看 Cassandra 状态

/data/server/cassandra/cassandra.sh status

9、修改cassandra默认账号登录密码、创建新账号

#登录控制台,默认账号和密码都是cassandra

cd /data/server/cassandra/bin

./cqlsh -u cassandra -p cassandra

#修改默认用户密码

ALTER USER cassandra WITH PASSWORD '123456';

#创建用户,一个是超级管理员权限superuser,一种是普通账号nosuperuser

CREATE USER myuser WITH PASSWORD '123456' NOSUPERUSER ;

exit #退出

cd /data/server/cassandra/bin

./cqlsh -u myuser -p 123456

#创建键空间

CREATE KEYSPACE myuser_workbench WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1} AND DURABLE_WRITES = true;

键空间名称: myuser_workbench

SimpleStrategy: 是一种简单的复制策略

replication_factor 设置为 1: 表示只在一个节点上进行复制。

DURABLE_WRITES 参数设置为 true:表示将启用持久化写入

#授予autoops用户在autoops_workbench键空间中的所有表和权限,包括创建、读取、更新和删除等操作的权限。

GRANT ALL PERMISSIONS ON KEYSPACE autoops_workbench TO autoops;

#查看键空间

DESCRIBE KEYSPACES;

DESCRIBE KEYSPACE myuser_workbench;

#删除用户

DROP USER myuser ;

10、使用客户端登录数据库

Windows下可以使用DBeaver客户端进行登录

注意:DBeaver默认没有cassandra驱动,需要先导入驱动才能连接cassandra数据库

驱动下载:

https://downloads.datastax.com/jdbc/cql/2.0.12.1013/SimbaCassandraJDBC42-2.0.12.1013.zip

ip:192.168.21.100

端口:9042

用户名:cassandra

密码:123456

至此,Linux下Cassandra单节点安装部署完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2024 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3