您好,登錄后才能下訂單哦!
這篇文章主要講解了“Hadoop安全性怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hadoop安全性怎么實現”吧!
Hadoop 安全性
HBase運行在Hadoop 0.20.x上,就可以使用其中的安全特性 -- 只要你用這兩個版本0.20S 和CDH3B3,然后把hadoop.jar替換掉就可以了.
1.3.1.3. ssh
必須安裝ssh , sshd 也必須運行,這樣Hadoop的腳本才可以遠程操控其他的Hadoop和Hbase進程。ssh之間必須都打通,不用密碼都可以登錄,詳細方法可以Google一下 ("ssh passwordless login").
1.3.1.4. DNS
HBase使用本地 hostname 才獲得IP地址. 正反向的DNS都是可以的.
如果你的機器有多個接口,Hbase會使用hostname指向的主接口.
如果還不夠,你可以設置 hbase.regionserver.dns.interface 來指定主接口。當然你的整個集群的配置文件都必須一致,每個主機都使用相同的網絡接口
還有一種方法是設置 hbase.regionserver.dns.nameserver來指定nameserver,不使用系統帶的.
1.3.1.5. NTP
集群的時鐘要保證基本的一致。稍有不一致是可以容忍的,但是很大的不一致會造成奇怪的行為。運行 NTP 或者其他什么東西來同步你的時間.
如果你查詢的時候或者是遇到奇怪的故障,可以檢查一下系統時間是否正確!
1.3.1.6. ulimit 和 nproc
HBase是數據庫,會在同一時間使用很多的文件句柄。大多數linux系統使用的默認值1024是不能滿足的,會導致FAQ: Why do I see "java.io.IOException...(Too many open files)" in my logs?異常。還可能會發生這樣的異常
2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Exception increateBlockOutputStream java.io.EOFException 2010-04-06 03:04:37,542 INFO org.apache.hadoop.hdfs.DFSClient: Abandoning block blk_-6935524980745310745_1391901
所以你需要修改你的最大文件句柄限制。可以設置到10k. 你還需要修改 hbase 用戶的 nproc,如果過低會造成 OutOfMemoryError異常。需要澄清的,這兩個設置是針對操作系統的,不是Hbase本身的。有一個常見的錯誤是Hbase運行的用戶,和設置最大值的用戶不是一個用戶。在Hbase啟動的時候,第一行日志會現在ulimit信息,所以你最好檢查一下。
1.3.1.6.1. 在Ubuntu上設置ulimit
如果你使用的是Ubuntu,你可以這樣設置:
在文件 /etc/security/limits.conf 添加一行,如:
hadoop - nofile 32768
可以把 hadoop 替換成你運行Hbase和Hadoop的用戶。如果你用兩個用戶,你就需要配兩個。還有配nproc hard 和 soft limits. 如:
hadoop soft/hard nproc 32000
.
在 /etc/pam.d/common-session 加上這一行:
session required pam_limits.so
否則在 /etc/security/limits.conf上的配置不會生效.
還有注銷再登錄,這些配置才能生效!
1.3.1.7. dfs.datanode.max.xcievers
一個 Hadoop HDFS Datanode 有一個同時處理文件的上限. 這個參數叫 xcievers (Hadoop的作者把這個單詞拼錯了). 在你加載之前,先確認下你有沒有配置這個文件conf/hdfs-site.xml里面的xceivers參數,至少要有4096:
<property> <name>dfs.datanode.max.xcievers</name> <value>4096</value> </property>
對于HDFS修改配置要記得重啟.
如果沒有這一項配置,你可能會遇到奇怪的失敗。你會在Datanode的日志中看到xcievers exceeded,但是運行起來會報 missing blocks錯誤。例如: 10/12/08 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry... [5]
感謝各位的閱讀,以上就是“Hadoop安全性怎么實現”的內容了,經過本文的學習后,相信大家對Hadoop安全性怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。