How to set Neo4j auto start when booting? - neo4j

I want to start my Neo4j service when booting, and my system environment is Redhat.
I add below text on /etc/rc.d/rc.local, but it is not working
/opt/neo4j/bin/neo4j start
But it works for MongoDB...
/opt/mongodb/bin/mongod

Please take a look at the Neo4j reference for Linux installation. You can find it here:
http://docs.neo4j.org/chunked/stable/server-installation.html#_linux_service
We have an installer script that will configure Neo4j to startup at system boot $ /path/to/neo4j-community-2.1.4/bin/neo4j-installer install
First remove the text you've added from /etc/rc.d/rc.local to make sure there aren't any conflicts.
You can also use our debian package installation to automatically download, install, and configure Neo4j as a service on Linux.
That information can be found here: http://debian.neo4j.org/

Related

How to setup dockerized binaries in VSCode

I have learned to use docker as development server (LAMP and MEAN) and now I feel I should take next step, By removing PHP and node binaries from system and use binaries from containers. So on a fresh Solus install, I setup containers for PHP, node, Ruby etc. Solus already recommends using containers for such tasks. But I got stuck on first day.
I installed vs code (Code-oss) on installed extensions (prettier, PHPCS etc) on it, and they need path of installed binaries (path/to/phpcs, path/to/node etc).
I initially set up configuration path as
docker run -it --rm herloct/phpcs phpcs
based on https://gist.github.com/barraq/e7f85262bc7a0af2d8d8884d27b62d2c but using more updated container. It didn't work, So I set it up as alias thinking it would fool VSCode into thinking it is native command, but it didn't work either. I have confirmed that using those command directly from terminal does work, But VSCode PHPIntellisense extension does not want to work.
Any suggestion?
P.S. Any tip to keep container running in background as to avoid container bootup delay everytime I use PHPCS or javac from container? I can keep LAMP server running but everytime I enter terminal tools, it loads up new container to execute command, and then kill container causing delay for bootup and closing.
In case it is still relevant to someone: You might want to create a VS Code development container to use dockerized binaries.
For this to work, a .devcontainer.json is required which could be as simple as:
{
"image": "mcr.microsoft.com/vscode/devcontainers/typescript-node:0-12"
}

neo4j 3.4.0 ubuntu: could not find or load main class org.neo4j.server.CommunityEntryPoint

I downloaded neo4j 3.4.0 Community edition on Ubuntu 16.04 and installed it.
I launched it successfully once with command ./neo4j console
But after I restarted the system, I used the same command ./neo4j console in /bin/, there is an error: could not find or load main class org.neo4j.server.CommunityEntryPoint
Anyone knows how to solve it?
the neo4j have been based on java. please check jdk path in env.
After trying many things (and no success).
I reinstalled the app by deleting ~/.configs/Neo4j-desktop and running again the Appimage file.
consider by this action you will lose license-key (and if you use Appimage version also all Db-data) so backup first if you have important data.

Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore

I am using RabbitMQ. For some reason the rabbitMQ service stops as soon as you start it. I saw following error in the event log:
RabbitMQ: Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore.
Someone told me to run this command: erl -sname rabbit
This command generates following output:
{(no error logger present")i neirtr otre: r"mEirnraotri nign ipnr odcoe_sbso o<
t0".,2{.b0a>d awrigt,h[ {eexrilt_p rviaml_uleo:a d{ebra,dcahregc,k[_{feirlle__pr
reismu_llto,a3d,e[r{,fcihleec,k"_efrill_e_prreismu_llto,a3d,e[r{.feirlle",}\,"{e
lriln_ep,r29i3m}_]l}o,a{dienri.te,rgle\t"_}b,o{olti,n1e,,[2{9f3i}l]e},,"{iinniit
t.,egrelt"_}b,o{olti,n1e,,[78{9f}i]l}e,,{\i"niinti,tg.eetr_lb\o"o}t,,{2l,i[n{ef,
i7l8e9,}"]i}n,i{ti.neirtl,"g}e,t{_lbionoet,,7762},][}{,f{iilnei,t\,"dion_ibto.oe
tr,l3\,"[}{,f{illien,e",i77n6i}t].}e,r{li"n}i,t{,ldion_eb,o74o3t},]3},][}{}f
ile,\"init.erl\"},{line,743}]}]}\n"
I am not sure how to interpret this output. I wonder the error is specific to RabbitMQ or erlang.
I have no idea how to procceed. Please suggest.
I have just run into this problem setting up RabbitMq as a service up on a new Windows server. The only thing I can think of that broke it for me is renaming the new windows box after installing the RabbitMq service, but before testing it for the first time.
First off I noticed it ran as an application fine. I solved it by installing the service again using the command from the manual install instructions:
rabbitmq-service install
Assuming that you have your path variables included for the RabbitMq sbin directory.
The only thing that worked for me was to clear the directory C:\Users\xxxxx\AppData\Roaming\RabbitMQ.
(cf. https://groups.google.com/forum/#!topic/rabbitmq-users/138RHzzsORU)
In my scenario, Two directories of Erlang under C:\Program Files with different versions were there, I uninstalled one of the version, also uninstalled RabbitMQ service from Windows services list - Restarted the system.
Again ran RabbitMQ setup - RabbitMQ service was setup successfully.
I ran into the same issue when installing RabbitMQ 3.7.17 via Chocolatey on a Windows Server 2016.
After trying most of the suggested solutions, the one that worked for me was:
rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start
PS: if your PATH is not configured for RabbitMQ, this is the folder you need to run the commands from: C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.17\sbin (if your version is also 3.7.17).
For anyone else looking up this error: double check your config files and SSL files. I ran into this issue when I had specified the ssl_options.cacertfile with ca.pem but the file was mistyped as ca-pem in the directory. Unfortunately RabbitMQ wasn't smart enough to catch the missing file and was dumping with no logs.
I found a name conflict with an env-variable, I use since years - means, this was not a problem with the previous version.
I have "Logs" and apps will write into that directory, usually with their own subdirectories. RMQ uses the same variable name and means a plain filename.
So using: "C:\Users\rabbit\AppData\Roaming\RabbitMQ\log\log" made it working for me - this is in the rabbit's users private environment. So the global settings are now not seen by rabbit. Uff. And it looks like, this is really meant as a filename and after I changed it again to "rabbit#c4711-node.log", it writes like the earlier version. The service starts now for me - but this was really messy and I don't trust it at the moment ;-)
From my perspective, one should run such a service under its own account. If the service is already there, create a local user account - I've used "rabbit" and give it a password. The account I created, got admin right from me - but I currently just dont know, it this is needed. At least it should not - will see this later. If you have account/credentials, go to the service manager and click properties for the service. On the second tab ("log on"), check "this account" and enter username an password. If you have an account for the service you should be able to login with user.
Then you can specify environment variables with user scope.
To do this, logon with the user you created. Go to ControlPanel/System and click "advanced":
In the Environment UI, enter user specific variables
in the top panel:
Note: This was not my rabbit user, because I currently cannot login there. The variables, I entered - not guaranteed, it is correct - are the following:
RABBITMQ_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ
RABBITMQ_CONFIG_FILE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\rabbitmq
RABBITMQ_LOGS=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log
RABBITMQ_LOG_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log
RABBITMQ_NODE_IP_ADDRESS=192.168.26.3
This works for me.
The last time I installed it - some years ago - it was better to understand - this time, sorry, I dont .....
But made it workig.
According to RabbitMQ Install on Windows guide here
Troubleshooting When Running as a Service
In the event that the Erlang VM crashes whilst RabbitMQ is running as
a service, rather than writing the crash dump to the current directory
(which doesn't make sense for a service) it is written to an
erl_crash.dump file in the base directory of the RabbitMQ server (set
by the RABBITMQ_BASE environment variable, defaulting to
%APPDATA%\%RABBITMQ_SERVICENAME% - typically %APPDATA%\RabbitMQ
otherwise).
Basically it means to add a Environment Variable named RABBITMQ_BASE with value %APPDATA%\RabbitMQ
This fixed my problem.
I ran into this issue and the only way I could solve it was by unintalling RabbitMQ, unsintalling Erlang, rebooting the server and installing a clean Erlang and a clean RabbitMQ.
After all this, I could finally install and start the RabbitMQ instance as a windows service.
Tried all the solutions in this post and nothing worked.
Lucky for me it was in our development server, so the loss was acceptable.
The downside to this approach is that you loose all configs (all users, virtual hosts, etc).
It's all gone and you have to reconfigure the RabbitMQ instance from scratch.
Checking in from 2021:
None of this worked for me, the problem was actually that I had another instance of RabbitMQ running inside my WSL Ubuntu distro.
I had the same issue and I just downloaded the latested version of erlang and RabbitmQ and this resolved the issue for me.
While I got the same error, and the root cause for me seems related to Erlang cookie, I fixed it by doing:
Create a folder to store cookie, for example I am using C:\erl-23.2\home .
Add new system environment variable HOMEDRIVE, set the value to C:\
Add new system environment variable HOMEPATH, set the value to erl-23.2\home
This is making use of the rule:
%HOMEDRIVE%%HOMEPATH%.erlang.cookie (usually C:\Users%USERNAME%.erlang.cookie for user %USERNAME%) if both the HOMEDRIVE and HOMEPATH environment variables are set
Since I was doing a migration when the error popped up, I still had my original .erlang.cookie in C:\Users\Me, but the new installation generated a new .erlang.cookie during installation in C:\Windows\System32\config\systemprofile. After making them equal again and performing these steps from the sbin dir, it worked again.
rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start
I had this today trying to install rabbitmq 3.8.0 with erlang 22.0 (64Bit).
Even completely re-installing both erlang and rabbit, deleteing all directories and registry did not help at all. Also i tried to set the needed PATH variables for erlang manually and re-installing the service each time.
The only solution working for me was installing another version of erlang. In my sepcific case i used erlang 21.3 in the 32bit version.
Doing that, no manually action was necessary and rabbit was up and running (after re-installing the service).

How to disable Basic Auth on Neo4j 2.2.0-RC01

Currently I use Neo4j 2.2.0-RC01. It has basic Auth enable as default. How can I disable the default Basic Auth on Neo4j 2.2.0-RC01?
In file conf/neo4j-server.properties, change the dbms.security.auth_enabled to false and restart Neo4j:
# Require (or disable the requirement of) auth to access Neo4j
dbms.security.auth_enabled=false
For me that was only part of the problem. I had also installed neo4j onto my machine using brew install before I installed the gem. When I was trying to start the server, it was trying to start the server from the brew installation, from inside the Cellar. I had edited the config, as described above, in the install in my project that I produced by following the neo4j install instructions. So it wasn't working.
Only when I brew uninstalled neo4j, and executed ./neo4j start_ from the bin folder, did it all work properly for me.

Neo4j unsupported Java runtime. use JDK 6. ubuntu 12.04

I am a new user to Neo4j usage and my OS is 32bit Ubuntu12.04. You need to start the server from Terminal by entering into the directory of Neo and then type
bin/neo4j start
which is all set and correct was until yesterday, there is some problem now and I get this
WARNING: Max 1024 open files allowed, minimum of 40 000 recommended.
See the Neo4j manual.WARNING! You are using an unsupported Java runtime.
Please use JDK 6.Neo4j Server already running with pid 3527
I am clueless to why this error occured suddenly.
When I run
localhost:7474
on my browser it doesn't recognise it any more.I tried to update my version following Install JDK6 on Ubuntu 12.04 link, but doesn't seem to work.Still gives the same error.
After checking for the version from terminal
java -version
I recieve
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1~12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)
How do make localhost:7474 work on my machine?
Thanks.
For some licensing issues, Ubuntu does no longer ship Oracle/Sun JDKs directly, blame Oracle for that!
There is https://github.com/flexiondotorg/oab-java6 which automatically fetches Oracle/Sun JDKs, build local deb packages from them and puts them in a local apt repository.
Using update-java-alternatives you can set your system's default jdk.
Regarding the "open file" warning see http://docs.neo4j.org/chunked/stable/configuration-linux-notes.html#_setting_the_number_of_open_files.
We are using Ubuntu 12.04 as well. We use OpenJDK 1.6.0_24.
We ran into similar problems when we initially used Neo4j. Here are the instructions to get pass those hurdles.
You need to be able to open more files.
Edit /etc/security/limits.conf and add these two lines:
root soft nofile 40000
root hard nofile 40000
Edit /etc/pam.d/su and uncomment or add the following line:
session required pam_limits.so
Finally check that limit was changed. You might need to reboot.
ulimit -n
Returns 40000
Next in order to be able to use the webadmin on Ubuntu. You need to change one of the properties files inside neo4j. It works without this change on a Mac, I know.
Edit the neo4j-server.properties file:
cd [neo4j installation]/conf/
vim neo4-server.properties
Change this line
org.neo4j.server.webserver.address=0.0.0.0
The default is set to only listen for connections from localhost (that's why it works on a Mac). This way you can access the webadmin from anywhere. This can be a security problem though.
Hope this helps.
This seems to be a bug in neo4j about detection of running instance. By the reported pid there was some script about gnome and proxy, which after being killed (including parent lens script) let me start neo4j with OpenJDK. I guess they made it too smart.

Resources