部署Oracle NoSQL数据库

一、环境介绍

在CentOS系统里安装一个KVM虚拟机,然后再KVM里创建了三个内存为3G的centos虚拟机,网络采用NAT的方式。

ip分别为192.168.1.151(node1) 、192.168.1.115(node2)、192.168.1.122(node3)

配置hosts文件:
shell里输入命令:vi /etc/hosts
然后在文件里添加ip地址和对应的主机名,如果主机名不好记,最好修改下主机名(使用hostname命令查看主机名)。
这样做的目的是,输入主机名就可识别节点,而不用输入节点的ip。

上图中noSQL01.localdomain.com不需要,只需要前两部分

二、Java环境变量配置

1.在三台虚拟机里分别安装jdk1.7:

安装jdk和jre:(假设jdk和jre安装包在/root/software目录下)
rpm -i /root/software/jdk1.7.0.rpm
rpm -i /root/software/jre1.7.0.rpm

2.配置环境变量:

vi /etc/profile
(注:vi的操作命令自己百度一下,这些知识是操作linux的基本命令,以后经常会使用到)
在文件最后(unset -f pathmunge下面)添加:
JAVA_HOME=/usr/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin

export PATH CLASSPATH JAVA_HOME
更改之后,这些环境变量并不能马上使用,在命令行输入:
source /etc/profile
或者重启,也可得到同样的效果,这样设置的环境变量马上可以生效。

三、安装Oracle NoSQL

1.环境配置

下载Oracle NoSQL包,然后拷贝到三个虚拟机的/root/Oracle目录下(目录根据自己情况可以修改,但是建议三台虚拟机下的目录一样)。配置KVHOME和KVROOT变量:
vi /etc/profile

然后在文件最后加入下内容:
KVHOME=/root/Oracle/kv3.0.14
KVROOT=/root/Oracle/KVROOT

export KVHOME
export KVROOT
同上,在命令行输入:
source /etc/proile

2.检测自己配置的环境变量是否正确

在命令行输入:
echo $JAVA_HOME
echo $KVHOME
如果输出的路径与设置的一致,则说明配置正确。

如果,提示$KVROOT(/root/Oracle/KVROOT)目录不存在,则创建这个目录:
mkdir -p $KVROOT
KVROOT这个目录后面会用到,用于存放数据库的地方。

按照上面介绍的方法,在三个虚拟机里面配置KVHOME和KVROOT。
如果不会从主机往虚拟机里传文件或文件夹,请参看我之前的博客(使用scp命令)。

3.配置数据库服务

选择一个虚拟机作为主节点,运行一下命令:

java -Xmx256m -Xms256m -jar $KVHOME/lib/kvstore.jar makebootconfig -root $KVROOT \
-port 5000 -admin 5001 -host node1 -harange 5010,5020 -store-security none -capacity 1 -num_cpus 0 -memory_mb 0
如果环境配置正确,这个命令运行之后不会有什么输出。在其余两个节点上同样运行上面的命令,除了红色部分外。

紧接着在三个节点上开启SNA服务:
nohup java -Xmx256m -Xms256m -jar $KVHOME/lib/kvstore.jar start -root $KVROOT&

利用java的工具,检测ORACLE noSQL的服务是否在运行:
#jps -m
如果服务在运行就会输出服务的信息。

4.配置数据库

在node1上进入CLI环境:
java -Xmx256m -Xms256m -jar $KVHOME/lib/kvstore.jar runadmin -port 5000 -host node1
4.1 Name your store
kv->configure -name mystore
新建数据库的名称为mystore.

4.2 Create zone
kv->plan deploy-zone -name "wuhan" -rf 3 -wait
创建了一个名为wuhan的zone,zone相当于一个数据中心。rf指的是复制因子,wait指这个命令运行结束之后才能运行下一条命令,否则处于等待状态。

4.3 Craeate an administration Process
//使用 show topology命令查看zone和storage node的ID等信息
kv->plan deploy-sn -zn zn1 -host node1 -port 5000 -wait

kv->plan deploy-admin -sn sn1  -port 5001 -wait
注意,一个是5000,一个是5001.
4.4 Create a storage node pool
kv->pool create -name wuhanPool
将存储节点1放入pool中:
kv->pool join -name wuhanPool -sn sn1

4.5 创建剩余存储节点
node2:
kv->plan deploy-sn -zn zn1 -host node2 -port 5000 -wait

kv->pool join -name wuhanPool -sn sn2
node3:
kv->plan deploy-sn -zn zn1 -host node3 -port 5000 -wait

kv->pool join -name wuhanPool -sn sn3
节点ID是自增长的。

4.6 配置topology
kv->topology create -name topo -pool wuhanPool -partitions 300

kv->plan deploy-topology -name topo -wait

4.7 结束
kv->exit

四、配置过程中遇到的问题

1.java的问题

在运行java命令(如:java -Xmx256m -Xms256m -jar $KVHOME/lib/kvstore.jar makebootconfig -root $KVROOT \
-port 5000 -admin 5001 -host node1 -harange 5010,5020 -store-security none -capacity 1 -num_cpus 0 -memory_mb 0
)总是提示"main"神马的错误。这个问题是jdk的问题,估计是系统总是启动系统自带的openJDK,而不是自己安装的jdk.

解决方案:使用硬链接,将/usr/java/jdk1.7.0_71/bin下的命令链接到:/usr/bin下面,这样使用java命令时就是使用的自己安装的jdk的命令。
或者使用alternatives 命令来解决,具体实行方案:
1) 利用update-alternatives --install选项手工添加再可选择列表中

我们采用 update-alternatives --install 选项,赋予JDK最高的级别(设置为60),以达到添加如列表中的目的,具体如下

/usr/sbin/update-alternatives  -install  /usr/bin/java  java  /usr/java/ jdk1.7.0_71/jre/bin/java  60
2) update-alternatives --config java 选择添加的JDK1.6配置方案


还有一种最简单的方法,就是将/usr/java/jdk1.7.0_71/bin路径添加到PATH的前面,而不是后面:
PATH=/usr/java/jdk1.7.0_71/bin:$PATH  
但是这种方法只在当前的shell界面里有效。所以,这种方法并不适用。

2.防火墙的问题

运行命令:
kv->plan deploy-sn -zn zn1 -host node2 -port 5000 -wait
的时候一般会遇到host is unreachable的错误。
通过自己的尝试,在node2上运行 iptable -F命令,然后在运行上面的命令就可以了。

记得重启!!!!!

3.部署数据库过程中,中途退出adminCLI界面

部署数据库的时候,有时候不小心,或者因为出现错误,尚未deploy topology就退出了部署命令行环境。再次进入adminCLI时,运行:
“connect store -name [dbName]”总是提示说:
“you are no longer connected to store”.
或者重新配置一个数据库“configure -name [dbName]”提示说:
“This command is valid only in bootstrap/configuration mode.”

解决的办法就是关闭SNA服务,然后重启,再次进入adminCLI环境,然后连接数据库。

参考资料:安装资料, 点击这里. 这是Oracle提供的英文文档,里面有详尽的介绍,如果还有什么不明白,欢迎留言
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值