2016-08-18 5 views
0

У меня есть одна кластерная установка в hortonworks с ambari 2.1 и HDP 2.3. Мне нужно создать автоматический скрипт для создания каталогов HDFS и Quota Setup. У любого есть какой-либо скрипт, связанный с этим или любыми предложениями, любезно публикуйте здесь.Автоматический сценарий оболочки для создания каталогов HDFS и настройки квоты

+0

Добро пожаловать в переполнение стека :-) Пожалуйста, посмотрите [ask] и как создать [mcve]. Это поможет получить полезные ответы. Этот сайт не является генератором кода. Покажите свои собственные усилия, и сообщество поможет вам. Я пометил этот вопрос для закрытия. – JimHawkins

ответ

0

Я только что прочитал на HDFS, нашел некоторые страницы, которые могут помочь и использовать сценарий оболочки.

Новый каталог может быть добавлена ​​с помощью:

hdfs hdfs dfs -mkdir /directory_name 

Изменение квот может быть сделано следующим образом:

hdfs hdfs dfsadmin -setSpaceQuota 1k /directory_name 

Теперь, если мы объединим выше в сценарий, скажем " create_and_set_quota.sh»и запустить его на корпусе с помощью ./create_and_set_quota.sh mydirname со следующим содержанием:

hdfs hdfs dfs -mkdir /$1 
hdfs hdfs dfsadmin -setSpaceQuota 1024m /$1 

Необходимо создать каталог и установить квоту. Вот еще несколько страниц с образцами и соответствующие дискуссии:

Set quotas for users

Create a directory and set quota, this is the base of the above code.

More hdfs commands

+0

Я создал один скрипт, который берет uname и пароль и принимает 3 каталога в качестве входных данных. Но мое требование состоит в том, что мы должны создать сценарий для его обобщения, чтобы мы могли принимать любое количество ввода (означает любое количество каталогов в качестве входных данных). Кроме того, права собственности, разрешения и spaceQuota могут отличаться для разных каталогов. Поэтому, пожалуйста, предложите модификации, которые мне нужно сделать в моем скрипте. –

+0

Я бы рекомендовал создать несколько сценариев вместо одного большого: сначала создает каталог (с параметром 'directory', второй создает квоты для каталога (с параметрами' directory', 'uname',' quota'). Затем используйте эти два в вашем основном скрипте вместе со структурированным источником данных, то есть с файлом или строкой JSON. Я бы не рекомендовал создавать скрипты со слишком большим количеством параметров, что замедляет процесс разработки и отладки. – SaschaM78

+0

Я создал сценарий ... теперь я хочу что-то вроде ... всякий раз, когда я запускаю этот скрипт, он должен войти в систему как суперпользователь, который является hdfs в моем случае, а затем выполнит мой скрипт. Можете ли вы предложить, как я могу реализовать эту функциональность. –

1

Ниже мой сценарий:

#!/bin/bash 
read -p "Enter UserName: " username 
echo "Welcome $username!" 
read -s -p "Enter Password: " pswd 
echo $pswd 
hdfs dfs -mkdir /$1 
hdfs dfs -mkdir /$2 
hdfs dfs -mkdir /$3 
hdfs dfs -chown hdfs:hdfs /$1 
hdfs dfs -chown hdfs:hdfs /$2 
hdfs dfs -chown hdfs:hdfs /$3 
hdfs dfs -chmod 775 /$1 
hdfs dfs -chmod 775 /$2 
hdfs dfs -chmod 775 /$3 
hdfs dfsadmin -setSpaceQuota 1024m /$1 
hdfs dfsadmin -setSpaceQuota 1024m /$2 
hdfs dfsadmin -setSpaceQuota 1024m /$3 

я запускаю его на корпусе с помощью ./create_and_set_quota.sh test1 test2 test3

Смежные вопросы