Hadoop多使用者配置

2021-07-23 17:05:14 字數 1918 閱讀 4341

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 ...