bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

記錄一次生產環境hadoop集群優化以及pid文件缺失處理-創新互聯

一、優化準備

成都創新互聯專業為企業提供佳縣網站建設、佳縣做網站、佳縣網站設計、佳縣網站制作等企業網站建設、網頁設計與制作、佳縣企業網站模板建站服務,十年佳縣做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

優化需要根據實際情況綜合分析

1、關閉系統swap分區(如果未關閉的話)

在Hadoop中,如果使用系統默認設置,會導致swap分區被頻繁使用,集群會不斷發出警告。

對于每個作業處理的數據量和每個Task中用到的各種緩沖,用戶都是完全可控的。

echo "vm.swappiness = 0" >> /etc/sysctl.conf

說明:盡量不使用交換分區,注意不是禁用

2、資源和配置信息

2臺namenode,5臺datanode資源和配置信息

服務分布表如下所示:

記錄一次生產環境hadoop集群優化以及pid文件缺失處理

軟件版本:

hadoop(hdfs+yarn) 2.7.3

hbase 1.2.4

查看CPU信息的命令:

查看CPU型號

# cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq

查看物理CPU個數

# cat /proc/cpuinfo |grep "physical id" | sort | uniq -c | wc -l

查看沒有物理CPU中的core的個數,也就是核數

# cat /proc/cpuinfo | grep "cpu cores" | uniq

查看邏輯CPU的個數

# cat /proc/cpuinfo | grep "processor" | wc -l

CPU總核數= 物理CPU個數 * 每顆物理CPU的核數

總邏輯CPU數 = 物理CPU個數 * 每顆物理CPU的核數 * 超線程數

資源情況:

內存 16G

CPU8(8個物理CPU,單核,單線程)

3、dfs.datanode.max.xcievers (dfs.datanode.max.transfer.threads)

這兩個是一個參數,只不過前邊一個是hadoop1.0之前的參數,表示datanode上負責進行文件操作的線程數。如果需要處理的文件過多,而這個參數設置得過低就會有一部分文件處理不過來,就會報下面這個異常:

ERROR org.apache.hadoop.dfs.DataNode: DatanodeRegistration(192.168.10.103:50010,storageID=DS-1570581820-10.10.10.53-50010-1224117842339,infoPort=50075, ipcPort=50020):DataXceiver: java.io.IOException: xceiverCount 258 exceeds the limit of concurrent xcievers 256

linux系統中所有的文件操作都被綁定到一個socket上,進一步具體可以把他看做是一個線程。而這個參數就是指定這種線程的個數。在datanode里面有一個專門的線程組來維護這些線程,同時有一個守護線程來監視這個線程組的體量,它負責監測線程數量是否到達上線,超過就拋出異常。因為如果這樣的線程過多,系統內存就會暴掉。

對于參數dfs.datanode.max.transfer.threads還依照現有配置 8192

  <property>

        <name>dfs.datanode.max.transfer.threads</name>

        <value>8192</value>

    </property>

默認值:4096

4、dfs.namenode.handler.count

NameNode用來處理來自DataNode的RPC請求的線程數量

NameNode有一個工作線程池用來處理客戶端的遠程過程調用及集群守護進程的調用。處理程序數量越多意味著要更大的池來處理來自不同DataNode的并發心跳以及客戶端并發的元數據操作。對于大集群或者有大量客戶端的集群來說,通常需要增大參數dfs.namenode.handler.count的默認值10。設置該值的一般原則是將其設置為集群大小的自然對數乘以20,即20logN,N為集群大小。如果該值設的太小,明顯的狀況就是DataNode在連接NameNode的時候總是超時或者連接被拒絕,但NameNode的遠程過程調用隊列很大時,遠程過程調用延時就會加大。

集群大小是7,7的自然對數約等于2,所以這里的配置就是 20*log7 = 40

<property>

<name>dfs.namenode.handler.count</name>

<value>40</value>

</property>

默認值:10

5、dfs.datanode.handler.count

DataNode用來連接NameNode的RPC請求的線程數量

設置為20

<property>

<name>dfs.datanode.handler.count</name>

<value>20</value>

</property>

默認值:10

二、PID相關準備

hadoop 及 hbase的pid文件默認是放在/tmp下面的,這個你可以從啟動關閉腳本中看出,不過這個目錄會定時清理。這就產生一個問題,當再次關閉服務的時候,服務pid文件丟失就會產生jps不顯示服務,但是web的管理頁面可以正常訪問的情況。我的解決辦法就是手動生成缺水的pid文件,然后修改配置文件,重啟服務。

1、NameNode 、DataNode 以及SecondaryNameNode 的pid配置

hadoop-env.sh

export HADOOP_PID_DIR=/data/hadoop_data/pids

export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}

JobHistory的pid配置

mapred-env.sh

export HADOOP_MAPRED_PID_DIR=/data/hadoop_data/pids

NodeManager和ResourceManager的pid配置

yarn-env.sh

export YARN_PID_DIR=/data/hadoop_data/pids

HMaster和HRegionServer 的pid配置

hbase-env.sh

export HBASE_PID_DIR=/data/hadoop_data/pids

PID文件的命令規則大家可以從腳本中找到

我這里并不是所有的pid文件路徑都沒有配置,需要配置的是MapReduce和yarn

2、集群中各節點服務啟動情況以及PID文件存在情況

192.168.10.101:

$ jps

194921 HMaster

194352 DFSZKFailoverController

539317 JobHistoryServer

193972 NameNode

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-namenode.pid

hadoop-hduser-zkfc.pid

hbase-hduser-master.pid

192.168.10.102:

$ jps

371963 DFSZKFailoverController

371811 NameNode

372121 HMaster

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-namenode.pid

hadoop-hduser-zkfc.pid

hbase-hduser-master.pid

192.168.10.103:

$ jps

500043 JournalNode

500164 NodeManager

522618 HRegionServer

499932 DataNode

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-datanode.pid

hadoop-hduser-journalnode.pid

hbase-hduser-regionserver.pid

192.168.10.104:

$ jps

234784 NodeManager

234636 JournalNode

235070 HRegionServer

234525 DataNode

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-datanode.pid

hadoop-hduser-journalnode.pid

hbase-hduser-regionserver.pid

192.168.10.105:

$ jps

310371 HRegionServer

48404 NodeManager

48285 JournalNode

48174 DataNode

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-datanode.pid

hadoop-hduser-journalnode.pid

hbase-hduser-regionserver.pid

192.168.10.106:

$ jps

100855 HRegionServer

435319 DataNode

435456 NodeManager

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-datanode.pid

hbase-hduser-regionserver.pid

192.168.10.107:

$ jps

410010 NodeManager

484955 HRegionServer

409847 DataNode

存在的pid文件:

目錄/data/hadoop_data/pids

hadoop-hduser-datanode.pid

hbase-hduser-regionserver.pid

三、下面是具體的操作步驟

以下所有操作都是在hadoop集群服務管理用戶hduser下操作的

1、生成PID文件

根據實際情況創建相應的PID文件

jps命令可以查看起著哪些服務,然后查看pid文件目錄/data/hadoop_data/pids,如果服務啟動但是沒有相應的pid文件,則需要創建該服務的pid文件。

echo PID > /tmp/mapred-hduser-historyserver.pid

    /tmp/yarn-hduser-resourcemanager.pid

    /tmp/yarn-hduser-nodemanager.pid

2、停止服務

這里需要說的是hadoop+hbase+zookeeper集群服務啟動關閉順序

啟動順序

zookeepeer->hadoop->hbase

停止順序

hbase->hadoop->zookeepeer

登錄到192.168.10.101(主hbase服務器,主namenode服務器)

停止hbase集群

$ cd /data/hbase/bin

$ ./stop-hbase.sh

停止hadoop集群

$ cd /data/hadoop/sbin

$ ./stop-all.sh

停止MapReduce歷史記錄服務

$ cd /data/hbase/bin

$ ./mr-jobhistory-daemon.sh stop historyserver

3、修改配置文件

備份要修改的配置文件

修改配置文件

vim /data/hadoop/etc/hadoop/mapred-env.sh

添加:

export HADOOP_MAPRED_PID_DIR=/data/hadoop_data/pids

vim /data/hadoop/etc/hadoop/yarn-env.sh

添加:

export YARN_PID_DIR=/data/hadoop_data/pids

vim /data1/hadoop/etc/hadoop/hdfs-site.xml

修改如下:

<property>

     <name>dfs.datanode.max.transfer.threads</name>

     <value>8192</value>

   </property>

添加如下:

<property>

  <name>dfs.namenode.handler.count</name>

  <value>40</value>

</property>

<property>

  <name>dfs.datanode.handler.count</name>

  <value>20</value>

</property>

vim /data/hbase/conf/hbase-env.sh

添加如下:

export HADOOP_HOME=/data/hadoop

vim /data/hbase/conf/hbase-site.xml

修改如下:

   <property>

    <name>hbase.rootdir</name>

    <value>hdfs://masters/hbase</value>

   </property>

在相應的配置文件目錄把配置文件拷貝到其他節點

$ for ip in 102 103 104 105 106 107;do scp /data/hadoop/etc/hadoop/mapred-env.sh 192.168.10.$ip:/data/hadoop/etc/hadoop/;done

$ for ip in 102 102 104 105 106 107;do scp /data/hadoop/etc/hadoop/yarn-env.sh 192.168.10.$ip:/data/hadoop/etc/hadoop/;done

$ for ip in 102 102 104 105 106 107;do scp /data/hadoop/etc/hadoop/hdfs-site.xml 192.168.10.$ip:/data/hadoop/etc/hadoop/;done

$ for ip in 102 102 104 105 106 107;do scp /data/hbase/conf/hbase-env.sh 192.168.10.$ip:/data/hbase/conf/;done

$ for ip in 102 102 104 105 106 107;do scp /data/hbase/conf/hbase-site.xml 192.168.10.$ip:/data/hbase/conf/;done

移除 HBase 里面的不必要 log4j 的 jar 包

cd /data/hbase/lib

mv slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak

4、啟動服務

啟動hadoop集群

$ cd /data/hadoop/sbin

$ ./start-all.sh

啟動hbase集群

$ cd /data/hbase/bin

$ ./start-hbase.sh

啟動MapReduce歷史記錄服務

$ cd /data/hbase/bin

$ ./mr-jobhistory-daemon.sh start historyserver

5、驗證

查看pid文件

192.168.10.101

$ cd /data/hadoop_data/pids

$ ll

total 24

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-namenode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-zkfc.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 hbase-hduser-master.pid

-rw-r--r-- 1 hduser hadoop 33 Jun  6 22:49 hbase-hduser-master.znode

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 mapred-hduser-historyserver.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 yarn-hduser-resourcemanager.pid

192.168.10.102

$ ll

total 12

-rw-r--r-- 1 hduser hadoop 7 Jun  6 22:48 hadoop-hduser-namenode.pid

-rw-r--r-- 1 hduser hadoop 7 Jun  6 22:48 hadoop-hduser-zkfc.pid

-rw-r--r-- 1 hduser hadoop 7 Jun  6 22:49 hbase-hduser-master.pid

192.168.10.103

$ ll

total 20

-rw-r--r-- 1 hduser hadoop  6 Jun  6 22:48 hadoop-hduser-datanode.pid

-rw-r--r-- 1 hduser hadoop  6 Jun  6 22:48 hadoop-hduser-journalnode.pid

-rw-r--r-- 1 hduser hadoop  6 Jun  6 22:49 hbase-hduser-regionserver.pid

-rw-r--r-- 1 hduser hadoop 43 Jun  6 22:49 hbase-hduser-regionserver.znode

-rw-r--r-- 1 hduser hadoop  6 Jun  6 22:48 yarn-hduser-nodemanager.pid

192.168.10.104

$ ll

total 20

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-datanode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-journalnode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 hbase-hduser-regionserver.pid

-rw-r--r-- 1 hduser hadoop 43 Jun  6 22:49 hbase-hduser-regionserver.znode

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 yarn-hduser-nodemanager.pid

192.168.10.105

$ ll

total 20

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-datanode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-journalnode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 hbase-hduser-regionserver.pid

-rw-r--r-- 1 hduser hadoop 43 Jun  6 22:49 hbase-hduser-regionserver.znode

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 yarn-hduser-nodemanager.pid

192.168.10.106

$ ll

total 16

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-datanode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 hbase-hduser-regionserver.pid

-rw-r--r-- 1 hduser hadoop 43 Jun  6 22:49 hbase-hduser-regionserver.znode

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 yarn-hduser-nodemanager.pid

192.168.10.107

$ ll

total 16

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 hadoop-hduser-datanode.pid

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:49 hbase-hduser-regionserver.pid

-rw-r--r-- 1 hduser hadoop 43 Jun  6 22:49 hbase-hduser-regionserver.znode

-rw-r--r-- 1 hduser hadoop  7 Jun  6 22:48 yarn-hduser-nodemanager.pid

查看調用是否正常

注意事項:

事項一:如果生產環境有監控服務的腳本或者服務則需要先停止對于服務的監控,以防止服務停止時觸發監控,進而自動重啟服務。

事項二:一定記得把配置文件同步到每個節點(各節點配置文件一致的話)

參考:

官網文檔:

http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/ClusterSetup.html

官網配置參考:

http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

參考文章:

https://blog.csdn.net/qq_26091271/article/details/50411383

https://www.cnblogs.com/hanganglin/p/4563716.html

https://blog.csdn.net/odailidong/article/details/79656188

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章名稱:記錄一次生產環境hadoop集群優化以及pid文件缺失處理-創新互聯
標題來源:http://vcdvsql.cn/article22/dshojc.html

成都網站建設公司_創新互聯,為您提供動態網站、網頁設計公司網站營銷、網站導航、做網站、響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管