Here's how I would do it:
input="hadoop-client - 22.214.171.124-91"
if [[ "$input" =~ ([0-9\.]+) ]] ; then
echo "Matched '$value'"
It's not one line, but that's an advantage for me. It's readable, and uses only the tools it needs to - a regular expression to extract the digits of the version number, and then a replacement to strip out the '.' characters. Additionally, it gives a basic form of validation that what was given is what was expected - if you wanted to be more cautious, you'd throw in
hadoop-client\ -\ before the bracket in the regex to check that the input really is what you think it should be.
Relies on regular expressions in bash, but as they've been around since bash version 3 (2004), that's probably ok.