大數據——配置並啟動集群/開啟歷史伺服器和日誌聚集


上篇文章通過克隆將集群搭建出來,這篇文章對Hadoop進行配置,修改配置文件,啟動並測試集群。開去歷史伺服器以及日誌聚集。

部署規劃

hadoop102 hadoop103 hadoop104
HDFS NameNode、DataNode DataNode SencondNameNode、DataNode
YARN NodeManager ResourceManager、NodeManager NodeManager
  • NameNode和SecondNameNode不要安裝在同一台伺服器上
  • ResourceManager也很消耗記憶體,不要和NameNode、SecondNameNode配置在同一台機器上

配置文件

1、默認配置文件

默認配置文件可在對應的jar包中找到

配置文件 配置文件位置
core-default.xml hadoop-common-3.1.3.jar/core-default.xml
hdf-default.xml hadoop-hdfs-3.1.3.jar/hdfs-default.xml
yarn-default.xml hadoop-yarn-common-3.1.3.jar/yarn-default.xml
mapred-default.xml hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml

2、自定義配置文件

在$HADOOP_HOME/etc/hadoop中

文章使用的時/opt/module/hadoop-3.1.3/etc/hadoop

配置集群

所有操作在swcode用戶進行,非root

在hadoop102上配置

1、核心配置文件:core-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml

內容如下

<configuration>
    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>
    <!-- 指定 hadoop 數據存儲目錄 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
    <!-- 配置HDFS網頁登錄使用的靜態用戶為swcode -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>swcode</value>
    </property>
</configuration>

2、HDFS配置文件:hdfs-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

內容如下

<configuration>
    <!-- NN Web端訪問地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
    <!-- 2NN Web端訪問地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration>

3、YARN配置文件:yarn-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

內容如下

<configuration>
    <!-- 指定 MR 走 shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定 ResourceManager 的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>
    <!-- 環境變數的繼承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_HOME,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

4、MapReduce配置文件:mapred-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

內容如下

<configuration>
    <!-- 指定 MapReduce 程式運行在 Yarn 上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

分發配置文件

xsync是自定義的sync腳本

xsync /opt/module/hadoop-3.1.3/etc/hadoop/

啟動集群

1、配置workers

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

新增一下內容,內容結尾不允許空格,文件中不允許出現空行

hadoop102
hadoop103
hadoop104

像下面這樣

2、分發workers

xsync /opt/module/hadoop-3.1.3/etc/hadoop/workers

3、第一次啟動初始化(hadoop102)

hdfs namenode -format

/opt/module/hadoop-3.1.3會多出兩個文件夾:/data和/logs

4、啟動HDFS(hadoop102)

start-dfs.sh

啟動成功後,每台主機分別運行下面程式碼,檢查一下

jps

根據規劃的部署,應該和下面一樣

  • hadoop102:Jps、DataNode、NameNode
  • hadoop103:DataNode、Jps
  • hadoop104:SecondaryNameNode、Jps

查看Web頁面://192.168.10.102:9870/

5、啟動YARN

來到配置了ResourceManager的節點(hadoop103)

start-yarn.sh

對照部署規劃,一樣就說明成功了~

查看YARN資源調度頁面:http:192.168.10.103:8088

測試集群

1、上傳文件到HDFS(hadoop102上)

# 創建目錄
hadoop fs -mkdir /wcinput
# 上傳文件
hadoop fs -put /opt/module/hadoop-3.1.3/wcinput/words.txt /wcinput

words.txt是之前使用wordcount做的小案例

查看效果:Browsing HDFS

2、再次運行wordcount案例

# 來到 hadoop 安裝目錄
cd /opt/module/hadoop-1.3.1/
# 執行
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput

來到YARN資源調度頁面:http:192.168.10.103:8088

可以看到一條資源調度記錄

查看效果:Browsing HDFS

配置歷史伺服器

1、配置mapred-site.xml(在hadoop102上配置)

vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

增加配置文件

<!-- 歷史伺服器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>
<!-- 歷史伺服器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
</property>

2、分發配置

xsync /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

3、在hadoop102中啟動歷史伺服器

mapred --daemon start historyserver

需要重啟yarn,在hadoop103中重啟yarn(本文的yarn配置在hadoop103中)

stop-yarn.sh
start-yarn.sh

4、查看歷史伺服器是否啟動

[swcode@hadoop102 ~]$ jps
123607 DataNode
123403 NameNode
127613 JobHistoryServer
127773 Jps
125615 NodeManager

配置日誌聚集

1、修改yarn-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

增加如下內容

<!-- 開啟日誌聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 設置日誌聚集伺服器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>//hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 設置日誌保留時間 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

2、分發配置

xsync /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

3、在hadoop102中停止歷史伺服器

mapred --daemon stop historyserver

4、在hadoop103中重啟yarn

stop-yarn.sh
start-yarn.sh

5、在hadoop102中停啟動歷史伺服器

mapred --daemon start historyserver

4、在hadoop103中重啟yarn


下篇文章:
所有文章:
搭建第一台Hadoop主機
Linux之間的文件傳輸方式
克隆主機並配置集群
配置並啟動集群/開啟歷史伺服器和日誌聚集
大數據集群服務啟停腳本/常用埠/時間同步