[Openstack] [openstack] [manila] manila-share reporting HDFS share as NOT HEALTHY

Jeff Markley jeff at markleyhut.com
Fri May 27 17:31:38 UTC 2016


Solved...

Turns out the hdfs command was not in the path of the hadoop user.
Added the path to /etc/environment file on my setup and restarted the
manila-share service.

Also cleaned up my manila.conf file for anyone out there trying to get
HDFS working...

[keystone_authtoken]

auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = manila
password = *****

[DEFAULT]

debug = True
verbose = True

my_ip = 10.0.0.11
rpc_backend = rabbit
enabled_share_backends = hdfs
#enabled_share_backends = hdfs,generic
enabled_share_protocols = HDFS,NFS
default_share_type = hdfs_share
osapi_share_extension = manila.api.contrib.standard_extensions
rootwrap_config = /etc/manila/rootwrap.conf
api_paste_config = /etc/manila/api-paste.ini
share_name_template = share-%s
scheduler_driver = manila.scheduler.drivers.filter.FilterScheduler
auth_strategy = keystone

[DATABASE]

connection = mysql+pymysql://manila:*****@controller/manila

[oslo_concurrency]

lock_path = /var/lib/manila/tmp

[neutron]

memcached_servers = localhost:11211
auth_uri = http://controller:5000
password = *****
username = neutron
auth_url = http://controller:35357
auth_type = password

[nova]

memcached_servers = localhost:11211
auth_uri = http://controller:5000
password = *****
username = nova
auth_url = http://controller:35357
auth_type = password

[cinder]

memcached_servers = localhost:11211
auth_uri = http://controller:5000
password = *****
username = cinder
auth_url = http://controller:35357
auth_type = password

#[generic]
#share_backend_name = GENERIC
#share_driver = manila.share.drivers.generic.GenericShareDriver
#driver_handles_share_servers = True
#service_instance_user = manila
#service_image_name = manila-service-image
#password = *****
#username = manila
#path_to_private_key = /root/.ssh/id_rsa
#path_to_public_key = /root.ssh/id_rsa.pub

[oslo_messaging_rabbit]

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = *****

[hdfs]

share_backend_name = HDFS
share_driver = manila.share.drivers.hdfs.hdfs_native.HDFSNativeShareDriver
hdfs_namenode_port = 9000
hdfs_namenode_ip = controller
driver_handles_share_servers = False
hdfs_ssh_name = hadoop
hdfs_ssh_port = 22
hdfs_ssh_pw = *****


Hope this helps someone.

On Thu, May 26, 2016 at 1:49 PM, Jeff Markley <jeff at markleyhut.com> wrote:
> Would anyone be able to tell me why manila-share is reporting an HDFS
> share as not healthy when 'hdfs fsck /' reports HEALTHY?
>
> This is a 2 node Makita install.
>
> Log entry below:
>
> 2016-05-25 22:54:04.913 21330 DEBUG oslo_concurrency.processutils
> [req-949a467e-245d-4421-b980-ab8dd1e2ebce - - - - -] Running cmd
> (SSH): hdfs fsck / ssh_execute
> /usr/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:458
> 2016-05-25 22:54:04.914 21330 DEBUG paramiko.transport
> [req-949a467e-245d-4421-b980-ab8dd1e2ebce - - - - -] [chan 0] Max
> packet in: 32768 bytes _log
> /usr/lib/python2.7/dist-packages/paramiko/channel.py:1072
> 2016-05-25 22:54:05.341 21330 DEBUG paramiko.transport [-] [chan 0]
> Max packet out: 32768 bytes _log
> /usr/lib/python2.7/dist-packages/paramiko/channel.py:1072
> 2016-05-25 22:54:05.342 21330 DEBUG paramiko.transport [-] Secsh
> channel 0 opened. _log
> /usr/lib/python2.7/dist-packages/paramiko/transport.py:1545
> 2016-05-25 22:54:05.347 21330 DEBUG paramiko.transport [-] [chan 0]
> Sesch channel 0 request ok _log
> /usr/lib/python2.7/dist-packages/paramiko/channel.py:1072
> 2016-05-25 22:54:05.349 21330 DEBUG paramiko.transport [-] [chan 0]
> EOF received (0) _log
> /usr/lib/python2.7/dist-packages/paramiko/channel.py:1072
> 2016-05-25 22:54:05.349 21330 DEBUG paramiko.transport [-] [chan 0]
> EOF sent (0) _log
> /usr/lib/python2.7/dist-packages/paramiko/channel.py:1072
> 2016-05-25 22:54:05.350 21330 DEBUG oslo_concurrency.processutils
> [req-949a467e-245d-4421-b980-ab8dd1e2ebce - - - - -] Result was 127
> ssh_execute /usr/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:489
> 2016-05-25 22:54:05.351 21330 ERROR
> manila.share.drivers.hdfs.hdfs_native
> [req-949a467e-245d-4421-b980-ab8dd1e2ebce - - - - -] HDFS is not in
> healthy state.
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager
> [req-949a467e-245d-4421-b980-ab8dd1e2ebce - - - - -] Error encountered
> during initialization of driver 'HDFSNativeShareDriver' on
> 'controller at hdfs' host. HDFS is not in healthy state.
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager Traceback
> (most recent call last):
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager   File
> "/usr/lib/python2.7/dist-packages/manila/share/manager.py", line 249,
> in init_host
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager
> self.driver.check_for_setup_error()
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager   File
> "/usr/lib/python2.7/dist-packages/manila/share/drivers/hdfs/hdfs_native.py",
> line 398, in check_for_setup_error
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager     raise
> exception.HDFSException(msg)
> 2016-05-25 22:54:05.352 21330 ERROR manila.share.manager
> HDFSException: HDFS is not in healthy state.
>
>
> manila.conf
>
> [keystone_authtoken]
>
> auth_uri = http://controller:5000
> auth_url = http://controller:35357
> memcached_servers = controller:11211
> auth_type = password
> project_domain_name = default
> user_domain_name = default
> project_name = service
> username = manila
> password = *****
>
> [DEFAULT]
> rpc_backend = rabbit
> #manila_service_keypair_name = manila-service
> enabled_share_backends = hdfs,generic
> replica_state_update_interval = 300
> #lvm_share_volume_group = lvm-shares
> wsgi_keep_alive = False
> enabled_share_protocols = HDFS
> default_share_type = hdfs_share
> state_path = /var/lock/manila
> osapi_share_extension = manila.api.contrib.standard_extensions
> rootwrap_config = /etc/manila/rootwrap.conf
> api_paste_config = /etc/manila/api-paste.ini
> share_name_template = share-%s
> scheduler_driver = manila.scheduler.drivers.filter.FilterScheduler
> debug = True
> verbose = True
> auth_strategy = keystone
>
> [DATABASE]
> max_pool_size = 40
> connection = mysql+pymysql://manila:*****@controller/manila
>
> [oslo_concurrency]
> #lock_path = /var/lock/manila
>
> [neutron]
> memcached_servers = localhost:11211
> #signing_dir = /var/lib/manila
> #cafile = /etc/keystone/ssl/certs/ca.pem
> auth_uri = http://controller:5000
> #project_domain_name = Default
> #project_name = service
> #user_domain_name = Default
> password = *****
> username = neutron
> auth_url = http://controller:35357
> auth_type = password
>
> [nova]
> memcached_servers = localhost:11211
> #signing_dir = /var/lib/manila
> #cafile = /etc/keystone/ssl/certs/ca.pem
> auth_uri = http://controller:5000
> #project_domain_name = Default
> #project_name = service
> #user_domain_name = Default
> password = *****
> username = nova
> auth_url = http://controller:35357
> auth_type = password
>
> [cinder]
> memcached_servers = localhost:11211
> #signing_dir = /var/lib/manila
> #cafile = /etc/keystone/ssl/certs/ca.pem
> auth_uri = http://controller:5000
> #project_domain_name = Default
> #project_name = service
> #user_domain_name = Default
> password = *****
> username = cinder
> auth_url = http://controller:35357
> auth_type = password
>
> [generic]
> share_backend_name = GENERIC
> share_driver = manila.share.drivers.generic.GenericShareDriver
> driver_handles_share_servers = True
> service_instance_user = manila
> service_image_name = manila-service-image
> password = *****
> username = manila
> #path_to_private_key = /root/.ssh/id_rsa
> #path_to_public_key = /root.ssh/id_rsa.pub
>
> [oslo_messaging_rabbit]
> rabbit_userid = openstack
> rabbit_password = *****
> rabbit_hosts = controller
>
> [hdfs]
> share_backend_name = HDFS
> share_driver = manila.share.drivers.hdfs.hdfs_native.HDFSNativeShareDriver
> hdfs_namenode_port = 9000
> hdfs_namenode_ip = controller
> driver_handles_share_servers = False
> hdfs_ssh_name = hadoop
> hdfs_ssh_port = 22
> #hdfs_ssh_private_key = /home/hadoop/.ssh/id_rsa
> hdfs_ssh_pw = *****




More information about the Openstack mailing list