centos7安裝分布式hadoop

1 場景

1.1 目的

centos7環(huán)境下安裝分布式hadoop。hadoop版本:2.7.1。

1.2 準(zhǔn)備工作

(1)操作系統(tǒng)版本

centos7.3.1611

(2)服務(wù)器主從

192.168.1.11 master
192.168.1.12 slave1
192.168.1.13 slave2

主從部署,參見文章:http://m.itdecent.cn/p/4c145367208b

(3)JDK版本

JDK版本:1.8

JDK1.8安裝,參見文章:http://m.itdecent.cn/p/0b9467edf04d

(4)創(chuàng)建相關(guān)目錄

主節(jié)點(diǎn)和從節(jié)點(diǎn),均需創(chuàng)建如下目錄:

hadoop程序目錄:

mkdir /usr/local/dsj

hadoop數(shù)據(jù)目錄:

mkdir /home/hadoop/hadoop
mkdir /home/hadoop/hadoop/data
mkdir /home/hadoop/hadoop/name
mkdir /home/hadoop/hadoop/tmp

2 安裝master

總體順序是,先將master節(jié)點(diǎn)安裝配置好,然后將對應(yīng)的文件拷貝到從節(jié)點(diǎn)服務(wù)器(slave1/slave2)。

以下均在主節(jié)點(diǎn)服務(wù)器上操作。

2.1 下載解壓

下載地址:

https://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

下載后,解壓到目錄/usr/local/dsj/hadoop-2.7.1(此目錄為安裝目錄)

tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/dsj

2.2 配置環(huán)境變量

(1)打開配置文件

vi /etc/profile

(2)文件末尾增加配置

export HADOOP_HOME=/usr/local/dsj/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(2)讓配置生效

source /etc/profile

2.3 hdfs配置

(1)更改核心配置文件

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/core-site.xml

增加如下配置:

<!-- hdfs通信地址 -->
<property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
</property>
<!-- hadoop運(yùn)行時產(chǎn)生文件的存儲路徑 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp</value>
</property>

(2)修改hdfs配置文件

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/hdfs-site.xml

添加如下內(nèi)容:

<property>
     <name>dfs.name.dir</name>
     <value>/home/hadoop/hadoop/name</value>
     <description>namenode上存儲hdfs名字空間元數(shù)據(jù) </description>
</property>
<property>
    <name>dfs.data.dir</name>
    <value>/home/hadoop/hadoop/data</value>
    <description>datanode上數(shù)據(jù)塊的物理存儲位置</description>
</property>
<!-- 設(shè)置hdfs副本數(shù)量 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.http.address</name>
    <value>master:50070</value>
</property>

(3)修改hadoop-env.sh

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/hadoop-env.sh

原配置:export JAVA_HOME=${JAVA_HOME}
更改為JDK絕對路徑:

export JAVA_HOME=/usr/local/dsj/jdk1.8.0_121

2.4 yarn配置

(1)配置mapred-site.xml

復(fù)制配置文件:

cd /usr/local/dsj/hadoop-2.7.1/etc/hadoop
cp mapred-site.xml.template mapred-site.xml

打開配置文件:

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/mapred-site.xml

文件中增加配置:

<!-- 通知框架MR使用YARN -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

(2)配置yarn-site.xml

打開配置文件:

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/yarn-site.xml

增加如下配置:

<!-- reducer取數(shù)據(jù)的方式是mapreduce_shuffle -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!--RM的hostname-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

2.5 配置從節(jié)點(diǎn)

vi /usr/local/dsj/hadoop-2.7.1/etc/hadoop/slaves

更改配置如下:

slave1
slave2

2.6 拷貝主節(jié)點(diǎn)文件到從節(jié)點(diǎn)

(1)主節(jié)點(diǎn)拷貝hadoop文件到從節(jié)點(diǎn)

scp -r /usr/local/dsj/hadoop-2.7.1/ slave1:/usr/local/dsj/
scp -r /usr/local/dsj/hadoop-2.7.1/ slave2:/usr/local/dsj/

(2)主節(jié)點(diǎn)拷貝環(huán)境變量到從節(jié)點(diǎn)

scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile

3 配置slaver

以下均在從節(jié)點(diǎn)服務(wù)器上操作。

在slave1、slave2節(jié)點(diǎn)上執(zhí)行如下操作,使從主節(jié)點(diǎn)拷貝到從節(jié)點(diǎn)上的環(huán)境變量生效:

source /etc/profile

4 格式化節(jié)點(diǎn)

master節(jié)點(diǎn)上執(zhí)行操作,格式化節(jié)點(diǎn):

/usr/local/dsj/hadoop-2.7.1/bin/hdfs namenode -format

5 測試

(1)啟動hdfs

start-dfs.sh

(2)啟動yarn

start-yarn.sh

6 優(yōu)化

(1)core-site.xml增加配置

<!-- 流文件的緩沖區(qū) 128K(默認(rèn)4K) -->
<property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
</property>

(2)hdfs-site.xml增加配置

<!-- 缺省文件塊大小128MB(默認(rèn)64M)-->
<property>
    <name>dfs.block.size</name>
    <value>134217728</value>
</property>
<!-- NameNode 節(jié)點(diǎn)上面為處理datanode節(jié)點(diǎn)來來氣的遠(yuǎn)程調(diào)用的服務(wù)線程數(shù)量(默認(rèn)10) -->
<property>
    <name>dfs.namenode.handler.count</name>
    <value>64</value>
</property>

(3)mapred-site.xml增加配置

<!-- Map任務(wù)的中間結(jié)果是否進(jìn)行壓縮,減少網(wǎng)絡(luò)帶寬壓力-->
<property>
    <name>mapreduce.map.output.compress</name>
    <value>true</value>
</property>
<!-- 壓縮方式 -->
<property>
    <name>mapreduce.map.output.compress.codec</name>
    <value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
<!-- map任務(wù)需要的內(nèi)存大小-->
<property>
    <name>mapreduce.map.memory.mb</name>
    <value>2048</value>
</property>
<!-- map任務(wù)需要的虛擬機(jī)核數(shù)(默認(rèn)1) -->
<property>
    <name>mapreduce.map.cpu.vcores</name>
    <value>1</value>
</property>
<!-- reduce需要的內(nèi)存大小-->
<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>
</property>
<!-- reduce需要的內(nèi)存核數(shù)(默認(rèn)1) -->
<property>
    <name>mapreduce.reduce.cpu.vcores</name>
    <value>1</value>
</property>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容