I want to install Cosmos. I have installed Apache-Hadoop 2.6 with a single node and my next move was install cosmos-gui.
So I follow the official installation guide - https://github.com/telefonicaid/fiware-cosmos/blob/develop/cosmos-gui/README.md#installation but npm start command doesn't work.
Error:
fs.js:432
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT, no such file or directory ''
at Object.fs.openSync (fs.js:432:18)
at Object.fs.readFileSync (fs.js:289:15)
at Object.<anonymous> (/home/cosmos-gui/fiware-cosmos/cosmos-gui/src/app.js:55:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
npm ERR! [email protected] start: `node ./src/app.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the cosmos-gui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./src/app.js
npm ERR! You can get their info via:
npm ERR! npm owner ls cosmos-gui
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.10.0-229.7.2.el7.x86_64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! cwd /home/cosmos-gui/fiware-cosmos/cosmos-gui
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/cosmos-gui/fiware-cosmos/cosmos-gui/npm-debug.log
npm ERR! not ok code 0
my conf/cosmos-gui.json
{
"gui": {
"port": 443,
"private_key_file": "",
"certificate_file": ""
},
"clusters": {
"storage": {
"endpoint": "127.0.0.1",
"user": "hadoop",
"private_key": "12345"
},
"computing": {
"endpoint": "127.0.0.1",
"user": "hadoop",
"private_key": "12345"
}
},
"hdfs": {
"quota": 5,
"superuser": "hdfs"
},
"oauth2": {
"idmURL": "https://account.lab.fiware.org",
"client_id": "fromFiLab",
"client_secret": "fromFiLab",
"callbackURL": "http://cosmos.lab.fi-ware.org/auth",
"response_type": "code"
},
"mysql": {
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "12345",
"database": "cosmos"
},
"users_blacklist": [
"root", "admin", "sysadmin", "localadmin"
],
"log": {
"file_name": "/var/log/cosmos/cosmos-gui/cosmos-gui.log",
"date_pattern": ".dd-MM-yyyy"
}
}
As the installation guide says:
- private_key_file: File name containing the private key used to encrypt the communications with the clients.
- certificate_file: File name containing the self-signed X509 certificate used by the server to send the clients the public counterpart of the above private key (see Annex B].
So, you have to configure the private_key_file and the certificate_file configuration parameters. You can follow this link in order to know how to create the key and a self-signed certificate.
EDIT 1
Once configured the above files, the user will experience an error related to the binding of a port under 1024 being a non root user.
This can be fixed, of course, by configuring a port over 1024; or setting this capability: setcap 'cap_net_bind_service=+ep' /path/to/program; or doing IP forwarding (preferred method).
Start the GUI in a port over 1024, e.g. 9090, and run this commands in order to configure IP forwarding:
$ iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 9090
Then, you can type https://<host_running_the_gui> in your browser and the traffic will be automatically forwarded to the real listening port (in the example, 9090).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With