第一次使用ubuntu 安装cassandra数据库 出了很多问题 说起来也是很蛋疼。。重装了四五次系统 快吐了
现在说下安装 cassandra中间注意的一些细节。
第一步:安装jdk环境(我是1.8版本 ubuntu 18.04 python 2.7.10)
在线安装jdk : sudo apt-get install openjdk-8-jdk
sudo apt-get remove openjdk* 卸载ubuntn中自带
网上有很多自己选择要数用的版本
配置环境变量: 这个网络上有很多
第二部:安装gcc
apt-get install gcc
第三部:安装 python2.7
wget -c https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
cd Python-2.7.9.tgz
sudo tar -zxvf Python-2.7.9.tgz
make
sudo make install
sudo ln -s /usr/local/python2/bin/python /usr/bin/python 默认连接指向2.7
( ubuntu 自带最新版本的python3.x 千万不要想着去卸载。这种痛不服可以尝试一下)
重点来了,因为对python懂得不多 安装pip ,需要setup-tools和pip两个包 (这地被坑一次直接重装)
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
setup-tools这个包 找了很多都是失效的。大家自己找吧
然后解压这两个包 分别进入解压之后的文件夹下 安装
python setup.py install(两个包同一个命令)
还可以在线安装(第一次就是在线安装。没有成功,在线安装了之后需要重新编译python)
sudo apt-get install libxpm-dev libxext-dev
中间遇见的错误:(这个就是pip没有安装的报错)
Traceback (most recent call last):
File "/home/pengxx/cassandra/cassandra-3.11/bin/cqlsh.py", line 169, in
from cqlshlib import cql3handling, cqlhandling, pylexotron, sslhandling, cqlshhandling
File "/home/pengxx/cassandra/cassandra-3.11/bin/../pylib/cqlshlib/sslhandling.py", line 20, in
import ssl
File "/usr/local/lib/python2.7/ssl.py", line 97, in
import _ssl # if we can't import it, let the error propagate
ImportError: No module named _ssl
执行此命令之后 : sudo yum install openssl-devel -y python中有个pip 还有个s..tools 一定要下载;不然无法运行./cqlsh
继续报错:
没有已启用的仓库。
执行 "yum repolist all" 查看您拥有的仓库。
您可以用 yum-config-manager --enable <仓库名> 来启用仓库
sudo apt-get install libxpm-dev libxext-dev
第四步:安装cassandra 3.11
wget http://mirrors.hust.edu.cn/apache/cassandra/3.11.3/apache-cassandra-3.11.3-bin.tar.gz
tar -xzvf apache-cassandra-3.11.3-bin.tar.gz
mv apache-cassandra-3.11.3-bin.tar.gz cassandra
cd cassandra
cd conf
sudo gedit cassandra-env.sh 在启动的过程中如果报错关于 XmxM-XmnX-XX:(关于堆栈内存的问题)
#MAX_HEAP_SIZE="4G"
#HEAP_NEWSIZE="800M"
#号去掉 保存
sudo gedit cassandra.yaml
配置cassandra.yaml 时
报错 while scanning a simple key could not found expected ':' in 'reader'
原因: data_file_directories:
- 空格/var/lib/cassandra/data 一定要加空格 不然一直报上面的错误
你需要在cassandra与bin 同级的文件夹下创建一个文件夹logs
然后杂环哦个地方创建三个文件夹 data commitlog saved_caches 在配置cassandra.yaml时 需要他们的路径
报错
Error: null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=data_file_directories for JavaBean=org.apache.cassandra.config.Config@49070868; No single argument constructor found for class [Ljava.lang.String;; in 'reader', line 10, column 1:
cluster_name: 'Cluster7788'
^
原因:同上
启动 cassandra --python 提示错误
Cassandra 集群配置
#the name of your cluster
cluster_name: 'Test Cluster'
#逗号分隔的集群IP地址
parameters:
- seeds: "192.168.232.142 "
#一般不用修改这个端口,但是要确保没有被防火墙屏蔽
storage_port:1234
#监听,要与seeds一致,否则提示 java.lang.RuntimeException: Unable to gossip with any seeds 异常
listen_address: 192.168.232.142#存放data file
data_file_directories:
- /var/lib/cassandra/data#commitlog files
commitlog_directory: /var/lib/cassandra/commitlog#caches files
saved_caches_directory: /var/lib/cassandra/saved_caches
一些ubuntu的命令:(权限)
sudo us
vi /etc/sudoers
进去之后 可以看见一个
root ALL=(ALL:ALL) ALL
在他下面添加一行
自己用户名 ALL=(ALL:ALL) ALL
注: 基本命令
插入: I
保存:按下ESC 输入: wq (修改之后的保存 家!是强制保存) 输入:q (只保存原文本,修改的部分不会被保存)
还有一个是修改自己要用文件夹的用户
比如 以前那些文件夹进去之后都是默认root用户 这时候你要是操作的话 都会提示没有权限操作
sudo chown 自己用户名:自己用户名 需要使用的文件夹名称/ -R (区分大小写)
然后把自己解压之后的cassandra 放在这个文件夹中就不会一直报关于权限的错误
以注释为#为例
注释多行:
1)将光标置于第一行要注释的地方, 按下Ctrl-V(or CtrlQ for gVim)进入VISUAL BLOCK模式,移动光标选中所有所需注释的行;
2)依次按下大写I(shift+i),
#,
Esc, vim会在所选行的每行行首添加#。
对于debian/ubuntu默认使用的vim版本,上述方法不起作用。需将第2步改为,输入 : ,出现:'<,'>提示符后输入s/^/#
取消多行注释:
将光标置于第一个 #
处, 按下Ctrl-V ,移动光标选中所有需要取消注释的行,按x,所有行首的#会被删除。
之后到bin 下 ./cassandra启动 然后看到 Node /x.x.x.x state jump to NORMAL,这样cassandra就算安装完成了,也可以在在bin目录下使用./nodetool status 查看集群信息确认一下。
UN 表示的是该服务器的状态,UN是运行中,DN是宕机。
Note: xxxxxxx 这个问题是因为同一个键空间里存在不同复制策略的表,不影响使用,但是最好建表和修改表的时候注意一下。