Hadoop предоставляет API FileSystem Shell для поддержки операций файловой системы, таких как создание, переименование или удаление файлов и каталогов, открытие, чтение или запись файла. Оболочка FileSystem — это Java-приложение, которое использует класс java FileSystem для обеспечения операций FileSystem. FileSystem Shell API создает соединение RPC для операций.
Если клиент находится в кластере Hadoop, это полезно, поскольку он использует схему URI hdfs
для подключения к распределенной файловой системе Hadoop, и, следовательно, клиент устанавливает прямое подключение RPC для записи данных в HDFS.
Это хорошо для приложений, работающих в кластере Hadoop, но могут быть случаи использования, когда внешнему приложению необходимо манипулировать HDFS, например, создавать каталоги и записывать файлы в этот каталог или читать содержимое файла, хранящегося в HDFS. Hortonworks разработала API для поддержки этих требований на основе стандартной функциональности REST, называемой WebHDFS.
WebHDFS предоставляет функциональность REST API, где любое внешнее приложение может подключиться к DistributedFileSystem через HTTP-соединение. Неважно, что внешнее приложение Java или PHP.
Концепция WebHDFS основана на операциях HTTP, таких как GET, PUT, POST и DELETE. Такие операции, как OPEN, GETFILESTATUS, LISTSTATUS, используют HTTP GET, другие, такие как CREATE, MKDIRS, RENAME, SETPERMISSIONS, полагаются на HTTP PUT.
Он обеспечивает безопасный доступ для чтения и записи к HDFS через HTTP. В основном он предназначен для замены HFTP (доступ только для чтения через HTTP) и HSFTP (доступ только для чтения через HTTPS). Он использовал схему webhdfs
URI для подключения к распределенной файловой системе.
Если клиент находится за пределами кластера Hadoop и пытается получить доступ к HDFS. WebHDFS полезен для этого. Также, если вы пытаетесь подключить две разные версии кластера Hadoop, тогда WebHDFS полезен, поскольку он использует REST API, поэтому он не зависит от версии MapReduce или HDFS.
person
Sandeep Singh
schedule
23.07.2015