oracle_nosql_config

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
oracle_nosql_config [2023/01/06 10:57] andonovjoracle_nosql_config [2023/01/06 11:33] (current) – [Oracle NoSQL] andonovj
Line 1: Line 1:
-=====Setup=====+=====Overview=====
 The whole setup of Oracle NoSQL, in my opinion, is bananas. Each time I tried to set it up, something always failed. The whole setup of Oracle NoSQL, in my opinion, is bananas. Each time I tried to set it up, something always failed.
 Luckily, or because of it, some people (oracle) create a script to facilitate the configuration. Luckily, or because of it, some people (oracle) create a script to facilitate the configuration.
Line 7: Line 7:
  
 Either way, so in our case, we will just configure 2 VMs (using vagrant) and run that setup. Either way, so in our case, we will just configure 2 VMs (using vagrant) and run that setup.
 +
 +
 +=====Virtual Machines=====
 +I have done it many times, but the setup of the VMs using vagrant is pretty easy. I have created the following Vagrantfile, based on another Vagrantfile for other shenanigans:
 +
 +<Code:bash|Vagrantfile>
 +$allow_shell = <<SCRIPT
 +sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config    
 +systemctl restart sshd.service
 +SCRIPT
 +
 +$edit_hosts_file = <<SCRIPT
 +cat > /etc/hosts <<EOF
 +127.0.0.1 localhost
 +192.168.0.101 sn1.example.com sn1
 +192.168.0.102 sn2.example.com sn2
 +192.168.0.103 sn3.example.com sn3
 +EOF
 +SCRIPT
 +
 +$install_vnc_server = <<SCRIPT
 +yum -y install net-tools
 +yum -y install unzip
 +yum -y install curl
 +yum -y install lvm2
 +yum -y remove java
 +yum -y install java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64
 +SCRIPT
 +
 +$config_storage = <<SCRIPT
 +vgcreate vg_nosql /dev/sdb
 +lvcreate -L 1G -n lv_disk1 vg_nosql
 +lvcreate -L 1G -n lv_disk2 vg_nosql
 +lvcreate -L 1G -n lv_disk3 vg_nosql
 +mkfs.ext4 /dev/vg_nosql/lv_disk1
 +mkfs.ext4 /dev/vg_nosql/lv_disk2
 +mkfs.ext4 /dev/vg_nosql/lv_disk3
 +cat >> /etc/fstab <<EOF
 +/dev/vg_nosql/lv_disk1     /disks/disk1    ext4    defaults 0 0
 +/dev/vg_nosql/lv_disk2     /disks/disk2    ext4    defaults 0 0
 +/dev/vg_nosql/lv_disk3     /disks/disk3    ext4    defaults 0 0
 +EOF
 +mkdir -p /disks/disk1
 +mkdir -p /disks/disk2
 +mkdir -p /disks/disk3
 +mount /disks/disk1
 +mount /disks/disk2
 +mount /disks/disk3
 +mkdir -p /app/oracle/ondb
 +cp /vagrant/V1030945-01.zip /app/oracle/ondb/
 +unzip /app/oracle/ondb/V1030945-01.zip
 +rpm -Uvh /vagrant/jdk-19_linux-x64_bin.rpm
 +SCRIPT
 +
 +Vagrant.configure("2") do |config|
 + (1..2).each do |i|
 +  config.vm.provision :shell, inline: "setenforce 0", run: "always"
 +  config.vm.define "sn#{i}" do |sn|
 +    sn.vm.box = "centos/7"
 +    sn.vm.hostname = "sn#{i}"
 +    sn.vm.synced_folder "./lpar_binaries", "/vagrant", type: "virtualbox"
 + sn.vm.network "public_network", ip: "192.168.0.10#{i}"
 + sn.vm.provision "shell", inline: $install_vnc_server, privileged: true
 + sn.vm.provision "shell", inline: $allow_shell, privileged: true
 + sn.vm.provision "shell", inline: $edit_hosts_file, privileged: true
 + second_disk = "C:\\Users\\julie\\VirtualBox VMs\\sn#{i}\\disk_nosql_data.vdi"
 +    sn.vm.provider :virtualbox do |v|
 + # Get disk path
 +   v.customize ["modifyvm", :id, "--memory", 2560]
 +      v.customize ["modifyvm", :id, "--name", "sn#{i}"]
 +   v.customize ["storageattach", :id, 
 +                "--storagectl", "IDE", 
 +                "--port", "0", "--device", "1", 
 +                "--type", "dvddrive", 
 +                "--medium", "emptydrive"]
 +   v.customize ['createhd', '--filename', second_disk, '--size', 500 * 1024]
 +   v.customize ['storageattach', :id, 
 + '--storagectl',
 + 'IDE',
 + '--port', 1, '--device', 0,
 + '--type', 'hdd',
 + '--medium', second_disk]
 +     end
 + sn.vm.provision "shell", inline: $config_storage, privileged: true
 +    end
 +  end
 +end
 +</Code>
 +
 +As, maybe, you will guess, that will create us 2 Virtual machines, with an additional disk which we will create a volume group, which we will split into 3 and which we will mount each LV to a separate File system...geeesh that is a lot.
 +Anywho, after this, we should have 2 VMs, running and all installed...but the Oracle NoSQL of course
 +
 +
 +=====Oracle NoSQL=====
 +The script pretty much guides you through the entire process, but let's set the steps:
 +
 +  - Intro screen (Enter)
 +  - Location of the Oracle NoSQL ZIP file (Enter)
 +  - Host/IPs of the nodes in the cluster and username to connect (Enter)
 +  - Installation path (Enter)
 +  - Store name: DefaultStore (I leave my default) (Enter)
 +  - A lot of connections and password entering (Unless you configure passwordless authentication...too lazy to do so)
 +  - Data directory: Enter disks (Enter)
 +  - Log directories (Up to you if you wanna keep logs) (Enter)
 +  - Port: 5000 (Enter)
 +  - Replication Factor: 1, it is a test after all (Enter)
 +
 +There might be some issues with the JAVA, don't ask me....Oracle
  • oracle_nosql_config.1673002652.txt.gz
  • Last modified: 2023/01/06 10:57
  • by andonovj