日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop完全分布式配置

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop完全分布式配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.虛擬機環境準備

1.1 克隆虛擬機




1.2. 修改克隆虛擬機的靜態IP

機器名靜態IP
master192.168.121.151
slaver1192.168.121.152
slaver2192.168.121.153
[root@master Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 #輸入以下內容 DEVICE=eno16777736 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.121.151 GATEWAY=192.168.121.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114systemctl restart network ping www.baidu.com ping 本機ip

配置參數:

參數含義
ONBOOT=yes啟動這塊網卡
BOOTPROTO=static使用靜態路由協議,保持固定的IP
IPADDRIP地址,這里的IP地址需要和規劃的IP地址保持一致,為以后主機名和IP對應做準備
GATEWAY虛擬網關,通常都是將IP地址最后一個數位變成2,這個設置和VMare中V8保持一致
NETMASK子網掩碼,通常是255.255.255.0
DNS1=8.8.8.8域名解析器服務器,此處采用的是Google提供的免費的DNS服務器8.8.8.8,也可以使用自己的PC的域名機械其
DNS2=114.114.114.114國內移動、電信和聯通通用的DNS服務器
常用的DNS服務:
114.114.114.114國內移動、電信和聯通通用的DNS,手機和電腦端都可以使用,干凈無廣告,解析成功率相對來說更高,國內用戶使用的比較多,而且速度相對快、穩定,是國內用戶上網常用的DNS
8.8.8.8GOOGLE公司提供的DNS,該地址是全球通用的,相對來說,更適合國外以及訪問國外網站的用戶使用
223.5.5.5、223.6.6.6阿里DNS服務
180.76.76.76百度DNS服務

1.3 修改主機名

[root@master Desktop]# hostnamectl set-hostname master#該文件用來指定服務器上的網絡配置信息 [root@master Desktop]# vi /etc/sysconfig/network #修改內容如下 NETWORKING=yes HOSTNAME=master [root@master Desktop]# reboot

1.4 修改IP映射

# 主機名和IP配置文件 [root@master Desktop]# vi /etc/hosts #添加 ip 名字 192.168.121.151 master 192.168.121.152 slaver1 192.168.121.153 slaver2

1.5 關閉防火墻和SELINUX

[root@master Desktop]# systemctl stop firewalld [root@master Desktop]# systemctl disable firewalld [root@master Desktop]# vi /etc/sysconfig/selinux #修改如下內容,需要重啟生效 SELINUX=disabled#查看狀態 [root@master Desktop]# systemctl status firewalld #輸出 ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Apr 17 17:36:55 master systemd[1]: Stopped firewalld - dynamic firewall daemon. Hint: Some lines were ellipsized, use -l to show in full. [root@master Desktop]# [root@master Desktop]# sestatus #輸出 SELinux status: disabled

1.6 在/目錄下創建文件夾

在/目錄下創建software,servers,data,conf文件夾

[root@master Desktop]# mkdir -p /export/software [root@master Desktop]# mkdir -p /export/servers [root@master Desktop]# mkdir -p /export/data [root@master Desktop]# mkdir -p /export/conf #確認文件夾創建成功 [root@master Desktop]# ls -ll /export/ total 0 drwxr-xr-x 2 root root 6 Apr 17 17:46 conf drwxr-xr-x 2 root root 6 Apr 17 17:45 data drwxr-xr-x 2 root root 6 Apr 17 17:45 servers drwxr-xr-x 2 root root 6 Apr 17 17:45 software

2 安裝JDK

2.1 卸載現有JDK

(1)查詢是否安裝Java軟件:

[root@master Desktop]# rpm -qa | grep java

(2)如果安裝的版本低于1.7,卸載該JDK:

[root@master Desktop]# rpm -e --nodeps 軟件包

(3)查看JDK安裝路徑:

[root@master Desktop]# which java /usr/bin/which: no java in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/export/servers/jdk/bin:/export/servers/zookeeper/bin:/export/servers/hadoop/bin:/export/servers/hadoop/sbin:/root/bin:/export/servers/jdk/bin:/export/servers/zookeeper/bin:/export/servers/hadoop/bin:/export/servers/hadoop/sbin)

2.2 下載JDK

(1)下載JDK,從https://www.oracle.com官網上下載所需要的JDK
https://www.oracle.com/java/technologies/downloads/#java8
https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
(2)上傳文件到/export/software

D:\Users\LENOVO\Desktop\開源大數據\software>scp jdk-8u311-linux-x64.tar.gz root@192.168.121.151:/export/software root@192.168.121.151's password: jdk-8u311-linux-x64.tar.gz 100% 140MB 63.6MB/s 00:02

2.3 安裝JDK

#解壓 [root@master Desktop]# tar -xzvf /export/software/jdk-8u311-linux-x64.tar.gz -C /export/servers/ #確認文件夾存在 [root@master Desktop]# cd /export/servers/ [root@master servers]# ls -ll total 4 drwxr-xr-x 8 10143 10143 4096 Sep 27 2021 jdk1.8.0_311 #創建軟件鏈接 [root@master servers]# ln -s jdk1.8.0_311/ jdk #確認軟連接存在 [root@master servers]# ls -ll total 4 lrwxrwxrwx 1 root root 13 Apr 17 18:45 jdk -> jdk1.8.0_311/ drwxr-xr-x 8 10143 10143 4096 Sep 27 2021 jdk1.8.0_311

2.4 配置環境變量

[root@master servers]# touch /etc/profile.d/hadoop_env.sh [root@master servers]# vi /etc/profile.d/hadoop_env.sh #輸入內容如下 export JAVA_HOME=/export/servers/jdk export PATH=$PATH:$JAVA_HOME/bin #source使得設置生效 [root@master servers]# source /etc/profile.d/hadoop_env.sh #確定java配置成功 [root@master servers]# which java /export/servers/jdk/bin/java [root@master servers]# javac -version javac 1.8.0_311 [root@master servers]# java -version java version "1.8.0_311" Java(TM) SE Runtime Environment (build 1.8.0_311-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

3 安裝hadoop

3.1 下載hadoop

https://hadoop.apache.org/
https://archive.apache.org/dist/hadoop/common/

3.2 安裝hadoop

本地上傳下載的hadoop壓縮文件

D:\Users\LENOVO\Desktop\開源大數據\software>scp hadoop-2.7.3.tar.gz root@192.168.121.151:/export/software root@192.168.121.151's password: hadoop-2.7.3.tar.gz 100% 204MB 77.8MB/s 00:02

解壓

[root@master software]# cd /export/software/ [root@master software]# tar -xzvf hadoop-2.7.3.tar.gz -C /export/servers/

確認解壓成功

[root@master software]# cd /export/servers/ [root@master servers]# ls -ll total 4 drwxr-xr-x 9 root root 139 Aug 17 2016 hadoop-2.7.3 lrwxrwxrwx 1 root root 13 Apr 17 18:45 jdk -> jdk1.8.0_311/ drwxr-xr-x 8 10143 10143 4096 Sep 27 2021 jdk1.8.0_311

建立軟鏈接方便配置

[root@master servers]# ln -s hadoop-2.7.3/ hadoop [root@master servers]# ls -ll total 4 lrwxrwxrwx 1 root root 13 Apr 17 19:19 hadoop -> hadoop-2.7.3/ drwxr-xr-x 9 root root 139 Aug 17 2016 hadoop-2.7.3 lrwxrwxrwx 1 root root 13 Apr 17 18:45 jdk -> jdk1.8.0_311/ drwxr-xr-x 8 10143 10143 4096 Sep 27 2021 jdk1.8.0_311

配置環境變量

[root@master servers]# vi /etc/profile.d/hadoop_env.sh #修改文件如下 export JAVA_HOME=/export/servers/jdk export HADOOP_HOME=/export/servers/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source文件使得配置生效

[root@master servers]# source /etc/profile.d/hadoop_env.sh [root@master servers]# hadoop version Hadoop 2.7.3 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff Compiled by root on 2016-08-18T01:41Z Compiled with protoc 2.5.0 From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4 This command was run using /export/servers/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar

3.3 hadoop目錄

[root@master servers]# cd $HADOOP_HOME [root@master hadoop]# ls -ll total 116 drwxr-xr-x 2 root root 4096 Aug 17 2016 bin drwxr-xr-x 3 root root 19 Aug 17 2016 etc drwxr-xr-x 2 root root 101 Aug 17 2016 include drwxr-xr-x 3 root root 19 Aug 17 2016 lib drwxr-xr-x 2 root root 4096 Aug 17 2016 libexec -rw-r--r-- 1 root root 84854 Aug 17 2016 LICENSE.txt -rw-r--r-- 1 root root 14978 Aug 17 2016 NOTICE.txt -rw-r--r-- 1 root root 1366 Aug 17 2016 README.txt drwxr-xr-x 2 root root 4096 Aug 17 2016 sbin drwxr-xr-x 4 root root 29 Aug 17 2016 share 目錄說明
bin存放操作Hadoop相關服務(HDFS,YARN)的腳步,但是通常使用sbin目錄下的腳本
etc存放Hadoop配置文件,主要包含core-site.xml,hdfs-site.xml,mapred-site.xml等從Hadoop1.x集成而來的文件和yarn-site,xml等Hadoop2.x新增的配置文件
include對外提供編程庫頭文件(具體動態庫和靜態庫在lib目錄中),這些頭文件均是用C++定義的,通用用于C++訪問HDFS和編寫MapReduce程序
lib該目錄包含了Hadoop對外提供的編程動態庫和靜態庫,與include目錄中的頭文件結合使用
libexec各個服務對用的shell文件所在的目錄,可用于配置日志輸出,啟動參數(比如JVM參數)等信息
sbin存放Hadoop管理腳本,主要包含HDFS和YARN中各類服務的啟動/關閉腳本
shareHadoop各個模塊編譯后的jar包所在的目錄,包括Hadoop的依賴jar包、文檔、和官方案例等
有的時候需要把Hadoop的源碼包src存放到src包中。

4 配置另外的機器

4.1 可以基于master克隆虛擬機

克隆slaver1、slaver2

4.2 配置機器

4.2.1 配置slaver1 IP

[root@slaver1 Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 #輸入以下內容 DEVICE=eno16777736 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.121.151 GATEWAY=192.168.121.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114systemctl restart network

4.2.2 修改主機名

[root@slaver1 Desktop]# hostnamectl set-hostname slaver1#該文件用來指定服務器上的網絡配置信息 [root@slaver1 Desktop]# vi /etc/sysconfig/network #修改內容如下 NETWORKING=yes HOSTNAME=slaver1 [root@master Desktop]# reboot

4.2.3 配置slaver2 IP

[root@slaver2 Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 #輸入以下內容 DEVICE=eno16777736 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.121.151 GATEWAY=192.168.121.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114systemctl restart network

4.2.4 修改主機名

[root@slaver2 Desktop]# hostnamectl set-hostname slaver2#該文件用來指定服務器上的網絡配置信息 [root@slaver2 Desktop]# vi /etc/sysconfig/network #修改內容如下 NETWORKING=yes HOSTNAME=slaver2 [root@master Desktop]# reboot

5.hadoop分布式配置

5.1 了解配置文件

配置文件功能描述
hadoop-env.sh配置Hadoop運行所需要的環境變量
mapred-env.sh配置MapReduce運行所需要的環境變量
yarn-env.sh配置YARN運行所需要的環境變量
core-site.xmlHadoop核心全局配置文件,可在其他配置文件中引用該文件
hdfs-site.xmlHDFS配置文件,繼承core-site.xml配置文件
mapred-site.xmlMapReduce配置文件,繼承core-site.xml配置文件
yarn-site.xmlYARN配置文件,繼承core-site.xml配置文件
slaves用于記錄集群所有的從節點的主機名,包括HDFS的DataNode節點和YARN的NodeManager節點

5.2 規劃集群

masterslaver1slaver2
HDFSNameNode
DataNode

DataNode
SecondaryNameNode
DataNode
YARN
NodeManager
ResourceManager
NodeManager

NodeManager

5.3 配置文件

5.3.1 hadoop-env.sh

hadoop-env.sh用來保證Hadoop系統能夠正常執行HDFS的守護進程NameNode,SecondaryNameNode和DataNode,這個文件需要修改JAVA_HOME

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/hadoop-env.sh #修改內容如下 export JAVA_HOME=/export/servers/jdk

5.3.2 core-site.xml

該文件是Hadoop的核心配置文件,其目的是配置HDFS地址,端口號,以及臨時文件目錄

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/core-site.xml #配置內容如下 <configuration><!--指定HDFS中NameNode的地址--><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><!--指定Hadoop運行時產生文件的存儲目錄--><property><name>hadoop.tmp.dir</name><value>/export/data/hadoop/tmp</value></property> </configuration>

5.3.3 hdfs-site.xml

配置SecondaryNameNode和DataNode兩大進程

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/hdfs-site.xml #配置內容如下 <configuration><!--指定HDFS中副本的數量,默認值是3,此處可以省略--><property><name>dfs.replication</name><value>3</value></property><!-- 指定Hadoop輔助名稱節點主機配置 --><property><name>dfs.namenode.secondary.http-address</name><value>slaver2:50090</value></property> </configuration>

5.3.4 mapred-env.sh

該文件是MapReducer的核心配置文件,用于指定MapRedue運行的時候的框架。

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/mapred-env.sh #修改內容如下 export JAVA_HOME=/export/servers/jdk

5.3.5 mapred-site.xml

該文件是MapReducer的核心配置文件,用于指定MapRedue運行的時候的框架。

[root@master hadoop]# cd $HADOOP_HOM #該文件不存在,需要先復制 [root@master hadoop]# cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml [root@master hadoop]# vi etc/hadoop/mapred-site.xml <configuration>#配置內容如下<!-- 指定MR運行時的框架,這里指定是yarn,默認是local --><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>

5.3.6 yarn-env.sh

yarn-env.sh用來保證YARN的守護進程ResourceManager和NodeManager,這個文件需要修改JAVA_HOME

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/yarn-env.sh #修改內容如下 export JAVA_HOME=/export/servers/jdk

5.3.7 yarn-site.xml

指定yarn集群的管理者

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/yarn-site.xml #配置內容如下 <configuration><!-- Reducer獲取數據的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>slaver1</value></property> </configuration>

文件中配置了yarn運行時候的主機為slaver1(192.168.121.152),同時配置了NodeManger運行時的附屬服務,需要配置mapreduce_shuffle才能正常運行MapReducer程序。

5.3.8 slaves

用于記錄集群所有的從節點的主機名,包括HDFS的DataNode節點和YARN的NodeManager節點

[root@master hadoop]# cd $HADOOP_HOME [root@master hadoop]# vi etc/hadoop/slaves #內容如下 master slaver1 slaver2

5.4文件的分發

[root@master ~]# scp -r /export/servers/hadoop/etc root@slaver1:/export/servers/hadoop/ [root@master ~]# scp -r /export/servers/hadoop/etc root@slaver2:/export/servers/hadoop/

6 集群單點啟動

(1)如果集群是第一次啟動,需要格式化NameNode

[root@master ~]# hadoop namenode -format

或者是使用

[root@master ~]# hdfs namenode -format

格式化成功的標志是格式化時輸出以下信息:

22/04/17 22:31:12 INFO common.Storage: Storage directory /export/data/hadoop/tmp/dfs/name has been successfully formatted.

如果格式化不成功,或者出現問題的時候,需要重新格式化,格式化之前需要刪除所有的進程,刪除目錄

#刪除所有的進程,刪除hadoop臨時文件,刪除logs,重新格式化 [root@master ~]# jps |awk '{print $1}' |xargs kill -9 [root@master ~]# rm -rf /export/data/hadoop [root@master ~]# rm -rf /export/servers/hadoop-2.7.3/logs[root@slaver1 ~]# jps |awk '{print $1}' |xargs kill -9 [root@slaver1 ~]# rm -rf /export/data/hadoop [root@slaver1 ~]# rm -rf /export/servers/hadoop-2.7.3/logs[root@slaver2 ~]# jps |awk '{print $1}' |xargs kill -9 [root@slaver2 ~]# rm -rf /export/data/hadoop [root@slaver2 ~]# rm -rf /export/servers/hadoop-2.7.3/logs[root@master ~]# hadoop namenode -format

(2)在節點master上啟動NameNode

[root@master ~]# hadoop-daemon.sh start namenode starting namenode, logging to /export/servers/hadoop-2.7.3/logs/hadoop-root-namenode-master.out [root@master ~]# jps 8887 Jps 9085 NameNode

(3)在節點slaver2上啟動SecondaryNameNode

[root@slaver2 ~]# hadoop-daemon.sh start secondarynamenode starting secondarynamenode, logging to /export/servers/hadoop/logs/hadoop-root-secondarynamenode-slaver2.out [root@slaver2 ~]# jps 3760 Jps 3719 SecondaryNameNode

(4)在master,slaver1以及slaver2上分別啟動DataNode

[root@master ~]# hadoop-daemon.sh start datanode starting datanode, logging to /export/servers/hadoop-2.7.3/logs/hadoop-root-datanode-master.out [root@master ~]# jps 8993 DataNode 9171 Jps 9085 NameNode[root@slaver1 hadoop]# hadoop-daemon.sh start datanode starting datanode, logging to /export/servers/hadoop/logs/hadoop-root-datanode-slaver1.out [root@slaver1 hadoop]# jps 3798 DataNode 3870 Jps[root@slaver2 ~]# hadoop-daemon.sh start datanode starting datanode, logging to /export/servers/hadoop/logs/hadoop-root-datanode-slaver2.out [root@slaver2 ~]# jps 3925 DataNode 3719 SecondaryNameNode 3997 Jps

(5)在slaver1啟動ResourceManager

[root@slaver1 hadoop]# yarn-daemon.sh start resourcemanager starting resourcemanager, logging to /export/servers/hadoop/logs/yarn-root-resourcemanager-slaver1.out [root@slaver1 hadoop]# jps 3798 DataNode 4027 ResourceManager 4236 Jps

(6)在master,slaver1以及slaver2上分別啟動NodeManager

[root@master ~]# yarn-daemon.sh start nodemanager starting nodemanager, logging to /export/servers/hadoop-2.7.3/logs/yarn-root-nodemanager-master.out [root@master ~]# jps 8993 DataNode 9397 Jps 9304 NodeManager 9085 NameNode[root@slaver1 hadoop]# yarn-daemon.sh start nodemanager starting nodemanager, logging to /export/servers/hadoop/logs/yarn-root-nodemanager-slaver1.out [root@slaver1 hadoop]# jps 4369 Jps 3798 DataNode 4027 ResourceManager 4316 NodeManager[root@slaver2 ~]# yarn-daemon.sh start nodemanager starting nodemanager, logging to /export/servers/hadoop/logs/yarn-root-nodemanager-slaver2.out [root@slaver2 ~]# jps 3925 DataNode 4102 NodeManager 3719 SecondaryNameNode 4137 Jps

7.免密登錄

master,slaver1,slaver2執行

[root@master~] cd [root@master~] rm -rf .ssh [root@master~] ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa[root@slaver1 ~] cd [root@slaver1 ~] rm -rf .ssh [root@slaver1 ~] ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa[root@slaver2 ~] cd [root@slaver2 ~] rm -rf .ssh [root@slaver2 ~] ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

上傳密鑰
master,slaver1,slaver2執行

[root@master~] ssh-copy-id -i ~/.ssh/id_rsa.pub master [root@master~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver1 [root@master~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver2[root@slaver1~] ssh-copy-id -i ~/.ssh/id_rsa.pub master [root@slaver1~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver1 [root@slaver1~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver2[root@slaver2~] ssh-copy-id -i ~/.ssh/id_rsa.pub master [root@slaver2~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver1 [root@slaver2~] ssh-copy-id -i ~/.ssh/id_rsa.pub slaver2

8.啟動

master上啟動dfs

[root@master~] start-dfs.sh

slaver1上啟動yarn

[root@slaver1~] start-yarn.sh

9.啟動總結

9.1 各個服務組件逐一啟動/停止

9.1.1分別啟動/停止HDFS組件

hadoop-daemon.sh start / stop namenode / datanode / secondarynamenode

9.1.2啟動/停止YARN

yarn-daemon.sh start / stop resourcemanager / nodemanager

9.2 各個模塊分開啟動/停止(配置ssh是前提)常用

9.2.1 整體啟動/停止HDFS

start-dfs.sh / stop-dfs.sh

9.2.2 整體啟動/停止YARN

start-yarn.sh / stop-yarn.sh

10.時鐘同步

如果服務器在公網環境(能連接外網),可以不采用集群時間同步,因為服務器會定期和公網時間進行校準;
如果服務器在內網環境,必須要配置集群時間同步,否則時間久了會產生時間偏差,導致集群執行任務時間不同步。

需求:找一個機器,作為時間服務器,所有的及其與這臺集群時間進行定時同步,生產環境根據任務對時間的準確度要求周期同步

10.1 時間服務器配置(必須root用戶)

10.1.1 檢查ntp是否安裝

[root@master~]# rpm -qa|grep ntp ntp-4.2.6p5-22.el7.centos.x86_64 fontpackages-filesystem-1.44-8.el7.noarch python-ntplib-0.3.2-1.el7.noarch ntpdate-4.2.6p5-22.el7.centos.x86_64

如果沒有安裝則需要安裝

yum install ntp ntpdate -y

10.1.2 修改ntp配置文件

[root@master~]# vi /etc/ntp.conf

修改內容如下

#修改1(授權192.168.121.0-192.168.121.255網段上的所有機器可以從這臺機器上查詢和同步時間),把下面#的行修改為沒有#的行 #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 192.168.121.0 mask 255.255.255.0 nomodify notrap #修改2(集群在局域網中,不使用其他互聯網上的時間) server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst為 #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst #添加3(當該節點丟失網絡連接,依然可以采用本地時間作為時間服務器為集群中的其他節點提供時間同步) server 127.127.1.0 fudge 127.127.1.0 stratum 10

10.1.3 修改/etc/sysconfig/ntpd 文件

[root@master~]# vim /etc/sysconfig/ntpd #增加內容如下(讓硬件時間與系統時間一起同步) SYNC_HWCLOCK=yes

10.1.4 重新啟動ntpd服務

[root@master~]# service ntpd status Redirecting to /bin/systemctl status ntpd.service ● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)Active: inactive (dead)[root@master~]# service ntpd start

10.1.5 設置ntpd服務開機啟動

[root@master~]# chkconfig ntpd on #或者 [root@master~]# systemctl is-enabled ntpd

10.2 其他機器配置(必須root用戶)

(1)在其他機器配置10分鐘與時間服務器同步一次

[root@slaver1 ~]# crontab -e #編寫定時任務如下: */10 * * * * /usr/sbin/ntpdate master

(2)修改任意機器時間

[root@slaver1 ~]# date -s "2017-9-11 11:11:11"

(3)十分鐘后查看機器是否與時間服務器同步

[root@slaver1 ~]# date

說明:測試的時候可以將10分鐘調整為1分鐘,節省時間。
或者使用如下方式:

vi /export/servers/hadoop/etc/hadoop/hadoop-env.sh export HADOOP_OPTS="$HADOOP_OPTS -Duser.timezone=GMT+08"vi /export/servers/hadoop/etc/hadoop/yarn-env.sh YARN_OPTS="$YARN_OPTS -Duser.timezone=GMT+08"#hbase的配置,暫時不需要配置 vi hbase-env.sh export TZ="Asia/Shanghai"

12.取消/var/spool/mail/root郵件提醒

[root@slaver1 ~] vi /etc/profile #添加如下內容 unset MAILCHECK [root@slaver1 ~] source /etc/profile

11通過UI查詢hadoop運行狀態

Hadoop正常啟動后,它開放了兩個端口50070和8088兩個端口用于監控HDFS和YARN的集群。

注意

如果namenode的resourceManager不在一臺機器上的話 ,那么不能再namenode上啟動resourceManager 也就是只能在resourceManager部署的機器上啟動。

腳本

jps.sh

[root@master conf]# cd /export/conf/ [root@master conf]# touch jps.sh [root@master conf]# vi jps.sh #輸入以下內容 #!/bin/bash for i in master slaver1 slaver2 doecho "========$i的JPS========"ssh $i "jps" done [root@master conf]# chmod 777 jps.sh [root@master conf]# ./jps.sh

總結

以上是生活随笔為你收集整理的Hadoop完全分布式配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。