0.hadoop多使用者配置的背景。
hadoop多使用者配置的目的就是多個hadoop使用者可以共同使用hdfs,但是只能操作屬於自己的空間,不能跨使用者空間操作(當然/tmp是屬於大家的,任何使用者都會對這個資料夾有寫操作)。
hadoop多使用者配置,相當於給每個使用者乙個hadoop客戶端,每個使用者都可以使用hadoop的命令操作屬於自己的hdfs空間。
1. 具體配置
0)假設集群中的一台機器tseg0,已有乙個普通使用者tseg,現再增加乙個使用者another,且之前在tseg使用者下已經部署好hadoop。
1)要在root許可權下增加使用者並設定密碼,具體命令如下:
adduser another //增加「another」使用者
passwd another //為使用者設定密碼,此命令之後會讓輸入密碼
2) 在tseg使用者下將hadoop傳到another使用者下:
scp -r $hadoop_home/ another@tseg0
:~/
3)在another使用者下配置$hadoop_home,path變數
vim ~/.bashrc
//之後進入.bashrc檔案,新增下面
export
$hadoop_home=/home/another/hadoop
export
$path=$path:$hadoop_home/bin
//編輯完成後,source使其立即生效
source ~/.bashrc
4)傳輸完成後可能會有許可權改變的情況,比如hadoop命令不能用等等,這時需要改變一下許可權:
chmod -r 775
$hadoop_home
5)進入tseg使用者,對hdfs增加hadoop使用者目錄:
hdfs的建立的預設檔案是預設是在/user資料夾下的,比如tseg使用者使用hadoop fs -mkdir test
,其實就是建立了乙個/user/tseg/test的資料夾。
所以在此應該先建立屬於another使用者的hdfs使用者目錄:/user/another
hadoop fs -mkdir /user/another
hadoop fs -chown another /user/another //將資料夾的owner設為another
hadoop fs -chgrp another /user/another //將資料夾的group設為another
為什麼要在tseg使用者下才能這樣做呢?這是因為hadoop認為誰啟動了hadoop誰就是超級hadoop使用者。
6)在tseg使用者下改變/tmp資料夾許可權。
因為不管哪個使用者都會對/tmp資料夾有寫操作,所以必須要改變/tmp的許可權:
hadoop fs -chmod
-r777 /tmp
7)在hadoop超級使用者tseg下重啟hadoop
stop-all.sh
start-all.sh
8)在another使用者執行wordcount
//上傳檔案到/user/another/input
hadoop fs -put
$hadoop_home/etc/hadoop input
//執行wordcount
hadoop jar $hadoop_home/share/hadoop/mapreduce/hadoop-mapreduce
-examples
.jar wordcount input output
GIT配置多使用者
在公司工作的時候有時候想提交一點 到github上,然後一台電腦上就需要配置兩個賬號分別訪問github和公司的gitlab為什麼要生成兩個key的原因我也不清楚,望路過的大佬指點下.分別用如下的命令給兩個賬戶生成key,儲存位置和密碼隨意,注意名稱不要一樣不要覆蓋了ssh keygen t rsa...
ssh key 多使用者配置
在多使用者情況下,盡量不要設定全域性使用者資訊 新增全域性使用者資訊 git config global user.name 使用者名稱 git config global user.email 郵箱 刪除全域性使用者資訊 git config global unset user.name git ...
配置多使用者Samba 掛載
模擬環境 在 server0 通過 smb 共享目錄 devops,並滿足以下要求 共享名為 devops 共享目錄 devops 只能被 example.com 域中的客戶端使用 共享目錄 devops 必須可以被瀏覽 使用者 kenji 必須能以讀的方式訪問此共享,該問密碼是 atenorth ...