Ⅰ centos配置集群為什麼要關閉SELINUX-Hadoop2
特點1:MAC(Mandatory Access Control)―――對訪問的控制徹底化
對於所有的文件,目錄,埠這類的資源的訪問,都可以是基於策略設定的,這些策略是由管理員定製的、一般用戶是沒有許可權更改的。
對於進程只賦予最小的許可權
特點2:TE (Type Enforcement)――― 對於進程只賦予最小的許可權
Te概念在 SELinux里非常的重要。它的特點是對所有的文件都賦予一個叫type的文件類型標簽,對於所有的進程也賦予各自的一個叫 domain的 標簽。Domain標簽能夠執行的操作也是由access vector在策略里定好的。
我們熟悉的apache伺服器,httpd進程只能在httpd_t 里運行,這個httpd_t
的domain能執行的操作,比如能讀網頁內容文件賦予httpd_sys_content_t,密碼文件賦予shadow_t,TCP的80埠賦予
http_port_t等等。如果在access vector里我們不允許
http_t來對http_port_t進行操作的話,Apache啟動都啟動不了。反過來說,我們只允許80埠,只允許讀取被標為
httpd_sys_content_t的文件,httpd_t就不能用別的埠,也不能更改那些被標為httpd_sys_content_t的文件(read
only)。
防止許可權升級
特點3:domain遷移 ―― 防止許可權升級
在用戶環境里運行點對點下載軟體azureus,你當前的domain是fu_t,但是,你考慮到安全問題,你打算讓他在azureus_t里運行,你要是在terminal里用命令啟動azureus的話,它的進程的domain就會默認繼承你實行的shell的fu_t。
有了domain遷移的話,我們就可以讓azureus在我們指定的azureus_t里運行,在安全上面,這種做法更可取,它不會影響到你的fu_t。
下面是domain遷移指示的例子:
domain_auto_trans(fu_t,azureus_exec_t,azureus_t)
意思就是,當在 fu_t domain里,實行了 被標為 azureus_exec_t的文件時,domain 從fu_t遷移到
azureus_t。下面是Apache啟動的遷移圖。注意了,因為從哪一個domain能遷移到httpd_t是在策略里定好了,所以要是我們手動
(/etc/init.d/httpd
start)啟動apache的話,可能仍然留在sysadm_t里,這樣就不能完成正確的遷移。要用run_init命令來手動啟動。
對於用戶只賦予最小的許可權
特點4:RBAC(role base access control) ――――― 對於用戶只賦予最小的許可權
對於用戶來說,被劃分成一些ROLE,即使是ROOT用戶,你要是不在sysadm_r里,也還是不能實行sysadm_t管理操作的。因為,那些ROLE可以執行那些domain也是在策略里設定的。ROLE也是可以遷移的,但是也只能按策略規定的遷移。
Ⅱ hadoop某節點運行較慢,通過什麼機制解決
一個節點需要執行的命令 答:(1)hadoop job Clist 得到job的id,然後執 行 hadoop job -kill jobId就可以殺死一個指定jobId的job工作了。 (2)hadoop fs -rmr /tmp/aaa 3 增加一個新的節點在新的幾點上執行 Hadoop daemon.sh start datanode Hadooop daemon.sh start tasktracker 然後在主節點中執行 hadoop dfsadmin -refreshnodes 刪除一個節點的時候,只需要在主節點執行 hadoop mradmin -refreshnodes 請列出你所知道的hadoop調度器,並簡要說明其工作方法 答:Fifo schelar :默認,先進先出的原則 Capacity sc
Ⅲ hiveserver2 怎麼停止
CDH4 Hive
(2013-10-23 09:29:52)
轉載▼
標簽:
cdh4
hive
分類: Hive
關於Hive
Apache Hive是建立在Hadoop之上強大的數據倉庫應用程序;你可以使用Hive QL(一種類似於SQL的語言)來訪問你的數據。你可以在安裝有Hive的客戶機上提交你的作業,你不需要將Hive安裝在Hadoop集群的任何節點上。
HiveServer2
CDH4.1中,你可以部署HiveServer2,HiveServer2是HiveServer的改進版本,它提供新的Thrift API來處理JDBC或者ODBC客戶端,Kerberos身份驗證,多個客戶端並發。HiveServer2還提供了新的CLI-BeeLine。
Cloudera推薦安裝使用HiveServer2。(當你需要時,仍然可以使用原來的HiveServer,並且同時運行HiveServer2)
升級Hive
在所有有運行Hive 的主機上升級Hive:服務端和客戶端
注意事項:查看CDH4中包含的Hive版本,檢查版本和包信息,對於新的和已更改組件的重要信息可以查看CDH4 Release Notes。
升級Hive從CDH3到CDH4
注意事項:如果你已經執行卸載CDH3和所有組件的步驟,按照這里的描述升級CDH3到CDH4,你可以跳過步驟1,繼續安裝CDH4版的Hive。
Step 1:Remove Hive
警告:確保沒有hive進程在運行,如果在升級過程中有Hive進程在運行,新版本將不能正常工作。
1.退出Hive控制台,確保沒有Hive腳本在運行。
2.停止正在運行的HiveServer進程,如果HiveServer作為守護進程運行,用洗面的命令停止服務。
$ sudo service hive-server stop
如果HiveServer從命令行運行的,用<CTRL>-c 停止它
3.停止metastore服務,如果metastore作為守護進程運行,用下面的命令停止服務
$ sudo service hive-metastore stop
如果metastore從命令行運行的,那用<CTRL>-c 停止它
Ⅳ 請教,hadoop集群停止nodemanager失敗
環境是一個master主節點(192.168.31.130)和兩個slave節點(192.168.31.131/132)
執行stop-all.sh命令時,終端提示如下
Bash/shell code?
12345678910111213141516
hadoop@hadoopmaster pids]$ cd $HADOOP_HOME/sbin[hadoop@hadoopmaster pids]$ stop-all.shThis script is Deprecated. Instead use stop-dfs.sh and stop-yarn.shStopping namenodes on [hadoopmaster]hadoopmaster: stopping namenode192.168.31.132: stopping datanode192.168.31.131: stopping datanodeStopping secondary namenodes [hadoopmaster]hadoopmaster: stopping secondarynamenodestopping yarn daemonsstopping resourcemanager192.168.31.132: stopping nodemanager192.168.31.131: stopping nodemanager192.168.31.132: nodemanager did not stop gracefully after 5 seconds: killing with kill -9192.168.31.131: nodemanager did not stop gracefully after 5 seconds: killing with kill -9no proxyserver to stop
slave節點記錄yarn-hadoop-nodemanager-hadoopslaver01.log如下
Bash/shell code?2017-06-03 07:03:19,137 INFO org.apache.hadoop.io.retry.RetryInvocationHandler: Exception while invoking ResourceTrackerPBClientImpl.nodeHeartbeat over null. Retrying after sleeping for 30000ms.java.io.EOFException: End of File Exception between local host is: "hadoopslaver01/192.168.31.131"; destination host is: "hadoopmaster":8031; : java.io.EOFException; For more details see: htp/EOFException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect..newInstance(.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:801) at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:765) at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1485) at org.apache.hadoop.ipc.Client.call(Client.java:1427) at org.apache.hadoop.ipc.Client.call(Client.java:1337) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:227) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) at com.sun.proxy.$Proxy73.nodeHeartbeat(Unknown Source) at org.apache.hadoop.yarn.server.api.impl.pb.client.ResourceTrackerPBClientImpl.nodeHeartbeat(ResourceTrackerPBClientImpl.java:85) at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:398) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:163) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:155) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:335) at com.sun.proxy.$Proxy74.nodeHeartbeat(Unknown Source) at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl$1.run(NodeStatusUpdaterImpl.java:766) at java.lang.Thread.run(Thread.java:748)Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.apache.hadoop.ipc.Client$IpcStreams.readResponse(Client.java:1786) at org.apache.hadoop.ipc.Client$Connection.receiveRpcResponse(Client.java:1155) at org.apache.hadoop.ipc.Client$Connection.run(Client.java:1052)2017-06-03 07:03:23,452 ERROR org.apache.hadoop.yarn.server.nodemanager.NodeManager: RECEIVED SIGNAL 15: SIGTERM2017-06-03 07:03:24,458 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: hadoopmaster/192.168.31.130:8031. Already tried 0 time(s); retry policy is (maxRetries=10, sleepTime=1000 MILLISECONDS)2017-06-03 07:03:25,460 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: hadoopmaster/192.168.31.130:8031. Already tried 1 time(s); retry policy is (maxRetries=10, sleepTime=1000 MILLISECONDS)2017-06-03 07:03:26,461 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: hadoopmaster/192.168.31.130:8031. Already tried 2 time(s); retry policy is (maxRetries=10, sleepTime=1000 MILLISECONDS)2017-06-03 07:03:27,462 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: hadoopmaster/192.168.31.130:8031. Already tried 3 time(s); retry policy is (maxRetries=10, sleepTime=1000 MILLISECONDS)
更多0
hadoop 是用的什麼版本? 注意:只有 hadoop 3.0 才支持「一主多從」架構。
而且 hadoop 3.0 現在還只是 alpha 4版本,還不建議用於生產環境。
Ⅳ hadoop dfsadmin -safemode leave後jobtracke 9001埠關閉
hadoop dfsadmin -safemode leave
這個時候你先檢測
hadoop dfsadmin -safemode get
看是否處於OFF狀態。
然後檢查HDFS是否可以正常訪問。節點是否正常。
碰到ON的情況就需要關閉JOBTRAKER.重新啟動HADOOP 執行LEAVE操作。
Ⅵ 怎麼停止和重新啟用hadoop的DataNode
1 停掉集群 2 把slave機和master機上那個tmp.dir路徑下的數據清空(有可能是因為你在上一次namenode -format之前忘了刪除slave的數據導致的) 3 重新hadoop namenode -format 4 重新啟動hadoop集群
Ⅶ hadoop執行hdfs的指令出錯 ./hadoop dfs mkdir 出錯
core-site.xml配置中有錯誤
還有,一般創建目錄一般使用這樣的命令:hadoop fs -mkdir youdir
Ⅷ 如何初始化,啟動及停止Hadoop集群
第一步,在Hadoop01機器上啟動Zookeeper:
[root@hadoop01 ~]# /root/apps/zookeeper/bin/zkServer.sh start
第二步,在Hadoop02機器上啟動Zookeeper:
[root@hadoop02 ~]# /root/apps/zookeeper/bin/zkServer.sh start
第三步,在Hadoop03機器上啟動Zookeeper:
[root@hadoop03 ~]# /root/apps/zookeeper/bin/zkServer.sh start
啟動Zookeeper之後,可以分別在3台機器上使用如下命令查看Zookeeper的啟動狀態:
/root/apps/zookeeper/bin/zkServer.sh status
第四步,在Hadoop01機器上啟動HDFS:
[root@hadoop01 ~]# /root/apps/hadoop/sbin/start-dfs.sh
第五步,在Hadoop01機器上啟動YARN:
[root@hadoop01 ~]# /root/apps/hadoop/sbin/start-yarn.sh
第六步,在Hadoop02機器上單獨啟動一個ResourceManager:
(注意這里使用的是「yarn-daemon.sh」命令,而不是「hadoop-daemon.sh」,不知道為什麼使用「hadoop-daemon.sh」無法啟動ResourceManager)
[root@hadoop02 ~]# /root/apps/hadoop/sbin/yarn-daemon.sh start resourcemanager!
Ⅸ hadoop dfsadmin -report命令顯示的是0個datanode
我也遇到了同樣的問題,最後發現問題原因是centos 7防火牆關閉命令變化了使用centos 7最新的命令關閉並禁用防火牆後systemctl stop firewalld.service #停止,
systemctl disable firewalld.service #禁用。重新格式化HDFS文件系統hadoop namenode -format,然後重新進入/sbin里 ./start-all.sh 重啟Hadoop即可解決問題。
centos 7:
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
之前的版本:
service iptables stop #停止
chkconfig iptables off #禁用