CentOS 7 安装配置 Cassandra
文章目录
在使用 Cassandra 之前,首先确保所用系统有运行 Cassandra 的基本环境。Cassandra 是用 Java 开发的,所以启动 Cassandra 首先要安装 JDK,另外我们还需要安装 Python。截止该文档编辑时,Cassandra 对 Python 的版本还是有特殊的要求,不支持3.x版本,只支持2.x版本,所以我们还需要再安装 Python2.x,之后还需要安装 Python pip。
1. 配置安装JDK8
我们首先从Oracle官网下载JDK,根据系统选择对应的JDK版本,JDK8的下载地址为:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,如下图所示,这里我选择:jdk-8u291-linux-x64.tar.gz
如果国内访问缓慢的话可以从下面百度网盘中下载:
链接:https://pan.baidu.com/s/18YCGq8Xy2CvjIH-GOaJVyg
提取码:10p0
下载好后,我们将安装的压缩包上传至服务器中。这里我的服务器路径为:/usr/local/java
,如下所示:
解压压缩包: tar -zxvf jdk-8u291-linux-x64.tar.gz
, 之后我们配置JAVA的环境变量
1.1 配置JDK环境变量
- 执行
vi /etc/profile
- 在文件末尾加入:
export JAVA_HOME=/usr/local/java/jdk1.8.0_291 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 保存修改结果(按 Esc,之后输入 wq 点击回车)如下图所示:
- 使 profile 生效,运行
source /etc/profile
,之后验证JAVA环境变量是否配置成功java -version
结果如下:
至此,Java 安装以及环境变量配置结束。
2. 配置安装Python2.x并安装python-pip
由于 CentOS7 默认安装了Python2.7.5省去了我们自己安装的过程,检验 Python: python -V
:
如果本机上没有安装Python2.7的话,或者想要升级Python版本的话,可以参考:https://blog.51cto.com/wangcx/1702217,https://www.bbsmax.com/A/LPdolR0Oz3/这两篇文章
2.1 安装python-pip
首先运行 yum -y install epel-release
安装 epel-release,安装完毕后再运行 yum -y install python-pip
安装 python-pip。验证是否安装成功 pip -V
如下图所示表明安装成功:
3. 安装配置Cassandra
访问Cassandra官方网站,下载Cassandra并将其上传至服务器中。Cassandra的官网下载地址为:https://cassandra.apache.org/download/。
这里选择3.11.10,方便起见可以通过wget命令来下载资源包至服务器中。在/usr/local目录下创建cassandra目录,进入该目录后执行 wget https://apache.website-solution.net/cassandra/3.11.10/apache-cassandra-3.11.10-bin.tar.gz
命令。
如果本机上没有wget命令可以通过
yun install wget
方式来安装wget命令
解压下载下来的压缩包 tar -zxvf apache-cassandra-3.11.10-bin.tar.gz
,之后进入解压后的文件夹,我们创建3个目录: data、commitlog、saved_caches,如下图所示:
修改conf/cassandra.yaml 文件
- 找到data_file_directories,修改配置设置为刚才新建的data目录路径,如下图所示:
- 找到commitlog_directory,修改配置设置为刚才新建的commitlog目录路径,如下图所示:
- 找到saved_caches_directory,修改配置设置为刚才新建的saved_caches目录路径,如下图所示:
保存对conf/cassandra.yaml文件的修改。之后进入cassandra的bin目录,运行cassandra,如下所示:
此时系统会提示如下信息:
用命令 ./cassandra -R
就可以以root用户启动cassandra,之后我们可以再开一个终端窗口,在cassandra的bin目录下运行./cqlsh
,如果出现如下图所示界面则说明Cassandra启动成功。
3.1 将Cassandra添加到systemctl,并设置开机启动
执行如下命令进行编辑 vi /usr/lib/systemd/system/cassandra.service
,输入以下内容并保存:
[Unit]
Description=Cassandra Server Service
After=network.service
[Service]
Type=simple
Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_291
PIDFile=/usr/local/cassandra/apache-cassandra-3.11.10/cassandra.pid
# 新建一个用户和用户组,Cassandra无法使用root账号启动
User=cassandra
Group=cassandra
# 此处为Cassandra包解压后的路径
ExecStart=/usr/local/cassandra/apache-cassandra-3.11.10/bin/cassandra -f -p /usr/local/cassandra/apache-cassandra-3.11.10/cassandra.pid
StandardOutput=journal
StandardError=journal
LimitNOFILE=100000
LimitMEMLOCK=infinity
LimitNPROC=32768
LimitAS=infinity
[Install]
WantedBy=multi-user.target
执行 systemctl daemon-reload
更新systemctl,之后执行 systemctl enable cassandra
将服务设置为开机启动。
之后我们为 Cassandra 设置启动用户,并赋权。执行命令useradd cassandra
添加用户(用户名称和cassandra.service中的名称保持一致),设置密码 passwd cassandra
,将Cassandra的安装目录赋权给新用户 chown -R cassandra: /usr/local/cassandra/apache-cassandra-3.11.10
。之后切换用户并启动Cassandra服务,具体命令如下:
#切换用户
su cassandra
#启动相关操作(由于前面cassandra用户设置的权限设置较粗,启动时或许会需要输入root密码,按要求输入即可)
systemctl start cassandra
systemctl status cassandra
systemctl stop cassandra
#启动日志查看(若无权限,可切换至root用户赋权或直接使用root账号查看日志)
journalctl -u cassandra
3.2 利用datagrip远程连接Cassandra
在使用可视化管理工具连接Cassandra之前,我们首先要让服务器开放9042端口,具体命令步骤如下:
- 开放9042端口
firewall-cmd --zone=public --add-port=9042/tcp --permanent
- 重启防火墙
firewall-cmd --reload
开放9042端口后,我们查询一下服务器的ip地址:
之后修改Cassandra的bin目录下的cassandra.yaml,找到该文件的rpc_address
,将其配置为远程的ip地址,如下图所示:
保存之后重启服务,之后打开datagrip,做如下配置:
点击Test Connection来测试连接,出现如上图所示内容说明服务连接成功。