亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop偽分布式安裝

發布時間:2020-07-29 05:08:26 來源:網絡 閱讀:1848 作者:MT_IT 欄目:建站服務器

前言:

hadoop:存儲和處理平臺

hdfs:集群,NN,SNN,DN //SNN:將HDFS的日志和映像進行合并操作

mapreduce: 集群,有中心node,jobTracker/Task tracker,

jT:集群資源管理

TT:任務,map,reduce

hadoop 2.0

YARN:集群資源管理,分割

MapReduce:數據處理

RN,NM,AM //RN:資源節點,NM:節點管理,AM:資源代理

container:mr任務

Tez:execution engine

MR:batch

能夠對NN節點做HA,YARN也可以高可用了

一、2.0工作模型

==================================================

A      【NM/Container A /APP M(B)】

 \ /

【RM】 --           【NM/Container B /APP M(A)】

 / \

B      【NM/Container A&A /】


client-->RM--->node1/node2/node n...

Resouce Manager: RM是獨立的

    node上運行的有[node manager+App Master+ Container] //NM+AM 

Node manager:NM,運行在各node上,周期向RM報告node信息

clinet請求作業:node上的Application master決定要啟動幾個mapper 幾個 reducer

    mapper和reducer 稱為 Container //作業都在容器內運行。

    Application master只有一個,且同一個任務的APP M只在一個節點上,但是Container會分別運行在多個節點上,并周期向APP M報告其處理狀態

    APP M向RM報告任務運行狀況,在任務執行完畢后,RM會把APP M關閉

        某一個任務故障后,由App M進行管理,而不是RM管理

RM是全局的,NM在每一個節點上是唯一的,一個程序的AM只有一個,但是contianer需要在多個node上

Hadoop 1.0 和 2.0

1.0 2.0

================ =================

/MR/Pig/Hive|

pig/Hive/Others [Tez ]RT/Service(HBase)  

[MapReduce ] [YARN ]

[HDFS ] [HDFS2 ]

在Hadoop v1的時候:

Mapreduce是:

1.開發API

2.運行框架

3.運行環境

二、Hadoop的安裝

1.單機模型:測試使用

2.偽分布式模型:運行于單機

3.分布式模型:集群模型

Hadoop:基于java語言,需要依賴于jvm

hadoop-2.6.2:jdk 1.6+

hadoop-2.7 jdk 1.7+

1.環境

vim /etc/profile.d/java.sh 

JAVA_HOME=/usr

yum install java-1.8.0-openjdk-devel.x86_64

每一個java程序在運行的時候,都會啟動一個jvm,需要配置其堆內存。

新生代,老年代,持久代 //垃圾收集器

slaves:

一個DN;data node,對于yarn來說是node manager

tar xvf hadoop-2.6.2.tar.gz -C /bdapps/

cd /bdapps/

ln -sv hadoop-2.6.2/ hadoop

cd hadoop

vim /etc/profile.d/hadoop.sh

export HADOOP_PREFIX=/bdapps/hadoop
export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin
export HADOOP_YARN_HOME=${HADOOP_PREFIX}
export HADOOP_MAPPERD_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}

. /etc/profile.d/hadoop.sh

2.創建運行Hadoop進程的用戶和相關目

[root@node2 hadoop]# groupadd hadoop
[root@node2 hadoop]# useradd -g hadoop yarn
[root@node2 hadoop]# useradd -g hadoop hdfs
[root@node2 hadoop]# useradd -g hadoop mapred
創建數據和日志目錄
[root@node2 hadoop]# mkdir -pv /data/hadoop/hdfs/{nn,snn,dn}
[root@node2 hadoop]# chown -R hdfs:hadoop /data/hadoop/hdfs/
[root@node2 hadoop]# cd /bdapps/hadoop
[root@node2 hadoop]# mkdir logs
[root@node2 hadoop]# chmod g+w logs
[root@node2 hadoop]# chown -R yarn:hadoop ./*

3.配置hadoop

core-site.xml包含了NameNode主機地址以及監聽RPC端口信息,對于偽分布式模型的安裝來說,其主機地址為localhost,NameNode默認使用的RPC端口為8020

vim etc/hadoop/core-site.xml 

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:8020</value>
        <final>true</final>
    </property>
</configuration>

配置hdfs的相關屬性:例如復制因子(數據塊的副本)、NN和DN用于存儲數據的目錄等。數據塊的副本對于偽分布式的Hadoop應該為1,

而NN和DN用于存儲的數據的目錄為前面的步驟中專門為其創建的路徑。

[root@node2 hadoop]# vim etc/hadoop/hdfs-site.xml

<configuration>
    <property>  
        <name>dfs.replication</name>  //dfs的副本數量
        <value>1</value>
    </property>
<proporty>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/hdfs/nn</value>
</property>
    <proporty>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/hdfs/dn</value>
    </property>
    <property>
        <name>fs.checkpoint.dir</name>
        <value>file:///data/hadoop/hdfs/snn</value>
    </property>
    <property>
        <name>fs.checkpoint.edits.dir</name>
        <value>file:///data/hadoop/hdfs/snn</value>
    </property>
</configuration>

配置MapReduce framework,此應該指定使用yarn,另外的可用值還有local和classic

[root@node2 hadoop]# cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

[root@node2 hadoop]# vim etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置YARN進程及YARN相關屬性,首先執行ResourceManager守護進程的主機和監聽的端口。

對于偽分布式模型來講,其主機為localhost,默認的端口為8032;其次指定ResourceManager使用的scheduler,以及NodeManager的輔助任務。

[root@node2 hadoop]# vim etc/hadoop/yarn-site.xml 

<!-- Site specific YARN configuration properties -->
<configuration>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>localhost:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>localhost:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>localhost:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>localhost:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>localhost:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>
</configuration>


配置hadoop-devn.sh和yarn-env.sh--默認即可

Hadoop的各守護進程依賴于JAVA_HOME, Hadoop大多數守護進程的堆內存大小為1G

可根據需求調整。

slaves:定義hdfs的從節點列表--默認為本機

4.格式化HDFS

假如hdfs-site.xml 中的dfs.namenode.name.dir目錄不存在,格式化會創建之

如果實現存在:需要確保其權限設置正確,格式化會清除其內部數據并重新建立文件系統

切換hdfs用戶的身份執行

[root@node2 hadoop]# su - hdfs

hdfs命令分類:

User Commands

dfs:文件系統命令,,rm,cat,put,get,rmr,ls,cp,du,...

hdfs dfs -put localfile /user/hadoop/hadoopfile

fetchdt

fsck

version

Administration Commands

balancer

datanode

dfsadmin

mover

namenode

secondarynamenode

簡單配置拍錯:不能在/data目錄下生成文件

解決步驟:

1.diff 命令,把配置文件頭部的空白全部刪除

vim 

::%s/^[[:space:]]\+//

[hdfs@localhost ~]$ hdfs namenode -format

/data/hadoop/hdfs/nn has been successfully formatted.

5.啟動hadoop //NN,DN,SNN,RM,NM

NameNode: hadoop-daemon.sh start/stop namenode

DataNode: hadoop-daemon.sh start/stop datanode

Secondary NameNode: hadoop-daemon.sh start/stop secondarynamenode

ResourceManager: yarn-daemon.sh start/stop resourcemanager

NodeManager: yarn-daemon.sh start/stop nodemanager

啟動HDFS服務

HDFS有三個守護進程:

namenode、datanode、secondarynamenode都可以通過hadoop daemon.sh

YARN有兩個守護進程:

resourcemanager和nodemanager,都可以通過yarn-daemon.sh 腳本啟動

[hdfs@localhost ~]$ hadoop-daemon.sh start namenode

starting namenode, logging to /bdapps/hadoop/logs/hadoop-hdfs-namenode-localhost.o

[hdfs@localhost ~]$ jps //java的ps命令

4215 NameNode

4255 Jps


[hdfs@localhost ~]$ hadoop-daemon.sh start secondarynamenode

starting secondarynamenode, logging to /bdapps/hadoop/logs/hadoop-hdfs-secondarynamenode-localhost.out


[hdfs@localhost ~]$ hadoop-daemon.sh start datanode

starting datanode, logging to /bdapps/hadoop/logs/hadoop-hdfs-datanode-localhost.ou

//此時就可以上傳文件了

[hdfs@localhost ~]$ hdfs dfs -mkdir /test //創建組

[hdfs@localhost ~]$ hdfs dfs -ls /

Found 1 items

drwxr-xr-x   - hdfs supergroup          0 2017-05-13 22:18 /te

[hdfs@localhost ~]$ hdfs dfs -put /etc/fstab /test/

[hdfs@localhost ~]$ hdfs dfs -ls /test

Found 1 items

-rw-r--r--   1 hdfs supergroup        537 2017-05-13 22:21 /test/fstab


cat /data/hadoop/hdfs/dn/current/BP-1163334701-127.0.0.1-1494676927122/current/finalized/subdir0/subdir0/blk_1073741825

//可以進行查看

hdfs dfs -cat /test/fstab //也可以查看內容一樣

//文件過大的話,會被切割成n塊。


注意:如果要其他用戶對hdfs有寫入權限,需要在hdfs-site.xml添加一項屬性定義。

<property>
    <value>dfs.permissions</name>
    <value>false</value>
</property>
[root@node2 test]# su - yarn

[yarn@localhost ~]$ yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to /bdapps/hadoop/logs/yarn-yarn-resourcemanager-localhost.out

[yarn@localhost ~]$ yarn-daemon.sh start nodemanager
starting nodemanager, logging to /bdapps/hadoop/logs/yarn-yarn-nodemanager-localhost.out

[yarn@localhost ~]$ jps
5191 Jps
5068 NodeManager
4829 ResourceManager

6.Web UI概覽

HDFS和YARN ResourceManager各自提供了Web接口。

HDFS-NameNode:http://NameNodeHost:50070/

YARN-ResourceManager http://ResourceManagerHost:8088

http://192.168.4.105:50070/dfshealth.html#tab-overview

YARN-ResourceManager:只監聽在127.0.0.1,

EditLog的內容:

NameNode SecondaryNameNode

fs-p_w_picpath 

|________>  合并為新的fs-p_w_picpath

EditLog滾動一次 ------>取出     |

    |

覆蓋原有的fs-p_w_picpath__________________|

secondaryNameNode:合并NameNode上的Editlog合并到fs-imange上,以保證持久影響文件上,盡可能多的保持多的信息

真正的使用元數據在NameNode的內存中,假如數據發生修改,會追加到editlog中

firefox localhost:8088 &

Applications

SUBMITED:已經提交的作業

ACCEPTED:接受的作業

RUNNING

FINISHED

FAILED:失敗的

KILLED:

//SecnondaryNameNode從NameNode中取得

7.運行測試程序

[root@localhost mapreduce]# su - hdfs

[hdfs@localhost ~]$ cd /bdapps/hadoop/share/hadoop/mapreduce/

yarn jar hadoop-mapreduce-examples-2.6.2.jar  //有很多測試程序

hdfs dfs -ls /test/fstab.out //查看

hdfs dfs -cat /test/fstab.out/paprt-r-00000 //查看

//統計每個單詞的出現次數

小結

1.配置環境

java.sh hadoop.sh

2.創建用戶和相關目錄

3.配置hadoop

core-site.xml

hdfs-site.xml 

mapred-site.xml

yarn-site.xml

4.格式化HDFS

[hdfs@localhost ~]$ hdfs namenode -format

/data/hadoop/hdfs/nn has been successfully formatted.

5.啟動hadoop

NameNode: hadoop-daemon.sh start/stop namenode

DataNode: hadoop-daemon.sh start/stop datanode

Secondary NameNode: hadoop-daemon.sh start/stop secondarynamenode

ResourceManager: yarn-daemon.sh start/stop resourcemanager

NodeManager: yarn-daemon.sh start/stop nodemanager

6.Web UI概覽

HDFS和YARN ResourceManager各自提供了Web接口。

HDFS-NameNode:http://NameNodeHost:50070/

YARN-ResourceManager http://ResourceManagerHost:8088

幫助文檔:http://hadoop.apache.org/docs/r2.6.5/

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神木县| 确山县| 桐梓县| 清丰县| 张家界市| 漳州市| 浦城县| 广灵县| 武定县| 巴东县| 天津市| 临高县| 潢川县| 略阳县| 朔州市| 腾冲县| 壶关县| 三明市| 二手房| 珲春市| 彭阳县| 城固县| 玛纳斯县| 和林格尔县| 贡嘎县| 高尔夫| 射阳县| 金华市| 内丘县| 阿坝| 云南省| 灵武市| 涪陵区| 鄂托克前旗| 张北县| 贺州市| 淮安市| 麦盖提县| 洞口县| 乡宁县| 巨野县|