国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

這篇具有很好參考價(jià)值的文章主要介紹了Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

超詳細(xì)版本|Linux Centos7從零搭建Hadoop集群及運(yùn)行MapReduce分布式集群案例(全網(wǎng)最詳細(xì)教程!)

關(guān)鍵字和相關(guān)配置版本

關(guān)鍵字:Linux CentOS Hadoop Java
版本: CentOS7 Hadoop3.2.0 JDK1.8
虛擬機(jī)參數(shù)信息內(nèi)存3.2G、處理器2x2、內(nèi)存50G
ISO:CentOS-7-x86_64-DVD-2009.iso

基本主從思路:

先把基礎(chǔ)的設(shè)置(SSH、JDK、Hadooop、環(huán)境變量、Hadoop和MapReduce配置信息)在一臺(tái)虛擬機(jī)(master)上配好,通過(guò)克隆修改節(jié)點(diǎn)IP、主機(jī)名、添加主從ip與對(duì)應(yīng)的主機(jī)名,獲得剩下一臺(tái)虛擬機(jī)(node1)!
此次搭建的集群的一臺(tái)主機(jī),一臺(tái)從機(jī)的主從結(jié)構(gòu)。
(可以根據(jù)自己的實(shí)際情況設(shè)置多臺(tái)從機(jī),本文內(nèi)容我這個(gè)從機(jī)是一個(gè),多加幾個(gè)節(jié)點(diǎn)也很簡(jiǎn)單,看個(gè)人愛(ài)好或者個(gè)人需求。)

說(shuō)明:Hadoop從版本2開(kāi)始加入了Yarn這個(gè)資源管理器,Yarn并不需要單獨(dú)安裝。只要在機(jī)器上安裝了JDK就可以直接安裝Hadoop,單純安裝Hadoop并不依賴(lài)Zookeeper之類(lèi)的其他東西。

一、首先要先在虛擬機(jī)搭建Linux CentOS7

不懂如何搭建的小伙伴可以在看我之前寫(xiě)的博客:

星川皆無(wú)恙:虛擬機(jī)搭建Linux CentOS7(詳細(xì)圖文講解)https://blog.csdn.net/Myx74270512/article/details/127883266?spm=1001.2014.3001.5502

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
我配置好的master和node1節(jié)點(diǎn)的虛擬機(jī)內(nèi)存和處理器等參數(shù)信息如下。
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

二、直接選擇root用戶(hù)登錄并關(guān)閉防火墻

(根據(jù)個(gè)人需求可選可不選,我選擇root直接登錄更簡(jiǎn)單省事)

我直接選擇root用戶(hù)登錄,避免了普通用戶(hù)授權(quán)和切換用戶(hù)導(dǎo)致的一些環(huán)境問(wèn)題,簡(jiǎn)單來(lái)說(shuō)就是高效、方便。
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
這樣的好處就是進(jìn)來(lái)直接就是root用戶(hù),不用再那么麻煩輸入密碼授權(quán)認(rèn)證啥的:
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
然后我們先關(guān)閉防火墻:

systemctl stop firewalld  //關(guān)閉防火墻
systemctl disable firewalld  //關(guān)閉開(kāi)機(jī)自啟
systemctl status firewalld  //查看防火墻狀態(tài)

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

systemctl status firewalld 

//查看防火墻狀態(tài)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

當(dāng)防火墻處于關(guān)閉狀態(tài)時(shí)候我們繼續(xù)往下進(jìn)行。

三、實(shí)現(xiàn)ssh免密碼登錄

配置ssh的無(wú)密碼訪(fǎng)問(wèn)

ssh-keygen -t rsa

連續(xù)按回車(chē)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
讓ssh服務(wù)器自動(dòng)啟動(dòng)

vi ~/.bashrc 

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

在文件的最末尾按O進(jìn)入編輯模式,加上:

/etc/init.d/ssh start

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

按ESC返回命令模式,輸入:wq保存并退出。
讓修改即刻生效

source ~/.bashrc

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

四、CentOS7 安裝jdk1.8

1、yum安裝

  1. 安裝之前先查看一下有無(wú)系統(tǒng)自帶jdk,有的話(huà)先卸載。
rpm -qa | grep jdk

[root@master ~]#rpm -qa | grep jdk
copy-jdk-configs-3.3-10.el7_5.noarch
java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-devel-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.322.b06-1.el7_9.noarch
java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-accessibility-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-demo-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-src-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.322.b06-1.el7_9.noarch

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

卸載jdk:

rpm -e --nodeps  上步查詢(xún)出的所有jdk

例如:
[root@master ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
[root@master ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
[root@master ~]# rpm -qa | grep jdk
java-1.8.0-openjdk-devel-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.322.b06-1.el7_9.noarch
java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-accessibility-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-demo-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-src-1.8.0.322.b06-1.el7_9.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.322.b06-1.el7_9.noarch
[root@test ~]#

rpm -e --nodeps 我這只執(zhí)行了兩次,剩下的7個(gè)卸載同樣的操作,在此不在執(zhí)行。

驗(yàn)證是否已經(jīng)卸載干凈:

rpm -qa|grep java

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

java -version

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

卸載完之后開(kāi)始安裝jdk1.8:

查看可安裝的版本

yum list java*

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

安裝1.8.0版本openjdk

yum -y install java-1.8.0-openjdk*

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

安裝位置查看:

rpm -qa | grep java
rpm -ql java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

環(huán)境變量配置:
當(dāng)前用戶(hù)使用:

vi ~/.bashrc

或者全局用戶(hù)使用:

vi /etc/profile

添加:

export JAVA_HOME=/usr/lib/jvm/java-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

然后執(zhí)行

 source ~/.bashrc

或者

 source /etc/profile 

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

命令使修改的配置文件生效。

驗(yàn)證安裝:

which java
java -version

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

五、下載hadoop

這里我使用的hadoop是3.2.0版本
打開(kāi)下載地址選擇頁(yè)面:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

這個(gè)鏈接也有更多3.2.0版本其它的hadoop文件:https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/
下載hadoop文件:
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
可以根據(jù)個(gè)人需求,選擇自己想要的hadoop版本號(hào)文件直接去下載:
附網(wǎng)址:
https://archive.apache.org/dist/hadoop/common/

然后上傳文件并解壓縮
1.在opt目錄下新建一個(gè)名為hadoop的目錄,并將下載得到的hadoop-3.2.0.tar上載到該目錄下

   mkdir /opt/hadoop

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

解壓安裝:

 tar -zxvf hadoop-3.2.0.tar.gz

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

配置Hadoop環(huán)境變量:

vim ~/.bashrc

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

添加hadoop環(huán)境變量:

export JAVA_HOME=/usr/lib/jvm/java-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:/opt/hadoop/hadoop-3.2.0/bin:/opt/hadoop/hadoop-3.2.0/sbin
export HADOOP_HOME=/opt/hadoop/hadoop-3.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

注意:這里的$PATH:$JAVA_HOME/bin:/opt/hadoop/hadoop-3.2.0/bin:/opt/hadoop/hadoop-3.2.0/sbin表示在保留原來(lái)的$PATH環(huán)境變量的基礎(chǔ)上,再增加$JAVA_HOME/bin/opt/hadoop/hadoop-3.2.0/bin/opt/hadoop/hadoop-3.2.0/sbin這些路徑作為新的$PATH環(huán)境變量。
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

然后我們執(zhí)行

source  ~/.bashrc

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

使修改的配置文件生效。

六、Hadoop配置文件修改

新建幾個(gè)目錄:

mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改etc/hadoop中的一系列配置文件

 vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/core-site.xml

在節(jié)點(diǎn)內(nèi)加入配置:

<configuration>
 <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
   </property>
   </configuration>

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改hadoop-env.sh

vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/hadoop-env.sh

將 export JAVA_HOME=${JAVA_HOME}
修改為: export JAVA_HOME=/usr/lib/jvm/java-openjdk
說(shuō)明:修改為自己的JDK路徑
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改hdfs-site.xml

vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/hdfs-site.xml 

在節(jié)點(diǎn)內(nèi)加入配置:

<configuration>
<property>
   <name>dfs.name.dir</name>
   <value>/root/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
   </description>
</property>

<property>
   <name>dfs.data.dir</name>
   <value>/root/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
   </description>
</property>

<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>

<property>
   <name>dfs.permissions</name>
   <value>false</value>
   <description>need not permissions</description>
</property>
</configuration>

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

新建并且修改mapred-site.xml:

vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/mapred-site.xml

在節(jié)點(diǎn)內(nèi)加入配置:

<configuration>
<!-- 配置mapReduce在Yarn上運(yùn)行(默認(rèn)本地運(yùn)行) -->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>
</configuration>

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改workers文件:

vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/workers

將里面的localhost刪除,添加以下內(nèi)容(master和node1節(jié)點(diǎn)都要修改):

master
node1

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

注意:這里面不能有多余空格,文件中不允許有空行。

也可以修改好master節(jié)點(diǎn)的/opt/hadoop/hadoop-3.2.0/etc/hadoop/workers文件,然后一條命令直接分發(fā)給集群,這樣就不用再修改其它節(jié)點(diǎn)的workers文件。下面是是xsync命令分發(fā)給集群的具體配置(感興趣可以看看,也可以直接跳過(guò))

xsync是對(duì)rsync腳本的二次封裝,需要給每臺(tái)服務(wù)器下載rsync:

yum install -y rsync

修改/usr/local/bin/下得xsync文件,如果沒(méi)有就新建

cd /usr/local/bin/
vim xsync

文件加入以下內(nèi)容:

#!/bin/bash
#1 獲取輸入?yún)?shù)個(gè)數(shù),如果沒(méi)有參數(shù),直接退出
pcount=$#
if((pcount==0)) 
then
        echo no args
        exit
fi
 
 
#2 獲取文件名稱(chēng)
p1=$1
fname=`basename $p1`
echo fname=$fname
 
 
#3 獲取上級(jí)目錄到絕對(duì)路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
 
 
#4 獲取當(dāng)前用戶(hù)名稱(chēng)
user=`whoami`
 
 
#5 循環(huán)
for((host=20; host<=21;host++))
do
        echo ------------------- @192.168.95.$host --------------
        rsync -rvl $pdir/$fname $user@192.168.95.$host:$pdir/
done

因?yàn)槲覀冎鳈C(jī)ip分別是192.168.95.20和192.168.95.21所以這里的for循環(huán)就是
((host=20; host<=21;host++)),
給腳本文件給予可執(zhí)行權(quán)限

Chmod 777 xsync

將自己編寫(xiě)的/bin文件拷貝到系統(tǒng)目錄的bin下
目的:讓主機(jī)知道這個(gè)腳本,在系統(tǒng)內(nèi),識(shí)別到,才可以使用

sudo cp xsync /bin

這樣配置好之后,我們就可以使用xsync命令分發(fā)配置了

xsync  /opt/hadoop/hadoop-3.2.0/etc

修改yarn-site.xml文件:

HADOOP_CLASSPATH 是設(shè)置要運(yùn)行的類(lèi)的路徑。否則當(dāng)你用hadoop classname [args]方式運(yùn)行程序時(shí)會(huì)報(bào)錯(cuò),說(shuō)找不到要運(yùn)行的類(lèi)。用hadoop jar jar_name.jar classname [args]方式運(yùn)行程序時(shí)沒(méi)問(wèn)題

這邊需要設(shè)置hadoop classpath否則后面mapreduce會(huì)報(bào)錯(cuò)找不到主類(lèi):

hadoop classpath

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

記下返回的結(jié)果

vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/yarn-site.xml 

添加一個(gè)配置

<property>
        <name>yarn.application.classpath</name>
        <value>hadoop classpath返回信息</value>
</property>

這是我的yarn-site.xml配置:

<configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
        <property>
            <name>yarn.application.classpath</name>
            <value>/opt/hadoop/hadoop-3.2.0/etc/hadoop:/opt/hadoop/hadoop-3.2.0/share/hadoop/common/lib/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/common/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/hdfs:/opt/hadoop/hadoop-3.2.0/share/hadoop/hdfs/lib/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/hdfs/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/lib/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/yarn:/opt/hadoop/hadoop-3.2.0/share/hadoop/yarn/lib/*:/opt/hadoop/hadoop-3.2.0/share/hadoop/yarn/*</value>
        </property>
</configuration>

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

配置hadoop-3.2.0/sbin/目錄下start-dfs.sh、start-yarn.sh、stop-dfs.sh、stop-yarn.sh文件

服務(wù)啟動(dòng)權(quán)限配置

cd /opt/hadoop/hadoop-3.2.0

配置start-dfs.sh與stop-dfs.sh文件

vi sbin/start-dfs.sh 

 vi sbin/stop-dfs.sh

加入下面內(nèi)容

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

配置start-yarn.sh與stop-yarn.sh文件

vi sbin/start-yarn.sh 

vi sbin/stop-yarn.sh

加入下面內(nèi)容

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

配置好基礎(chǔ)設(shè)置(SSH、JDK、Hadooop、環(huán)境變量、Hadoop和MapReduce配置信息)后,克隆虛擬機(jī),獲得從機(jī)node1節(jié)點(diǎn)。

如果已經(jīng)復(fù)制master為node1節(jié)點(diǎn)虛擬機(jī)了,但是node1節(jié)點(diǎn)的Hadoop配置文件信息還沒(méi)修改,那么我們直接可以在master節(jié)點(diǎn)中運(yùn)行下面這條命令,將已經(jīng)配置好的Hadoop配置信息分發(fā)給集群各節(jié)點(diǎn),這樣我們就不用再修改其它節(jié)點(diǎn)的Hadoop配置文件了:
xsync /opt/hadoop/hadoop-3.2.0/etc/hadoop

克隆master主機(jī)后,獲得從機(jī)node1節(jié)點(diǎn)。
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

然后開(kāi)始修改網(wǎng)卡信息:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改node1節(jié)點(diǎn)ip信息:
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改node1節(jié)點(diǎn)主機(jī)名:

vi /etc/hostname

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

修改node1節(jié)點(diǎn)對(duì)應(yīng)的ip 和主機(jī)名(主從節(jié)點(diǎn)保持一致)

vim /etc/hosts  

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
主從節(jié)點(diǎn)互連ssh試試:
先試試master節(jié)點(diǎn)連接node1節(jié)點(diǎn)

ssh node1

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
再試試node1節(jié)點(diǎn)連接master節(jié)點(diǎn):

ssh master

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
OK,互連成功。(按exit可以退出)

七、啟動(dòng)Hadoop

因?yàn)閙aster是namenode,node1是datanode,所以只需要對(duì)master進(jìn)行初始化操作,也就是對(duì)hdfs進(jìn)行格式化。
進(jìn)入到master這臺(tái)機(jī)器/opt/hadoop/hadoop-3.2.0/bin目錄:

  cd /opt/hadoop/hadoop-3.2.0/bin

執(zhí)行初始化腳本

  ./hadoop namenode -format

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

然后執(zhí)行啟動(dòng)進(jìn)程:

./sbin/start-all.sh

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

查看啟動(dòng)進(jìn)程情況。

jps

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

運(yùn)行結(jié)果:

master是我們的namenode,該機(jī)器的IP是192.168.95.20,在本地電腦訪(fǎng)問(wèn)如下地址:

http://192.168.95.20:9870/
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

在本地瀏覽器里訪(fǎng)問(wèn)如下地址:

http://192.168.95.20:8088/cluster

自動(dòng)跳轉(zhuǎn)到cluster頁(yè)面
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

在hdfs上建立一個(gè)目錄存放文件

./bin/hdfs dfs -mkdir -p /home/hadoop/myx/wordcount/input

查看分發(fā)復(fù)制是否正常

./bin/hdfs dfs -ls /home/hadoop/myx/wordcount/input

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

八、運(yùn)行MapReduce集群

Mapreduce運(yùn)行案例:
在hdfs上建立一個(gè)目錄存放文件
例如

./bin/hdfs dfs -mkdir -p /home/hadoop/myx/wordcount/input

可以先簡(jiǎn)單地寫(xiě)兩個(gè)小文件分別為text1和text2,如下所示。
file:text1.txt
hadoop is very good
mapreduce is very good

vim text1

加入下面內(nèi)容:

hadoop is  very good 
mapreduce is very good

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

然后可以把這兩個(gè)文件存入HDFS并用WordCount進(jìn)行處理.

./bin/hdfs dfs -put text1 /home/hadoop/myx/wordcount/input

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
查看分發(fā)情況
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
運(yùn)行MapReduce用WordCount進(jìn)行處理

./bin/hadoop jar /opt/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar  wordcount /home/hadoop/myx/wordcount/input /home/hadoop/myx/wordcount/output

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

最終結(jié)果會(huì)存儲(chǔ)在指定的輸出目錄中,查看輸出目錄里面可以看到以下內(nèi)容。

./bin/hdfs dfs -cat /home/hadoop/myx/wordcount/output/part-r-00000*

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
運(yùn)行輸出結(jié)果也可以在web端查看,里面有詳細(xì)信息:

http://192.168.95.20:9870/explorer.html#/home/hadoop/myx/wordcount/output

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
再來(lái)試試第二個(gè)案例:
file:text2.txt

vim text2

加入下面內(nèi)容

hadoop is  easy to learn 
mapreduce is  easy to learn

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
在瀏覽器端查看新建的input2目錄:
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
運(yùn)行MapReduce進(jìn)行處理,設(shè)置輸出的目錄為output2(輸出結(jié)果目錄不用提前創(chuàng)建,Mapreduce運(yùn)行過(guò)程中會(huì)自動(dòng)生成output2輸出目錄)。

./bin/hadoop jar /opt/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar  wordcount /home/hadoop/myx/wordcount/input2 /home/hadoop/myx/wordcount/output2

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

運(yùn)行結(jié)束后,查看text2的輸出結(jié)果

./bin/hdfs dfs -cat /home/hadoop/myx/wordcount/output2/part-r-00000*

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
運(yùn)行輸出結(jié)果也可以在web端查看,里面有詳細(xì)信息:

http://192.168.95.20:9870/explorer.html#/home/hadoop/myx/wordcount/output2

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
以上輸出結(jié)果為每個(gè)單詞出現(xiàn)的次數(shù)。

我們?cè)僮约涸囋囘\(yùn)行測(cè)試程序WordCount
先在hadoop當(dāng)前用戶(hù)目錄下新建文件夾WordCount,在其中建立兩個(gè)測(cè)試文件分別為file1.txt,file2.txt。自行在兩個(gè)文件中填寫(xiě)內(nèi)容。
新建文件夾WordCount。

mkdir WordCount
ls

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

cd WordCount
vim file1.txt

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
file1.txt文件內(nèi)容為:

This is the first hadoop test program!

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
vim file2.txt
file2.txt文件內(nèi)容為:

This  program is not very difficult,but this program is a common hadoop program!

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
然后在Hadoop文件系統(tǒng)HDFS中/home目錄下新建文件夾input,并查看其中的內(nèi)容。具體命令如下。

cd /opt/hadoop/hadoop-3.2.0
./bin/hadoop fs -mkdir /input
./bin/hadoop fs -ls /

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
在瀏覽器端查看:

http://192.168.95.20:9870/explorer.html#/input

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
將WordCount文件夾中file1.txt\file2.txt文件上傳到剛剛創(chuàng)建的“input”文件夾。具體命令如下。

./bin/hadoop fs -put /opt/hadoop/hadoop-3.2.0/WordCount/*.txt  /input

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

運(yùn)行Hadoop的示例程序,設(shè)置輸出的目錄為/output(輸出結(jié)果目錄不用提前創(chuàng)建,Mapreduce運(yùn)行過(guò)程中會(huì)自動(dòng)生成/output輸出目錄)。

./bin/hadoop jar /opt/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar  wordcount  /input /output

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

查看輸出結(jié)果的文件目錄信息和WordCount結(jié)果。
使用如下命令查看輸出結(jié)果的文件目錄信息。

./bin/hadoop fs -ls /output

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
使用如下命令查看WordCount的結(jié)果。

./bin/hdfs dfs -cat /output/part-r-00000*

輸出結(jié)果如下所示
Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
運(yùn)行輸出結(jié)果也可以在web端查看,里面有詳細(xì)信息:

http://192.168.95.20:9870/explorer.html#/output

Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)
以上輸出結(jié)果為每個(gè)單詞出現(xiàn)的次數(shù)。

我記得之前有個(gè)關(guān)于Hadoop版本端口有個(gè)簡(jiǎn)單的面試題,這里會(huì)來(lái)問(wèn)你一些重要服務(wù)進(jìn)程的端口號(hào)。
這里怕有的小伙伴不知道,我來(lái)給大家整理一下。
對(duì)于版本比較新的Hadoop3.0x :

Hadoop3.0x 對(duì)應(yīng)端口號(hào)
HDFS NameNode 內(nèi)部通信端口 8020/9000/9820
HDFS NameNode對(duì)用戶(hù)的查詢(xún)端口HTTP UI 9870
MapReduce查看執(zhí)行任務(wù)的端口 8088
歷史服務(wù)通信端口 19888

對(duì)于版本Hadoop2.0x 的:

Hadoop2.0x 對(duì)應(yīng)端口號(hào)
HDFS NameNode 內(nèi)部通信端口 8020/9000
HDFS NameNode對(duì)用戶(hù)的查詢(xún)端口HTTP UI 50070
MapReduce查看執(zhí)行任務(wù)的端口 8088
歷史服務(wù)通信端口 19888

希望此教程對(duì)各位有所幫助,這些都已經(jīng)試過(guò)水了,各位環(huán)境配置和操作沒(méi)問(wèn)題的話(huà),基本都能部署完成,我這里部署了一個(gè)從機(jī)node1節(jié)點(diǎn),可以根據(jù)自己需要增加3臺(tái)或者更多node節(jié)點(diǎn),節(jié)點(diǎn)配置信息修改的操作都是一樣的,直接復(fù)制虛擬機(jī)改主機(jī)名ip一些基本配置就行了。

最后祝各位部署一切順利!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-451103.html

到了這里,關(guān)于Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 大數(shù)據(jù)技術(shù)棧-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超詳細(xì)-小白注釋版)虛擬機(jī)安裝+平臺(tái)部署

    目錄 環(huán)境條件: 1、安裝虛擬機(jī)(已安裝好虛擬機(jī)的可跳轉(zhuǎn)至? 二、安裝JDK與Hadoop) (1)直接新建一臺(tái)虛擬機(jī) (2)首次啟用虛擬機(jī),進(jìn)行安裝 一、集群前置環(huán)境搭建(三臺(tái)機(jī)器分別設(shè)置hostname、網(wǎng)卡(ip)配置、ssh免密登錄) 1、查看一下本機(jī)與虛擬機(jī)的網(wǎng)卡和ip信息 (1)

    2024年02月06日
    瀏覽(31)
  • Centos7 + Hadoop 3.3.4 HA高可用集群部署

    目錄 一、集群規(guī)劃 二、主機(jī)環(huán)境準(zhǔn)備 1、配置主機(jī)名 2、配置HOSTS 3、配置內(nèi)核參數(shù) ?4、配置Limits ?5、關(guān)閉防火墻 6、關(guān)閉SELINUX 7、修改時(shí)區(qū) ?8、修改中文支持 三、安裝JDK 四、創(chuàng)建Hadoop用戶(hù) 五、安裝Zookeeper 1、下載安裝 2、配置zoo.cfg 3、配置myid 4、啟動(dòng)/查看/停止服務(wù) 六、安

    2024年02月15日
    瀏覽(30)
  • Centos7系統(tǒng)下搭建Hadoop 3.3.6

    Centos7系統(tǒng)下搭建Hadoop 3.3.6

    本次使用3臺(tái)服務(wù)器進(jìn)行安裝Hadoop。其中服務(wù)器系統(tǒng)均為Centos7.6、Hadoop版本為3.3.6、jdk版本為1.8.0_371。 ################################################################################################ 此外,大數(shù)據(jù)系列教程還在持續(xù)的更新中(包括跑一些實(shí)例、安裝數(shù)據(jù)庫(kù)、spark、mapreduce、hive等),

    2024年02月06日
    瀏覽(21)
  • 【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop環(huán)境——包含各類(lèi)問(wèn)題解決方案

    【hadoop】centos7.6+hadoop3.1.1搭建分布式hadoop環(huán)境——包含各類(lèi)問(wèn)題解決方案

    本文針對(duì)centos7.4即以上版本的hadoop環(huán)境搭建,因?yàn)檫@部分搭建是個(gè)很復(fù)雜且很容易出錯(cuò)的內(nèi)容,所以在結(jié)合了多種搭建方案后給出最適宜當(dāng)前版本的搭建。 本教程適用于CentOS 7.4即以上版本,如果是Ubuntu等其它linux內(nèi)核版本則不適合。 查看系統(tǒng)版本: 軟件 版本 獲取方法 Ope

    2024年02月16日
    瀏覽(24)
  • Hadoop集群安裝和搭建(從零開(kāi)始超級(jí)超級(jí)詳細(xì)的過(guò)程)(上)

    Hadoop集群安裝和搭建(從零開(kāi)始超級(jí)超級(jí)詳細(xì)的過(guò)程)(上)

    本文直接從最最最開(kāi)始安裝Hadoop開(kāi)始講解,省略了虛擬機(jī)安裝的這部分,這里我就默認(rèn)學(xué)過(guò)Liunx的各位小伙伴們已經(jīng)有相關(guān)環(huán)境了。 下半部分在這里~ Hadoop集群安裝和搭建(從零開(kāi)始超級(jí)超級(jí)詳細(xì)的過(guò)程)(下) 組件 功能 HDFS 分布式文件系統(tǒng) MapReduce 分布式并行編程模型 YA

    2024年02月06日
    瀏覽(20)
  • CentOS7搭建偽分布式Hadoop(全過(guò)程2023)

    CentOS7搭建偽分布式Hadoop(全過(guò)程2023)

    可以使用XFTP,用物理主機(jī)鏈接虛擬機(jī)的centos傳送java文件,或者直接去java官網(wǎng)下載文件,解壓。配置文件,啟動(dòng)配置。 驗(yàn)證java是否配置好 輸入: java javac java -version 修改六個(gè)配置文件hadoop-env.sh 啟動(dòng)hadoop之前需要格式化(具體在出現(xiàn)的問(wèn)題第六點(diǎn)) 驗(yàn)證: 出現(xiàn)錯(cuò)誤,解決和驗(yàn)

    2024年02月08日
    瀏覽(62)
  • CentOS 搭建 Hadoop3 高可用集群

    CentOS 搭建 Hadoop3 高可用集群

    spark101 spark102 spark103 192.168.171.101 192.168.171.102 192.168.171.103 namenode namenode journalnode journalnode journalnode datanode datanode datanode nodemanager nodemanager nodemanager recource manager recource manager job history job log job log job log 1.1 升級(jí)操作系統(tǒng)和軟件 升級(jí)后建議重啟 1.2 安裝常用軟件 1.3 修改主機(jī)名 1

    2024年02月06日
    瀏覽(26)
  • 大數(shù)據(jù)平臺(tái)搭建——hadoop集群(基于CentOS-7)的搭建

    大數(shù)據(jù)平臺(tái)搭建——hadoop集群(基于CentOS-7)的搭建

    目錄 總序 一、下載相關(guān)軟件的壓縮包 二、配置虛擬機(jī)上主節(jié)點(diǎn)相關(guān)設(shè)置 1、修改主機(jī)用戶(hù)名 2、進(jìn)行ip地址映射 3、配置虛擬機(jī)網(wǎng)絡(luò)設(shè)置 ? 三、解壓并配置java、hadoop環(huán)境 1、解壓jdk、hadoop壓縮文件 ?2、配置jdk、hadoop環(huán)境 3、修改hadoop中的相關(guān)配置文件信息(最重要) 四、克隆

    2024年02月06日
    瀏覽(48)
  • Hadoop 之 Centos 7 搭建 Zookeeper 3.8.2 集群(六)

    Hadoop 之 Centos 7 搭建 Zookeeper 3.8.2 集群(六)

    阿里云鏡像站 VmWare 安裝 Centos 7 自動(dòng)分區(qū) 開(kāi)始安裝 設(shè)置用戶(hù)名密碼 重啟系統(tǒng) Apache Zookeeper 下載 地址分配如下: 節(jié)點(diǎn) 地址 Host 主 192.168.1.100 zk1 從 192.168.1.101 zk2 從 192.168.1.102 zk3 zoo.cfg 配置說(shuō)明 配置項(xiàng) 默認(rèn)值 含義 tickTime 2000 通信心跳 initLimit 10 Leader 和 Follower 初始化容忍最多

    2024年02月15日
    瀏覽(26)
  • 搭建Hadoop3.x完全分布式集群(CentOS 9)

    搭建Hadoop3.x完全分布式集群(CentOS 9)

    虛擬機(jī)相關(guān): VMware workstation 16:虛擬機(jī) vmware_177981.zip CentOS Stream 9:虛擬機(jī) CentOS-Stream-9-latest-x86_64-dvd1.iso Hadoop相關(guān) jdk1.8:JDK jdk-8u261-linux-x64.tar.gz Hadoop 3.3.6:Hadoop Hadoop 3.3.6.tar.gz 輔助工具 putty:tools putty.exe mtputty:tools mtputty.exe winscp:tools WinSCP-6.3.1-Portable.zip 本文相關(guān)資源可以

    2024年04月14日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包