tfoldi / fuse-tableaufs

User-space filesystem for Tableau Server for accessing workbooks and data sources as files.
BSD 3-Clause "New" or "Revised" License
20 stars 3 forks source link

mount_fuse: No such file or directory #4

Closed ghost closed 7 years ago

ghost commented 9 years ago

Hi Tamás,

Thanks for your quick response, I'm really looking forward to get this working! Next problem on OSX, even after installing FUSE, I get the error message:

ls: /System/Library/Filesystems/fuse.fs/Contents/Resources/mount_fuse: No such file or directory

One reason could be this answer: The /System directory is reserved for Apple. Custom file systems need to be installed in /Library/Filesystems.

Is it something that you would need to fix on your end ?

Please confirm, thanks!

tfoldi commented 9 years ago

Well, I saw it working today on my colleague's OSX, so the chances that it will work for you as well are relatively high

Could you just show me the output of the following (mount) command with your host/pass?

./src/tableaufs -d -o pghost=tabsrver.local,pgport=8060,pguser=readonly,pgpass=readonly /tmp/yourdir

Execute it form the project root.

ghost commented 9 years ago

Hi Tamás,

I do get the same error from both places. However, it is a bit more descriptive when coming from the sudo command.

sudo mount -t fuse -o "ro,pghost=ma-tabld-wapp01,pgport=8060,pguser=tblwgadmin,pgpass=my_pass_word" tableaufs /my/mount/point Password: mount: exec /System/Library/Filesystems/fuse.fs/Contents/Resources/mount_fuse for /Users/keithhelfrich/Private/mount/tableau-dev: No such file or directory

With the above command, at least we can see the No such file or directory error is caused by the absence of /System/Library/Filesystems/fuse.fs/Contents/Resources/mount_fuse.

This is also confirmed by searching for mount_fuse in that location:

ls: /System/Library/Filesystems/fuse.fs/Contents/Resources/mount_fuse: No such file or directory

...

When I try the command you've given, directly from the project root, this is what I get:

./src/tableaufs -d -o pghost=ma-tabld-wapp01,pgport=8060,pguser=tblwgadmin,pgpass=my_pass_word /my/mount/point -bash: ./src/tableaufs: No such file or directory

Thoughts ?

Thanks!

tfoldi commented 9 years ago

Hey,

I just added https://github.com/tfoldi/fuse-tableaufs/blob/master/docs/install-fuse-tableaufs-on-osx.markdown with OSX installation steps.

After you installed the tableaufs (as descibed above) please execute this:

tableaufs -d -o pghost=ma-tabld-wapp01,pgport=8060,pguser=tblwgadmin,pgpass=my_pass_word /my/mount/point

This should mount (if you installed tableaufs properly with sudo make install) the file system. Please note that tableaufs is the command to mount, not mount.

The mount command throws funny errors, I am investigating it - but in the meanwhile you should be able to mount the system with tableaufs command directly.

ghost commented 9 years ago

Hi Tamás,

Thanks so much for your support. The new tableaufs command you've given does get me a bit further along. After this, I have resolved a few additional errors, but now I'm stuck on one that I cannot fix myself.

First I encountered this one, which I have fixed by editing pg_hba.confon the Tableau Server:

FATAL: no pg_hba.conf entry for host "17.149.229.144", user "tblwgadmin", database "workgroup", SSL off

Next I encountered this one, which I have fixed by running the command via sudo:

TableauFS v0.7.1 using FUSE API Version 27 Connecting to tblwgadmin@ma-tabld-wapp01:8060 mount_osxfusefs: failed to mount /Users/keithhelfrich/mount/tableau-dev@/dev/osxfuse2: Operation not permitted

Now, when I run tableaufs with sudo, I get the following:

TableauFS v0.7.1 using FUSE API Version 27 Connecting to tblwgadmin@ma-tabld-wapp01:8060 unique: 0, opcode: INIT (26), nodeid: 0, insize: 56 INIT: 7.8 flags=0x00000000 max_readahead=0x00100000 INIT: 7.8 flags=0x00000000 max_readahead=0x00100000 max_write=0x01000000 unique: 0, error: 0 (Undefined error: 0), outsize: 40 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, error: 0 (Undefined error: 0), outsize: 96 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, error: 0 (Undefined error: 0), outsize: 96 . ... etc ... . TFS_WG_parse_path: site: .metadata_never_index_unless_rootfs proj: file: unique: 0, error: -2 (No such file or directory), outsize: 16 unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 62 LOOKUP /.metadata_never_index TFS_WG_parse_path: site: .metadata_never_index proj: file: unique: 2, error: -2 (No such file or directory), outsize: 16 unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 76 LOOKUP /.metadata_never_index_unless_rootfs . ... etc ... .

And eventually, while it didn't finish, I decided to cancel.

These to me look like file system errors. So I'm not sure what to do about them ? I did find similar error messages posted here, where a solution is to remove -o noappledouble.

What do you think ?

Thanks!!

gyulalaszlo commented 9 years ago

@keithhelfrich The file not found messages are normal for the files in your console log, I get the exact same messages for these files (.metadata_never_index_unless_rootfs , etc). This is normal behaviour.

BTW: Using sudo shouldnt be necessary, as FUSE runs in user-space and does not require any root privileges (the only time root is necessary is during install, when installing the FUSE kernel extension). My guess is that the folder you are trying to mount to has inappropriate privileges. Just out of curiosity, could you try this?

mkdir /tmp/tabfs
tableaufs -d -f -o "ro,pguser=[...],pgpass=[...],pghost=[...],pgport=[...]" /tmp/tabfs

If this succeeds (it will start up with OSX trying to access a bunch of files, but should finish after a few secs), then the problem is most likely privileges of the target folder.

If the problem doesn't go away, please drop a tweet on @tfoldi and we can try to help you using WebEx or some other screen-sharing tool (but please take note, that we are on Central European Time, which is 9 hours ahead of San Francisco).

ghost commented 9 years ago

Hi Gyula,

Thanks again so much for your support. This will be excellent to get working!

Updates from this end:

Running tableaufs with the -f switch was helpful to avoid the Operation not permitted error.

So then, since the remaining console output is welcome & expected, I have let it run for quite a long time. It is a BIG Tableau Server. All the while, I have seen output similar to what I mentioned above. And eventually the command did finish, without any other exceptions or errors.

I was so excited! But, alas, there is nothing there in the /my/mount/point location. The command was completed, but no fuse drive was mounted when it was done.

I think a little bit of WebEx help would be wonderful, if you're able & willing?

Thanks!

tfoldi commented 9 years ago

-f stands for foreground, so it should not exit or complete. I can imagine that some some osx file indexing services tries to cache/index the contents. I have access to a few big server with 2-3000 workbooks, I can give it a try from osx as well (but with linux we have no issues with such amount of objects)

In the meanwhile I just pinged you on twitter regarding the screensharing magic

mykoolspam commented 9 years ago

Hi Thomas & Keith,

I am running into a similar issue -- I have mounted our Tableau Server using tableaufs -d -o pghost=10.107.0.63,pgport=8060,pguser=tblwgadmin,pgpass=my_pass_word /my/mount/point

and the console outputs the following: TableauFS v0.7.1 using FUSE API Version 27 Connecting to tblwgadmin@tblserver.domain.local:8060 Connection to database 'tblserver.domain.local' failed. FATAL: no pg_hba.conf entry for host "10.107.0.63", user "tblwgadmin", database "workgroup", SSL off unique: 0, opcode: INIT (26), nodeid: 0, insize: 56 INIT: 7.8 flags=0x00000000 max_readahead=0x00100000 INIT: 7.8 flags=0x00000000 max_readahead=0x00100000 max_write=0x01000000 unique: 0, error: 0 (Undefined error: 0), outsize: 40 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, error: 0 (Undefined error: 0), outsize: 96 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, error: 0 (Undefined error: 0), outsize: 96 unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 1, error: 0 (Undefined error: 0), outsize: 96 unique: 0, error: 0 (Undefined error: 0), outsize: 96 unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 1, error: 0 (Undefined error: 0), outsize: 96 unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 0, error: 0 (Undefined error: 0), outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 2, error: 0 (Undefined error: 0), outsize: 96 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 3, error: 0 (Undefined error: 0), outsize: 96 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 4, error: 0 (Undefined error: 0), outsize: 96 unique: 5, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 5, error: 0 (Undefined error: 0), outsize: 96 unique: 6, opcode: STATFS (17), nodeid: 1, insize: 40 unique: 6, error: 0 (Undefined error: 0), outsize: 96 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48 ACCESS / 00 unique: 3, error: -78 (Function not implemented), outsize: 16 unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 40 CONNECTION_BAD encountered: 'connection pointer is NULL '. Trying to reconnect.

The mounted fileshare does not contain any files. I can't seem to find this ph_hba.config file. Postgresql was installed on OS X using Homebrew. Any ideas?

tfoldi commented 9 years ago

Your issue is a different one: by default the tblwgadmin user cannot logon remotely. Could you try first with the readonly user (and please add select role to pg_largeobjects)? If that work I can show you how can you enable remote tblwgadmin user for read-write access.

Please note that write mode is highly experimental :)

mykoolspam commented 9 years ago

Ive granted readonly with pg_largeobjects and have successfully mapped. However, I am finding that once I click into /Default/Default/, the workbooks will appear for 2 seconds, and then disappear. The error im receiving: http://pastebin.com/M49LdhgH

However, for what I would like to experiment with, having access to tblwgadmin would likely be ideal. TableauFS sounds like an excellent tool, and I would like to experiment with the possibility of combining this tool with PowerTool Workbook SDK to manage our workbook datasources. We are investigating the potential of being able to replace a datasource on our workbooks with another datasource, directly on Tableau server (although it would be completely unsupported :smile:) Perhaps you would even have some advice for us!

Thank you for your help!

tfoldi commented 9 years ago

This seems like an issue with the postgres client. On linux it's surely thread safe, but on macosx it seems it has issues. Please add -s to the command line args and retest first from terminal ,then from finder.

how 'bout a nice screen share? then we can check it on your system (I still have no mac). please ping me on tfoldi at starschema net if you're ok with that.

tfoldi commented 9 years ago

and I hate to be rude but since the original issue is related to the mount command on mac, please open a new one with your sigsegv :)