hadoop 3.x版本出來已經很久了,之前應爲工作需求的原因是安裝並使用了spark 3.2.1的版本,現在將之前安裝使用過程中遇到的問題總結記錄一下。
主要是以下的安裝過程:
- hadoop user以及相關文件的權限配置
- gpu資源的支持
- docker容器的支持
hadoop user以及相關文件權限配置
- 確保所有的服務器用戶可以相互ssh without passwd
- 創建hadoop group, 然後添加所有使用hadoop服務的用戶到hadoop group中
- hadoop目錄的權限確保:u=rwx,g=xr,o=x 並且owner=root group=hadoop
- container-executor的權限確保:6050,比如:chmod 6050 /hadoop_home/bin/container-executor
- hadoop 配置文件的權限確保:u=rw,g=r,o=r 並且owner=root group=hadoop
- 配置文件 container-executor.cfg需要特殊配置:u=-,g=rx,o=- 並且owner=root group=hadoop
GPU的支持
- 因爲GPU的調度支持依賴cgroups,所以要確保cgroups的root=/sys/fs/cgroup
- 配置container-executor.cfg 中的yarn-hierarchy, 這個很重要, 而且要確保以下兩個路徑存在:/sys/fs/cgroup/cpu,cpuacct/hadoop-yarn/和/sys/fs/cgroup/devices/hadoop-yarn
docker容器的支持
- yarn運行docker容器的時候,是按照host user運行docker 容器的程序的, 所以必須確保docker容器中也存在同樣的用戶, 不然會報錯,這裏使用的方案是直接在的docker 容器中mount hosts的/etc/passed以及/etc/group。