How to start Memgraph database on Ubuntu? - memgraphdb

I know that there are two ways to run Memgraph on Ubuntu:
sudo systemctl start memgraph
sudo service memgraph start
Is there a preferred way to run Memgraph?
I've seen that if Ubuntu is run as WSL that the command for running it is sudo runuser -l memgraph -c '/usr/lib/memgraph/memgraph'. Can I use this command also on standalone Ubuntu installation, or is this one only for WSL?

systemctl interacts with systemd which is an init(and manager) system. When the Linux kernel is booted, there are some services that must start, etc. These are managed by systemd which is controlled by systemctl. service is the same as systemctl but for older systems which do not use systemd as their init system.
This command is simply running the executable placed in /usr/lib/memgraph/memgraph with the user memgraph.
The difference between these two is that the latter one won't start on the startup while the first one will.

Related

memgraph service not started after installation on WSL

After installation of debian package of memgraph on windows subsystem for Linux. memgraph is not started automatically.
Install debian package for memgraph. Some errors will be shown for chattr like
chattr: Inappropriate ioctl for device while reading flags on /usr/share/memgraph/examples/Europe/snapshots.
After that memgraph is not started. Running systemctl start memgraph
gives the
error Failed to connect to bus: No such file or directory.
which is expected as systemd is not supported by WSL.
So, how can memgraph be started in a WSL shell.
By default, there is no systemd on WSL, which means that Memgraph doesn't run automatically.
Try to run Memgraph manually by executing the following shell command:
/usr/lib/memgraph/memgraph
The concrete path depends on which Linux do you use.
locate memgraph
Might help you to figure out the right path.

Fabric-Composer on Windows 10 linux sub system?

Has anyone succeeded in running fabric-composer on windows 10 linux sub-system running ubuntu 16.04 ?
You can run composer on windows 10 WSL (windows Subsystem for linux) but you will not be able to run docker containers in it. Linux Docker containers require a linux kernel and WSL doesn't have a linux kernel. It is a clever piece of technology that converts user space Linux API calls dynamically to windows API calls.
Therefore you will have to run hyperledger fabric either by using docker for windows (which runs it for you in hyper-v) or you run your own hypervisor.
It is possible to have the docker commands run in WSL but it will need to configure it to interact with the docker daemon running inside a hypervisor.
Yes, you can use Hyperledger-fabric-composer on windows 10, but as david said in above answer you will not be able to run docker containers directly from Ubuntu sub-system.
To do that you have to do following things:
METHOD:- 1
You will need to install docker CE Client & docker-compose in Ubuntu Subsystem and install Docker(version v17.09) on Windows as well. But those dockers won’t connect together out of the box.
So you need to expose the daemon to port 2375 first by right-clicking the docker icon on task-bar then click setting then check the Expose daemon box.
Now the docker server will be able to connect via Windows network including Ubuntu subsystem. We need to set environment variables in Ubuntu by running below command:
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
source ~/.bashrc
These commands will add DOCKER_HOST to the variables every time we start a new Bash.
METHOD:- 2
If you don't want to use ubuntu sub-system, then you can simply install Git Bash and Docker(version v17.09).
Then install Hyperledger-Fabric by using Git Bash.

Connecting Docker Windows WSL Ubuntu to VMware Ubuntu

I am trying to connect my Windows 10 Home system to be able to run full Linux OS Docker containers. I have installed Docker on both WSL Ubuntu 18.04 as well as a VMware Ubuntu 18.04.
I was trying to follow this guide.
However, I get stuck trying to configure the Daemon as per the instructions.
Can’t use Docker for Windows?
This is only necessary if you are NOT running Docker for Windows!
No problem, just configure your Docker daemon to use -H tcp://0.0.0.0:2375 and --tlsverify=false. Then you can follow along with the rest of this guide exactly.
If you go down this route, I highly recommend rolling your own VM with VMware Player instead of using the Docker Toolbox because VirtualBox has crazy edge case shared folder bugs that will ruin your life at some point. Don’t worry, VMware Player is free. Just Google how to set up Ubuntu 16 server on VMware Player.
When I try to change the Docker Daemon by making a daemon.json file I get errors. I've also tried editing the .profile files and the .bashrc as per other guides (another guide), with no luck.
I am unable to check the DOCKER_HOST variable on the VM Ubuntu.
Don't make things complicated. In your case, why WSL if you just want to connect to a remote daemon? Why not simply use the windows docker client?
Setup you favorite local VM with docker.
Example: I have installed a CentOS distro running on local VMWare Workstation. All Hyper-V of course deinstalled/deactivated.
In this VM, enable tcp access for the daemon.
If you have a systemd linux distro (like mine CentOS), execute this:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo echo '[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375' >> /etc/systemd/system/docker.service.d/options.conf
sudo systemctl daemon-reload
sudo systemctl restart docker`
Test if the port is open with docker info. You should get an API access warning at the bottom result.
Download the Windows docker cli zip from here: https://download.docker.com/win/static/stable/x86_64/
Move the docker.exe to any folder, for ex. your Documents folder.
Then put this folder path into your Windows PATH variable.
Set the docker host: Open PowerShell, execute setx DOCKER_HOST <VM-IP>:2375 and close it.
Open a new PowerShell and call docker info.
You should see the docker and daemon infos.
Do what ever you like now... :-)

Docker can not run on Windows 10 linux child system

I just install the Windows 10 Anniversary update which has a new feature that linux child system. So I try to run docker in Windows 10 ubuntu bash(linux child system). Why I want to install docker in linux child system is because:
Windows 10 native docker 1.12 need Hyper-V, but Vmware couldn't run if Hyper-V enable. I have a lot images created by Vmware, it isn't so easy to switch to Hyper-v
I don't want to use Docker Toolbox, it need install VirtualBox, just redunant.
apt-get is fine, docker install success, but fail to start.
$ sudo service docker start
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
* Starting Docker: docker [ OK ]
$ docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
I have seen this post can-you-run-docker-natively-on-the-new-windows-10-ubuntu-bash-userspace, some people says that it is no posible to run docker in such linux child system, but there also some contrary opinions.
So, I want to ask is there any way to walk around this? Or I have to wait MS update this child system(since it is still beta now).
You have two Problems in there:
the linux child system does not provide the upstart service like e.g. ubuntu. You can work around this by running the docker deamon directly in foreground with docker daemon ...
This does nearly shure not work because docker requires features of the linux kernel like namespaces and capabilities. I don't think the NT-Kernel does implement such exotic features.

apache mesos is not recognized as a service in a ubuntu linux environment

Hi I am trying to install apache mesos in my ubuntu based system. I have installed zookeeper and marathon along with this setup.
apt-get install mesos marathon
it says its success but when i try to see available services systems does not show mesos-master or slaves as available services. also
service mesos-master/slave start
says unrecognized service. any idea?
I had the same issue, so after trying multiple tricks .. I found that you can start the mesos-master using the following command:
mkdir ~/workdir; sudo mesos master --work_dir=/home/azureuser/wokdir&
Some documentation has not matched actual installations for me - Mesos may installed to be managed by upstart/systemd kinds of commands rather than service. Most recently for me, a CentOS 6.6 install of Mesos has landed in upstart-managed territory, e.g.:
start mesos-master
stop mesos-master
status mesos-master
YMMV, but that's what I've recently seen.
I faced same issue, I was not able to start mesos-master on UBUNTU-14.04 although I double checked installation and zookeeper service started successfully and tested well.
I found work around to start mesos-master service.
$ cd /usr/sbin/
$ sudo ./mesos-master --work_dir=/var/lib/mesos --log_dir=/home/rajeev/logs/mesos/
above command run mesos-master service successfully [But sudo service mesos-master start command failed to start mesos master node]

Resources