Created 03-22-2016 03:30 PM
Env: Ubuntu 14.04.1 HDP 2.4
Trying to install nifi with https://github.com/abajwa-hw/ambari-nifi-service but I am ending up with
Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/stacks/HDP/2.4/services/NIFI/package/scripts/master.py", line 201, in <module>
Master().execute(
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 219, in execute
method(env)
File "/var/lib/ambari-agent/cache/stacks/HDP/2.4/services/NIFI/package/scripts/master.py", line 109, in install
self.configure(env, True)
File "/var/lib/ambari-agent/cache/stacks/HDP/2.4/services/NIFI/package/scripts/master.py", line 145, in configure
Execute(format("cd {params.conf_dir}; mv flow.xml.gz flow_$(date +%d-%m-%Y).xml.gz ;"), user=params.nifi_user, ignore_failures=True)
File "/usr/lib/python2.6/site-packages/resource_management/core/base.py", line 154, in __init__
self.env.run()
File "/usr/lib/python2.6/site-packages/resource_management/core/environment.py", line 163, in run
Logger.info("Skipping failure of %s due to ignore_failures. Failure reason: %s" % (resource, str(ex)))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 191: ordinal not in range(128)More info here
Created 03-24-2016 06:01 AM
Fixed with this code
+# encoding=utf8
+
import sys, os, pwd, grp, signal, time, glob import sys, os, pwd, grp, signal, time, glob
from resource_management import * from resource_management import *
from subprocess import call from subprocess import call
+reload(sys)
+sys.setdefaultencoding('utf8')
Created 03-24-2016 06:01 AM
Fixed with this code
+# encoding=utf8
+
import sys, os, pwd, grp, signal, time, glob import sys, os, pwd, grp, signal, time, glob
from resource_management import * from resource_management import *
from subprocess import call from subprocess import call
+reload(sys)
+sys.setdefaultencoding('utf8')
Created 04-18-2016 07:57 PM
Python's default encoding is ASCII which throws UnicodeDecodeError when trying to decode a stream/array of bytes to Unicode. Setting the default encoding to UTF-8 will fix the conversion from bytes to UTF-8 encoded string.