cfn-signal: command not found

Have You tried accessing the binary with the full path?

Maybe Your $PATH variable doesn't contain the default paths? echo $PATH should give something like:

[root@server ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

If it's empty, You may set the PATH variable with this command

export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

On CentOS possible default full paths are:

/usr/bin/cfn-signal - from package: heat-cfntools

You may install the required package with command yum install {package}

On Debian possible default full paths are:

/usr/bin/cfn-signal - from package: heat-cfntools

You may install the required package with command apt-get install {package}
Error in other languages:
cfn-signal: bevel nie gevind nie
cfn-signal: comandă negăsită
cfn-signal: comando não encontrado
cfn-signal: commande introuvable
cfn-signal: command not found
cfn-signal: käsku ei ole
cfn-signal: không tìm thấy lệnh
cfn-signal: komanda nerasta
cfn-signal: Kommando nicht gefunden.
cfn-signal: kommandot finns inte
cfn-signal: komut yok
cfn-signal: nie znaleziono polecenia
cfn-signal: níor aimsíodh an t-ordú
cfn-signal: no se encontró la orden
cfn-signal: no s'ha trobat l'ordre
cfn-signal: opdracht niet gevonden
cfn-signal: parancs nem található
cfn-signal: perintah tidak ditemukan
cfn-signal: príkaz nenájdený
cfn-signal: příkaz nenalezen
cfn-signal: команда не найдена
cfn-signal: командата не е открита
cfn-signal: 命令找不到
cfn-signal: コマンドが見つかりません