Нужно ли создавать / tmp и / user / hive / warehouse? - PullRequest
0 голосов
/ 14 мая 2019

С https://cwiki.apache.org/confluence/display/Hive/GettingStarted

Запуск Hive

Hive использует Hadoop, поэтому:

  • вы должны иметь Hadoop вваш путь ИЛИ
  • export HADOOP_HOME =

Кроме того, вы должны использовать приведенные ниже команды HDFS для создания / tmp и / user / hive / warehouse (он же hive.metastore.warehouse.dir)) и установите их в chmod g + w, прежде чем вы сможете создать таблицу в Hive.

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

Я не могу выполнить две команды -mkdir:

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
mkdir: `/tmp': File exists

`/ tmp 'уже существует в моей локальной файловой системе ext4 в моей Ubuntu.

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
mkdir: `/user/hive/warehouse': No such file or directory

В моей локальной файловой системе ext4 в моей Ubuntu нет /usr/hive/warehouse.

Так что же такоецель запуска -mkdir для создания двух каталогов?

1 Ответ

2 голосов
/ 14 мая 2019

mkdir: `/ tmp ': файл существует

Эта папка уже присутствует в hdfs. Таким образом, вы получаете сообщение об ошибке «Файл существует» при выполнении команды mkdir.

Вы можете проверить с помощью команды списка: hadoop fs -ls /

mkdir: `/ user / hive / warehouse ': такого файла или каталога нет

Команда mkdir создает новый каталог, но не создает родительские каталоги. Если какой-либо из родительских каталогов не существует в пути, вы получите сообщение об ошибке «Нет такого файла или каталога». В этом случае каталог 'user' или 'hive' не существует.

Вы можете проверить с помощью команды list: hadoop fs -ls / user

Выполнение команды 'mkdir' с опцией '-p' создает все недостающие родительские каталоги.

hadoop fs -mkdir -p /user/hive/warehouse 

В файловой системе hdfs создаются каталоги '/ tmp' и '/ user / hive / warehouse'. Вы не можете видеть эти папки, используя команды локальной файловой системы.

`/ tmp 'уже существует в моей локальной файловой системе ext4 в моей Ubuntu.

Эта папка / tmp поддерживается вашей операционной системой и используется для хранения временных файлов. Не относится к hdfs.

Для вывода списка папок в формате hdf,

hadoop fs -ls /user
hadoop fs -ls /
hadoop fs -ls /user/hive/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...