关于ubuntu中安装cassandra数据库遇见的问题总结

第一次使用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  这个问题是因为同一个键空间里存在不同复制策略的表,不影响使用,但是最好建表和修改表的时候注意一下。

 

 

 

你可能感兴趣的:(关于ubuntu中安装cassandra数据库遇见的问题总结)