Error
{ error_logger, {{2004,11,11},{19,28,4}}, 'Can\'t set long node name!\nPlease check your configuration\n',[] } { error_logger, {{2004,11,11},{19,28,4}}, crash_report, [ [ {pid,<0.18.0>}, {registered_name,net_kernel}, {error_info,{error,badarg}}, { initial_call, {gen,init_it,[gen_server,<0.15.0>,<0.15.0>,{local,net_kernel},net_kernel,{ejabber,longnames,15000},[]]} }, {ancestors,[net_sup,kernel_sup,<0.8.0>]}, {messages,[]}, {links,[<0.15.0>]}, { dictionary, [{longnames,true}] }, {trap_exit,true}, {status,running}, {heap_size,610}, {stack_size,21}, {reductions,2761} ], [] ] }
Explanation
You are starting the Erlang node, and you specify a short node name with the option -name. This tries to set a long node name, but it do not work.
Solution
Try to specify the long node name:
erl -name ejabberd@server.net ...
check your computer name and
check your computer name and your short host name or alias name in /etc/hosts, match this
1. Check your computer name
[wendy@nyc123]$
nyc123 is your computer name
2. Check your short hostname
[wendy@nyc123]$ hostname -s
[wendy@nyc123]$ nyc456
This error could happen because your computer name and short host name didn't match. To match this, you can change the computer hostname or alias name.
- Change computer host name
[wendy@nyc123]$ hostname nyc456
close your terminal and open again
[wendy@nyc456]$
the computer name has changed
or
- Change alias name in /etc/hosts
127.0.0.1 nyc123.com nyc123
save and check again
[wendy@nyc123]$ hostname -s
[wendy@nyc123]$ nyc123
Restart your ejabberd!
[root@nyc123]$ ejabberdctl start
[root@nyc123]$ ejabberdctl status
The node 'ejabberd@nyc123.com' is started with status: started
ejabberd 15.09 is running in that node
/etc/hosts
The above error could also happen if your /etc/hosts is in a wrong format. The login prompt will be in a 'strange' format too, mybox.(none) for example.
Using DHCP but still in the need for a fancy hostname?
/etc/hosts:
127.0.0.1 mybox.mydomain mybox localhost