{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Aerospike Notebooks Readme/Tips\n", "\n", "Here are some tips and tricks for ease of use and productive experience with Aerospike notebooks.\n", "
\n", "This notebook requires Aerospike database running on localhost and that python and the Aerospike python client have been installed (`pip install aerospike`). Visit [Aerospike notebooks repo](https://github.com/aerospike-examples/interactive-notebooks) for additional details and the docker container." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Learn about Jupyter Notebook\n", "The Jupyter Notebook provides \"a web-based application suitable for capturing the whole computation process: developing, documenting, and executing code, as well as communicating the results\". New to notebooks? Here is [one source](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/examples_index.html) to learn more about the Jupyter Notebook." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Find and run Aerospike notebook.\n", "Visit [Aerospike notebooks repo](https://github.com/aerospike-examples/interactive-notebooks) to find additional Aerospike notebooks. To run another notebook, download the notebook from the repo to your local machine, and then click on File->Open, and select Upload." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Access shell commands\n", "\n", "Use the \"!\" line magic and \"%%bash\" cell magic to access shell commands. That is, you can access a shell command on any line by prefixing it with a \"!\", and an entire cell can have bash shell commands if it starts with \"%%bash\". Here are some examples:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " PID TTY TIME CMD\n", "10456 pts/3 00:00:00 ps\n", "jovyan\n" ] } ], "source": [ "# Accessing shell commands\n", "!ps\n", "!whoami\n", "# Start the Aerospike database.\n", "!asd >& /dev/null" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Aerospike database is running\n", "jovyan 25 1.8 8.5 4090004 175020 ? Ssl Feb28 238:27 /usr/bin/asd --config-file /etc/aerospike/aerospike.conf\n", "jovyan 10468 0.0 0.0 1028 248 ? R 23:43 0:00 grep asd\n" ] } ], "source": [ "%%bash \n", "# bash cell\n", "# Check if the Aerospike database is running.\n", "pgrep -x asd >/dev/null && echo \"Aerospike database is running\" || echo \"**Aerospike database is not running!**\"\n", "ps -axu | grep asd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Shell commands from Java kernel\n", "The Java kernel currently does not have a robust command shell access. The line magic %sh is limited in what it supports. For example, tools like aql or asadm that take arguments do not work, for example: ‘aql -c “select * from test.demo”’. Actions such as changing the server config or tailing server log may not be possible through the Java kernel’s %sh escape.\n", "\n", "There are multiple ways to access a functional shell from a Java notebook:\n", "\n", "1. Use a terminal window. From the directory view in the notebook (if in a notebook view, launch File->Open), there is a New menu on the top right side. Select New->Terminal for a fully functional shell.\n", "\n", "2. Use Python kernel’s shell magic. Start a new Python notebook (File->New Notebook->Python 3) and use the “!!” cell magic or “!” line magic to access shell commands. The Python kernel’s shell access works better than Java kernel’s at this point." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Examine server log\n", "It is useful to examine the server log. Assuming it is located at /var/log/aerospike/aerospike.log, and you have the permissions, you can run the following to view the last 10 lines of the log. (Adjust the log path to your setting.)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "End of server log:\r\n", "tail: cannot open '/var/log/aerospike/aerospike.log' for reading: No such file or directory\r\n" ] } ], "source": [ "# View the last 10 lines of the log:\n", "!echo \"End of server log:\"; tail -10 /var/log/aerospike/aerospike.log" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## View database state.\n", "\n", "The command line tool \"aql\" can be very handy to examine the data and metadata in the database. For a more complete description of the capabilities, see the [doc](https://www.aerospike.com/docs/tools/aql/index.html). Assuming the database has namespace \"test\", the following commands can be executed." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INSERT INTO test.demo (PK, 'testbin') VALUES (1, 'hello world!')\n", "OK, 1 record affected.\n", "\n", "\n", "SELECT * FROM test.demo\n", "+----------------+\n", "| testbin |\n", "+----------------+\n", "| \"hello world!\" |\n", "+----------------+\n", "1 row in set (0.167 secs)\n", "\n", "OK\n", "\n", "\n", "DELETE FROM test.demo WHERE PK = 1\n", "OK, 1 record affected.\n", "\n", "\n", "SELECT * FROM test.demo\n", "0 rows in set (0.151 secs)\n", "\n", "OK\n", "\n", "\n" ] } ], "source": [ "# Insert a record in set \"demo\" in namsepace \"test\" with Primary Key (PK) 1 and a bin or field \"testbin\" \n", "# with value \"hello world!\". \n", "!aql -c \"INSERT INTO test.demo (PK, 'testbin') VALUES (1, 'hello world!')\"\n", "# View all records in the set.\n", "!aql -c \"SELECT * FROM test.demo\"\n", "# Delete the record\n", "!aql -c \"DELETE FROM test.demo WHERE PK = 1\"\n", "!aql -c \"SELECT * FROM test.demo\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## View cluster state.\n", "Another useful utility is asadm which can be used to view various aspects of the database cluster. For a more complete description of its capabilities, see the [doc](https://www.aerospike.com/docs/tools/asadm/index.html)." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Seed: [('127.0.0.1', 3000, None)]\n", "Config_file: /home/jovyan/.aerospike/astools.conf, /etc/aerospike/astools.conf\n", "\u001b[0m\u001b[1m~Features (2021-03-09 23:43:06 UTC)~\u001b[0m\n", "\u001b[0m\u001b[1mNODE : 1fd218aa4d65:3000 \u001b[0m\n", "\u001b[0mAGGREGATION : YES \n", "\u001b[0mBATCH : YES \n", "\u001b[0mINDEX-ON-DEVICE: NO \n", "\u001b[0mINDEX-ON-PMEM : NO \n", "\u001b[0mKVS : YES \n", "\u001b[0mLDT : NO \n", "\u001b[0mQUERY : YES \n", "\u001b[0mRACK-AWARE : NO \n", "\u001b[0mSC : NO \n", "\u001b[0mSCAN : YES \n", "\u001b[0mSECURITY : NO \n", "\u001b[0mSINDEX : NO \n", "\u001b[0mTLS (FABRIC) : NO \n", "\u001b[0mTLS (HEARTBEAT): NO \n", "\u001b[0mTLS (SERVICE) : NO \n", "\u001b[0mUDF : YES \n", "\u001b[0mXDR DESTINATION: NO \n", "\u001b[0mXDR SOURCE : NO \n", "\n", "Seed: [('127.0.0.1', 3000, None)]\n", "Config_file: /home/jovyan/.aerospike/astools.conf, /etc/aerospike/astools.conf\n", "\u001b[0mCluster\n", "=======\n", "\n", " 1. Server Version : E-5.4.0.1\n", " 2. OS Version : Ubuntu 20.04.1 LTS (4.19.121-linuxkit)\n", " 3. Cluster Size : 1\n", " 4. Devices : Total 1, per-node 1\n", " 5. Memory : Total 1.000 GB, 0.00% used (0.000 B), 100.00% available (1.000 GB)\n", " 6. Disk : Total 4.000 GB, 0.00% used (0.000 B), 99.00% available contiguous space (3.960 GB)\n", " 7. Usage (Unique Data): None\n", " 8. Active Namespaces : 0 of 1\n", " 9. Features : Aggregation, Batch, KVS, Query, Scan, UDF\n", "\n", "\n", "\u001b[1m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespaces~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\u001b[0m\n", "Namespace Devices Memory Disk Replication Rack Master \n", " . (Total,Per-Node) (Total,Used%,Avail%) (Total,Used%,Avail%) Factor Aware Objects \n", "\u001b[0mtest \u001b[0m(1, 1) \u001b[0m(1.000 GB, 0.00, 100.00) \u001b[0m(4.000 GB, 0.00, 99.00) \u001b[0m 2 \u001b[0m\u001b[0mFalse \u001b[0m0.000 \u001b[0m\n", "\u001b[0mNumber of rows: 1\n", "\n", "Seed: [('127.0.0.1', 3000, None)]\n", "Config_file: /home/jovyan/.aerospike/astools.conf, /etc/aerospike/astools.conf\n", "\u001b[0m\u001b[1m~~~~~~~~~Service Configuration (2021-03-09 23:43:08 UTC)~~~~~~~~~\u001b[0m\n", "\u001b[0m\u001b[1mNODE : 1fd218aa4d65:3000 \u001b[0m\n", "\u001b[0madvertise-ipv6 : false \n", "\u001b[0mauto-pin : none \n", "\u001b[0mbatch-index-threads : 4 \n", "\u001b[0mbatch-max-buffers-per-queue : 255 \n", "\u001b[0mbatch-max-requests : 5000 \n", "\u001b[0mbatch-max-unused-buffers : 256 \n", "\u001b[0mbatch-without-digests : false \n", "\u001b[0mcluster-name : null \n", "\u001b[0mdebug-allocations : none \n", "\u001b[0mdisable-udf-execution : false \n", "\u001b[0menable-benchmarks-fabric : false \n", "\u001b[0menable-health-check : false \n", "\u001b[0menable-hist-info : false \n", "\u001b[0menable-ldap : false \n", "\u001b[0menable-security : false \n", "\u001b[0mfabric.address : any \n", "\u001b[0mfabric.channel-bulk-fds : 2 \n", "\u001b[0mfabric.channel-bulk-recv-threads : 4 \n", "\u001b[0mfabric.channel-ctrl-fds : 1 \n", "\u001b[0mfabric.channel-ctrl-recv-threads : 4 \n", "\u001b[0mfabric.channel-meta-fds : 1 \n", "\u001b[0mfabric.channel-meta-recv-threads : 4 \n", "\u001b[0mfabric.channel-rw-fds : 8 \n", "\u001b[0mfabric.channel-rw-recv-pools : 1 \n", "\u001b[0mfabric.channel-rw-recv-threads : 16 \n", "\u001b[0mfabric.keepalive-enabled : true \n", "\u001b[0mfabric.keepalive-intvl : 1 \n", "\u001b[0mfabric.keepalive-probes : 10 \n", "\u001b[0mfabric.keepalive-time : 1 \n", "\u001b[0mfabric.latency-max-ms : 5 \n", "\u001b[0mfabric.port : 3001 \n", "\u001b[0mfabric.recv-rearm-threshold : 1024 \n", "\u001b[0mfabric.send-threads : 8 \n", "\u001b[0mfabric.tls-name : null \n", "\u001b[0mfabric.tls-port : 0 \n", "\u001b[0mfeature-key-file : /etc/aerospike/features.conf \n", "\u001b[0mheartbeat.address : any \n", "\u001b[0mheartbeat.connect-timeout-ms : 500 \n", "\u001b[0mheartbeat.interval : 150 \n", "\u001b[0mheartbeat.mode : mesh \n", "\u001b[0mheartbeat.mtu : 1500 \n", "\u001b[0mheartbeat.port : 3002 \n", "\u001b[0mheartbeat.protocol : v3 \n", "\u001b[0mheartbeat.timeout : 10 \n", "\u001b[0mheartbeat.tls-name : null \n", "\u001b[0mheartbeat.tls-port : 0 \n", "\u001b[0mindent-allocations : false \n", "\u001b[0minfo-threads : 16 \n", "\u001b[0minfo.address : any \n", "\u001b[0minfo.port : 3003 \n", "\u001b[0mkeep-caps-ssd-health : false \n", "\u001b[0mldap-login-threads : 8 \n", "\u001b[0mldap.disable-tls : false \n", "\u001b[0mldap.polling-period : 300 \n", "\u001b[0mldap.query-base-dn : null \n", "\u001b[0mldap.query-user-dn : null \n", "\u001b[0mldap.query-user-password-file : null \n", "\u001b[0mldap.role-query-base-dn : null \n", "\u001b[0mldap.role-query-search-ou : false \n", "\u001b[0mldap.server : null \n", "\u001b[0mldap.session-ttl : 86400 \n", "\u001b[0mldap.tls-ca-file : null \n", "\u001b[0mldap.token-hash-method : sha-256 \n", "\u001b[0mldap.user-dn-pattern : null \n", "\u001b[0mldap.user-query-pattern : null \n", "\u001b[0mlog-local-time : false \n", "\u001b[0mlog-millis : false \n", "\u001b[0mmicrosecond-histograms : false \n", "\u001b[0mmigrate-fill-delay : 0 \n", "\u001b[0mmigrate-max-num-incoming : 4 \n", "\u001b[0mmigrate-threads : 1 \n", "\u001b[0mmin-cluster-size : 1 \n", "\u001b[0mnode-id : BB9020011AC4202 \n", "\u001b[0mnode-id-interface : null \n", "\u001b[0mpaxos-single-replica-limit : 1 \n", "\u001b[0mpidfile : /var/run/aerospike/asd.pid \n", "\u001b[0mprivilege-refresh-period : 300 \n", "\u001b[0mproto-fd-idle-ms : 0 \n", "\u001b[0mproto-fd-max : 15000 \n", "\u001b[0mproto-slow-netio-sleep-ms : 1 \n", "\u001b[0mquery-batch-size : 100 \n", "\u001b[0mquery-buf-size : 2097152 \n", "\u001b[0mquery-bufpool-size : 256 \n", "\u001b[0mquery-in-transaction-thread : false \n", "\u001b[0mquery-long-q-max-size : 500 \n", "\u001b[0mquery-microbenchmark : false \n", "\u001b[0mquery-pre-reserve-partitions : false \n", "\u001b[0mquery-priority : 10 \n", "\u001b[0mquery-priority-sleep-us : 1 \n", "\u001b[0mquery-rec-count-bound : 18446744073709551615 \n", "\u001b[0mquery-req-in-query-thread : false \n", "\u001b[0mquery-req-max-inflight : 100 \n", "\u001b[0mquery-short-q-max-size : 500 \n", "\u001b[0mquery-threads : 6 \n", "\u001b[0mquery-threshold : 10 \n", "\u001b[0mquery-untracked-time-ms : 1000 \n", "\u001b[0mquery-worker-threads : 15 \n", "\u001b[0mreport-authentication-sinks : 0 \n", "\u001b[0mreport-data-op-sinks : 0 \n", "\u001b[0mreport-sys-admin-sinks : 0 \n", "\u001b[0mreport-user-admin-sinks : 0 \n", "\u001b[0mreport-violation-sinks : 0 \n", "\u001b[0mrun-as-daemon : true \n", "\u001b[0mscan-max-done : 100 \n", "\u001b[0mscan-threads-limit : 128 \n", "\u001b[0mservice-threads : 4 \n", "\u001b[0mservice.access-port : 0 \n", "\u001b[0mservice.address : any \n", "\u001b[0mservice.alternate-access-port : 0 \n", "\u001b[0mservice.port : 3000 \n", "\u001b[0mservice.tls-access-port : 0 \n", "\u001b[0mservice.tls-alternate-access-port: 0 \n", "\u001b[0mservice.tls-name : null \n", "\u001b[0mservice.tls-port : 0 \n", "\u001b[0msindex-builder-threads : 4 \n", "\u001b[0msindex-gc-max-rate : 50000 \n", "\u001b[0msindex-gc-period : 10 \n", "\u001b[0mstay-quiesced : false \n", "\u001b[0msyslog-local : -1 \n", "\u001b[0mticker-interval : 10 \n", "\u001b[0mtransaction-max-ms : 1000 \n", "\u001b[0mtransaction-retry-ms : 1002 \n", "\u001b[0mvault-ca : null \n", "\u001b[0mvault-path : null \n", "\u001b[0mvault-token-file : null \n", "\u001b[0mvault-url : null \n", "\u001b[0mwork-directory : /opt/aerospike \n", "\n", "\u001b[1m~~~Network Configuration (2021-03-09 23:43:08 UTC)~~~~\u001b[0m\n", "\u001b[0m\u001b[1mNODE : 1fd218aa4d65:3000 \u001b[0m\n", "\u001b[0mfabric.address : any \n", "\u001b[0mfabric.channel-bulk-fds : 2 \n", "\u001b[0mfabric.channel-bulk-recv-threads : 4 \n", "\u001b[0mfabric.channel-ctrl-fds : 1 \n", "\u001b[0mfabric.channel-ctrl-recv-threads : 4 \n", "\u001b[0mfabric.channel-meta-fds : 1 \n", "\u001b[0mfabric.channel-meta-recv-threads : 4 \n", "\u001b[0mfabric.channel-rw-fds : 8 \n", "\u001b[0mfabric.channel-rw-recv-pools : 1 \n", "\u001b[0mfabric.channel-rw-recv-threads : 16 \n", "\u001b[0mfabric.keepalive-enabled : true \n", "\u001b[0mfabric.keepalive-intvl : 1 \n", "\u001b[0mfabric.keepalive-probes : 10 \n", "\u001b[0mfabric.keepalive-time : 1 \n", "\u001b[0mfabric.latency-max-ms : 5 \n", "\u001b[0mfabric.port : 3001 \n", "\u001b[0mfabric.recv-rearm-threshold : 1024 \n", "\u001b[0mfabric.send-threads : 8 \n", "\u001b[0mfabric.tls-name : null \n", "\u001b[0mfabric.tls-port : 0 \n", "\u001b[0mheartbeat.address : any \n", "\u001b[0mheartbeat.connect-timeout-ms : 500 \n", "\u001b[0mheartbeat.interval : 150 \n", "\u001b[0mheartbeat.mode : mesh \n", "\u001b[0mheartbeat.mtu : 1500 \n", "\u001b[0mheartbeat.port : 3002 \n", "\u001b[0mheartbeat.protocol : v3 \n", "\u001b[0mheartbeat.timeout : 10 \n", "\u001b[0mheartbeat.tls-name : null \n", "\u001b[0mheartbeat.tls-port : 0 \n", "\u001b[0minfo.address : any \n", "\u001b[0minfo.port : 3003 \n", "\u001b[0mservice.access-port : 0 \n", "\u001b[0mservice.address : any \n", "\u001b[0mservice.alternate-access-port : 0 \n", "\u001b[0mservice.port : 3000 \n", "\u001b[0mservice.tls-access-port : 0 \n", "\u001b[0mservice.tls-alternate-access-port: 0 \n", "\u001b[0mservice.tls-name : null \n", "\u001b[0mservice.tls-port : 0 \n", "\n", "\u001b[1m~~~~~~~~~~test Namespace Configuration (2021-03-09 23:43:08 UTC)~~~~~~~~~\u001b[0m\n", "\u001b[0m\u001b[1mNODE : 1fd218aa4d65:3000 \u001b[0m\n", "\u001b[0mallow-ttl-without-nsup : false \n", "\u001b[0mbackground-scan-max-rps : 10000 \n", "\u001b[0mconflict-resolution-policy : generation \n", "\u001b[0mconflict-resolve-writes : false \n", "\u001b[0mdata-in-index : false \n", "\u001b[0mdefault-ttl : 2592000 \n", "\u001b[0mdisable-cold-start-eviction : false \n", "\u001b[0mdisable-write-dup-res : false \n", "\u001b[0mdisallow-null-setname : false \n", "\u001b[0menable-benchmarks-batch-sub : false \n", "\u001b[0menable-benchmarks-ops-sub : false \n", "\u001b[0menable-benchmarks-read : false \n", "\u001b[0menable-benchmarks-udf : false \n", "\u001b[0menable-benchmarks-udf-sub : false \n", "\u001b[0menable-benchmarks-write : false \n", "\u001b[0menable-hist-proxy : false \n", "\u001b[0mevict-hist-buckets : 10000 \n", "\u001b[0mevict-tenths-pct : 5 \n", "\u001b[0mgeo2dsphere-within.earth-radius-meters : 6371000 \n", "\u001b[0mgeo2dsphere-within.level-mod : 1 \n", "\u001b[0mgeo2dsphere-within.max-cells : 12 \n", "\u001b[0mgeo2dsphere-within.max-level : 30 \n", "\u001b[0mgeo2dsphere-within.min-level : 1 \n", "\u001b[0mgeo2dsphere-within.strict : true \n", "\u001b[0mhigh-water-disk-pct : 0 \n", "\u001b[0mhigh-water-memory-pct : 0 \n", "\u001b[0mignore-migrate-fill-delay : false \n", "\u001b[0mindex-stage-size : 1073741824 \n", "\u001b[0mindex-type : shmem \n", "\u001b[0mmemory-size : 1073741824 \n", "\u001b[0mmigrate-order : 5 \n", "\u001b[0mmigrate-retransmit-ms : 5000 \n", "\u001b[0mmigrate-sleep : 1 \n", "\u001b[0mnsid : 0 \n", "\u001b[0mnsup-hist-period : 3600 \n", "\u001b[0mnsup-period : 120 \n", "\u001b[0mnsup-threads : 1 \n", "\u001b[0mpartition-tree-sprigs : 256 \n", "\u001b[0mprefer-uniform-balance : true \n", "\u001b[0mrack-id : 0 \n", "\u001b[0mread-consistency-level-override : off \n", "\u001b[0mreject-non-xdr-writes : false \n", "\u001b[0mreject-xdr-writes : false \n", "\u001b[0mreplication-factor : 2 \n", "\u001b[0msindex.num-partitions : 32 \n", "\u001b[0msingle-bin : false \n", "\u001b[0msingle-scan-threads : 4 \n", "\u001b[0mstop-writes-pct : 90 \n", "\u001b[0mstorage-engine : device \n", "\u001b[0mstorage-engine.cache-replica-writes : false \n", "\u001b[0mstorage-engine.cold-start-empty : false \n", "\u001b[0mstorage-engine.commit-min-size : 0 \n", "\u001b[0mstorage-engine.commit-to-device : false \n", "\u001b[0mstorage-engine.compression : none \n", "\u001b[0mstorage-engine.compression-level : 0 \n", "\u001b[0mstorage-engine.data-in-memory : true \n", "\u001b[0mstorage-engine.defrag-lwm-pct : 50 \n", "\u001b[0mstorage-engine.defrag-queue-min : 0 \n", "\u001b[0mstorage-engine.defrag-sleep : 1000 \n", "\u001b[0mstorage-engine.defrag-startup-minimum : 10 \n", "\u001b[0mstorage-engine.direct-files : false \n", "\u001b[0mstorage-engine.disable-odsync : false \n", "\u001b[0mstorage-engine.enable-benchmarks-storage : false \n", "\u001b[0mstorage-engine.encryption-key-file : null \n", "\u001b[0mstorage-engine.file[0] : /opt/aerospike/data/test.dat \n", "\u001b[0mstorage-engine.filesize : 4294967296 \n", "\u001b[0mstorage-engine.flush-max-ms : 1000 \n", "\u001b[0mstorage-engine.max-write-cache : 67108864 \n", "\u001b[0mstorage-engine.min-avail-pct : 5 \n", "\u001b[0mstorage-engine.post-write-queue : 0 \n", "\u001b[0mstorage-engine.read-page-cache : false \n", "\u001b[0mstorage-engine.scheduler-mode : null \n", "\u001b[0mstorage-engine.serialize-tomb-raider : false \n", "\u001b[0mstorage-engine.sindex-startup-device-scan: false \n", "\u001b[0mstorage-engine.tomb-raider-sleep : 1000 \n", "\u001b[0mstorage-engine.write-block-size : 1048576 \n", "\u001b[0mstrong-consistency : false \n", "\u001b[0mstrong-consistency-allow-expunge : false \n", "\u001b[0mtomb-raider-eligible-age : 86400 \n", "\u001b[0mtomb-raider-period : 86400 \n", "\u001b[0mtransaction-pending-limit : 20 \n", "\u001b[0mtruncate-threads : 4 \n", "\u001b[0mwrite-commit-level-override : off \n", "\u001b[0mxdr-bin-tombstone-ttl : 86400 \n", "\u001b[0mxdr-tomb-raider-period : 120 \n", "\u001b[0mxdr-tomb-raider-threads : 1 \n", "\n" ] } ], "source": [ "# Show the features enabled in this database.\n", "!asadm -e \"features\"\n", "# Display summary info for the cluster\n", "!asadm -e \"summary\"\n", "# View the config\n", "!asadm -e \"show config\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Next steps\n", "Visit [Aerospike notebooks repo](https://github.com/aerospike-examples/interactive-notebooks) to run additional Aerospike notebooks. To run a different notebook, download the notebook from the repo to your local machine, and then click on File->Open, and select Upload." ] } ], "metadata": { "file_extension": ".py", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" }, "mimetype": "text/x-python", "name": "python", "npconvert_exporter": "python", "pygments_lexer": "ipython3", "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "version": 3 }, "nbformat": 4, "nbformat_minor": 2 }