久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

史上最详细的Hadoop环境搭建

發(fā)布時間:2023/12/20 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 史上最详细的Hadoop环境搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

GitChat 作者:鳴宇淳?
原文:?史上最詳細(xì)的Hadoop環(huán)境搭建?
關(guān)注公眾號:GitChat 技術(shù)雜談,一本正經(jīng)的講技術(shù)?
【不要錯過文末活動哦】

前言

Hadoop在大數(shù)據(jù)技術(shù)體系中的地位至關(guān)重要,Hadoop是大數(shù)據(jù)技術(shù)的基礎(chǔ),對Hadoop基礎(chǔ)知識的掌握的扎實程度,會決定在大數(shù)據(jù)技術(shù)道路上走多遠(yuǎn)。

這是一篇入門文章,Hadoop的學(xué)習(xí)方法很多,網(wǎng)上也有很多學(xué)習(xí)路線圖。本文的思路是:以安裝部署Apache Hadoop2.x版本為主線,來介紹Hadoop2.x的架構(gòu)組成、各模塊協(xié)同工作原理、技術(shù)細(xì)節(jié)。安裝不是目的,通過安裝認(rèn)識Hadoop才是目的。

本文分為五個部分、十三節(jié)、四十九步。

第一部分:Linux環(huán)境安裝

Hadoop是運行在Linux,雖然借助工具也可以運行在Windows上,但是建議還是運行在Linux系統(tǒng)上,第一部分介紹Linux環(huán)境的安裝、配置、Java JDK安裝等。

第二部分:Hadoop本地模式安裝

Hadoop本地模式只是用于本地開發(fā)調(diào)試,或者快速安裝體驗Hadoop,這部分做簡單的介紹。

第三部分:Hadoop偽分布式模式安裝

學(xué)習(xí)Hadoop一般是在偽分布式模式下進(jìn)行。這種模式是在一臺機器上各個進(jìn)程上運行Hadoop的各個模塊,偽分布式的意思是雖然各個模塊是在各個進(jìn)程上分開運行的,但是只是運行在一個操作系統(tǒng)上的,并不是真正的分布式。

第四部分:完全分布式安裝

完全分布式模式才是生產(chǎn)環(huán)境采用的模式,Hadoop運行在服務(wù)器集群上,生產(chǎn)環(huán)境一般都會做HA,以實現(xiàn)高可用。

第五部分:Hadoop HA安裝

HA是指高可用,為了解決Hadoop單點故障問題,生產(chǎn)環(huán)境一般都做HA部署。這部分介紹了如何配置Hadoop2.x的高可用,并簡單介紹了HA的工作原理。?
安裝過程中,會穿插簡單介紹涉及到的知識。希望能對大家有所幫助。?
?

第一部分:Linux環(huán)境安裝

第一步、配置Vmware NAT網(wǎng)絡(luò)

一、Vmware網(wǎng)絡(luò)模式介紹

參考:http://blog.csdn.net/collection4u/article/details/14127671

二、NAT模式配置

NAT是網(wǎng)絡(luò)地址轉(zhuǎn)換,是在宿主機和虛擬機之間增加一個地址轉(zhuǎn)換服務(wù),負(fù)責(zé)外部和虛擬機之間的通訊轉(zhuǎn)接和IP轉(zhuǎn)換。

我們部署Hadoop集群,這里選擇NAT模式,各個虛擬機通過NAT使用宿主機的IP來訪問外網(wǎng)。

我們的要求是集群中的各個虛擬機有固定的IP、可以訪問外網(wǎng),所以進(jìn)行如下設(shè)置:

1、 Vmware安裝后,默認(rèn)的NAT設(shè)置如下:

2、 默認(rèn)的設(shè)置是啟動DHCP服務(wù)的,NAT會自動給虛擬機分配IP,但是我們需要將各個機器的IP固定下來,所以要取消這個默認(rèn)設(shè)置。

3、 為機器設(shè)置一個子網(wǎng)網(wǎng)段,默認(rèn)是192.168.136網(wǎng)段,我們這里設(shè)置為100網(wǎng)段,將來各個虛擬機Ip就為 192.168.100.*。

4、 點擊NAT設(shè)置按鈕,打開對話框,可以修改網(wǎng)關(guān)地址和DNS地址。這里我們?yōu)镹AT指定DNS地址。

5、 網(wǎng)關(guān)地址為當(dāng)前網(wǎng)段里的.2地址,好像是固定的,我們不做修改,先記住網(wǎng)關(guān)地址就好了,后面會用到。

第二步、安裝Linux操作系統(tǒng)

三、Vmware上安裝Linux系統(tǒng)

1、 文件菜單選擇新建虛擬機

2、 選擇經(jīng)典類型安裝,下一步。

3、 選擇稍后安裝操作系統(tǒng),下一步。

4、 選擇Linux系統(tǒng),版本選擇CentOS 64位。

5、 命名虛擬機,給虛擬機起個名字,將來顯示在Vmware左側(cè)。并選擇Linux系統(tǒng)保存在宿主機的哪個目錄下,應(yīng)該一個虛擬機保存在一個目錄下,不能多個虛擬機使用一個目錄。

6、 指定磁盤容量,是指定分給Linux虛擬機多大的硬盤,默認(rèn)20G就可以,下一步。

7、 點擊自定義硬件,可以查看、修改虛擬機的硬件配置,這里我們不做修改。

8、 點擊完成后,就創(chuàng)建了一個虛擬機,但是此時的虛擬機還是一個空殼,沒有操作系統(tǒng),接下來安裝操作系統(tǒng)。

9、 點擊編輯虛擬機設(shè)置,找到DVD,指定操作系統(tǒng)ISO文件所在位置。

10、 點擊開啟此虛擬機,選擇第一個回車開始安裝操作系統(tǒng)。

11、 設(shè)置root密碼。

12、 選擇Desktop,這樣就會裝一個Xwindow。

13、 先不添加普通用戶,其他用默認(rèn)的,就把Linux安裝完畢了。

四、設(shè)置網(wǎng)絡(luò)

因為Vmware的NAT設(shè)置中關(guān)閉了DHCP自動分配IP功能,所以Linux還沒有IP,需要我們設(shè)置網(wǎng)絡(luò)各個參數(shù)。

1、 用root進(jìn)入Xwindow,右擊右上角的網(wǎng)絡(luò)連接圖標(biāo),選擇修改連接。

2、 網(wǎng)絡(luò)連接里列出了當(dāng)前Linux里所有的網(wǎng)卡,這里只有一個網(wǎng)卡System eth0,點擊編輯。

3、 配置IP、子網(wǎng)掩碼、網(wǎng)關(guān)(和NAT設(shè)置的一樣)、DNS等參數(shù),因為NAT里設(shè)置網(wǎng)段為100.*,所以這臺機器可以設(shè)置為192.168.100.10網(wǎng)關(guān)和NAT一致,為192.168.100.2

4、 用ping來檢查是否可以連接外網(wǎng),如下圖,已經(jīng)連接成功。

五、修改Hostname

1、 臨時修改hostname

[root@localhost Desktop]# hostname bigdata-senior01.chybinmy.com
  • 1

這種修改方式,系統(tǒng)重啟后就會失效。

2、 永久修改hostname

想永久修改,應(yīng)該修改配置文件 /etc/sysconfig/network。

命令:[root@bigdata-senior01 ~] vim /etc/sysconfig/network
  • 1

打開文件后,

NETWORKING=yes #使用網(wǎng)絡(luò) HOSTNAME=bigdata-senior01.chybinmy.com #設(shè)置主機名
  • 1
  • 2

六、配置Host

命令:[root@bigdata-senior01 ~] vim /etc/hosts 添加hosts: 192.168.100.10 bigdata-senior01.chybinmy.com
  • 1
  • 2

七、關(guān)閉防火墻

學(xué)習(xí)環(huán)境可以直接把防火墻關(guān)閉掉。

(1) 用root用戶登錄后,執(zhí)行查看防火墻狀態(tài)。

[root@bigdata-senior01 hadoop]# service iptables status
  • 1

(2) 用[root@bigdata-senior01 hadoop]# service iptables stop關(guān)閉防火墻,這個是臨時關(guān)閉防火墻。

[root@bigdata-senior01 hadoop-2.5.0]# service iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ]
  • 1
  • 2
  • 3
  • 4

(3) 如果要永久關(guān)閉防火墻用。

[root@bigdata-senior01 hadoop]# chkconfig iptables off
  • 1

關(guān)閉,這種需要重啟才能生效。

八、關(guān)閉selinux

selinux是Linux一個子安全機制,學(xué)習(xí)環(huán)境可以將它禁用。

[hadoop@bigdata-senior01 hadoop-2.5.0]$ vim /etc/sysconfig/selinux
  • 1
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

第三步、安裝JDK

九、安裝Java JDK

1、 查看是否已經(jīng)安裝了java JDK。

[root@bigdata-senior01 Desktop]# java –version
  • 1

注意:Hadoop機器上的JDK,最好是Oracle的Java JDK,不然會有一些問題,比如可能沒有JPS命令。?
如果安裝了其他版本的JDK,卸載掉。

2、 安裝java JDK

(1) 去下載Oracle版本Java JDK:jdk-7u67-linux-x64.tar.gz

(2) 將jdk-7u67-linux-x64.tar.gz解壓到/opt/modules目錄下

[root@bigdata-senior01 /]# tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules
  • 1

(3) 添加環(huán)境變量

設(shè)置JDK的環(huán)境變量 JAVA_HOME。需要修改配置文件/etc/profile,追加

export JAVA_HOME="/opt/modules/jdk1.7.0_67" export PATH=$JAVA_HOME/bin:$PATH
  • 1
  • 2

修改完畢后,執(zhí)行 source /etc/profile

(4)安裝后再次執(zhí)行 java –version,可以看見已經(jīng)安裝完成。

[root@bigdata-senior01 /]# java -version java version "1.7.0_67" Java(TM) SE Runtime Environment (build 1.7.0_67-b01) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
  • 1
  • 2
  • 3
  • 4

第二部分:Hadoop本地模式安裝

第四步、Hadoop部署模式

Hadoop部署模式有:本地模式、偽分布模式、完全分布式模式、HA完全分布式模式。

區(qū)分的依據(jù)是NameNode、DataNode、ResourceManager、NodeManager等模塊運行在幾個JVM進(jìn)程、幾個機器。

模式名稱各個模塊占用的JVM進(jìn)程數(shù)各個模塊運行在幾個機器數(shù)上
本地模式1個1個
偽分布式模式N個1個
完全分布式模式N個N個
HA完全分布式N個N個

第五步、本地模式部署

十、本地模式介紹

本地模式是最簡單的模式,所有模塊都運行與一個JVM進(jìn)程中,使用的本地文件系統(tǒng),而不是HDFS,本地模式主要是用于本地開發(fā)過程中的運行調(diào)試用。下載hadoop安裝包后不用任何設(shè)置,默認(rèn)的就是本地模式。

十一、解壓hadoop后就是直接可以使用

1、 創(chuàng)建一個存放本地模式hadoop的目錄

[hadoop@bigdata-senior01 modules]$ mkdir /opt/modules/hadoopstandalone
  • 1

2、 解壓hadoop文件

[hadoop@bigdata-senior01 modules]$ tar -zxf /opt/sofeware/hadoop-2.5.0.tar.gz -C /opt/modules/hadoopstandalone/
  • 1

3、 確保JAVA_HOME環(huán)境變量已經(jīng)配置好

[hadoop@bigdata-senior01 modules]$ echo ${JAVA_HOME} /opt/modules/jdk1.7.0_67
  • 1
  • 2

十二、運行MapReduce程序,驗證

我們這里用hadoop自帶的wordcount例子來在本地模式下測試跑mapreduce。

1、 準(zhǔn)備mapreduce輸入文件wc.input

[hadoop@bigdata-senior01 modules]$ cat /opt/data/wc.input hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop
  • 1
  • 2
  • 3
  • 4
  • 5

2、 運行hadoop自帶的mapreduce Demo

[hadoop@bigdata-senior01 hadoopstandalone]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /opt/data/wc.input output2
  • 1

這里可以看到j(luò)ob ID中有l(wèi)ocal字樣,說明是運行在本地模式下的。

3、 查看輸出文件

本地模式下,mapreduce的輸出是輸出到本地。

[hadoop@bigdata-senior01 hadoopstandalone]$ ll output2 total 4 -rw-r--r-- 1 hadoop hadoop 60 Jul 7 12:50 part-r-00000 -rw-r--r-- 1 hadoop hadoop 0 Jul 7 12:50 _SUCCESS
  • 1
  • 2
  • 3
  • 4

輸出目錄中有_SUCCESS文件說明JOB運行成功,part-r-00000是輸出結(jié)果文件。?
?

第三部分:Hadoop偽分布式模式安裝

第六步、偽分布式Hadoop部署過程

十三、Hadoop所用的用戶設(shè)置

1、 創(chuàng)建一個名字為hadoop的普通用戶

[root@bigdata-senior01 ~]# useradd hadoop [root@bigdata-senior01 ~]# passwd hadoop
  • 1
  • 2

2、 給hadoop用戶sudo權(quán)限

[root@bigdata-senior01 ~]# vim /etc/sudoers
  • 1

設(shè)置權(quán)限,學(xué)習(xí)環(huán)境可以將hadoop用戶的權(quán)限設(shè)置的大一些,但是生產(chǎn)環(huán)境一定要注意普通用戶的權(quán)限限制。

root ALL=(ALL) ALL hadoop ALL=(root) NOPASSWD:ALL
  • 1
  • 2

注意:如果root用戶無權(quán)修改sudoers文件,先手動為root用戶添加寫權(quán)限。

[root@bigdata-senior01 ~]# chmod u+w /etc/sudoers
  • 1

3、 切換到hadoop用戶

[root@bigdata-senior01 ~]# su - hadoop [hadoop@bigdata-senior01 ~]$
  • 1
  • 2

4、 創(chuàng)建存放hadoop文件的目錄

[hadoop@bigdata-senior01 ~]$ sudo mkdir /opt/modules
  • 1

5、 將hadoop文件夾的所有者指定為hadoop用戶

如果存放hadoop的目錄的所有者不是hadoop,之后hadoop運行中可能會有權(quán)限問題,那么就講所有者改為hadoop。

[hadoop@bigdata-senior01 ~]# sudo chown -R hadoop:hadoop /opt/modules
  • 1

十四、解壓Hadoop目錄文件

1、 復(fù)制hadoop-2.5.0.tar.gz到/opt/modules目錄下。

2、 解壓hadoop-2.5.0.tar.gz

[hadoop@bigdata-senior01 ~]# cd /opt/modules [hadoop@bigdata-senior01 hadoop]# tar -zxvf hadoop-2.5.0.tar.gz
  • 1
  • 2

十五、配置Hadoop

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

[hadoop@bigdata-senior01 hadoop]# vim /etc/profile
  • 1

追加配置:

export HADOOP_HOME="/opt/modules/hadoop-2.5.0" export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 1
  • 2

執(zhí)行:source /etc/profile 使得配置生效

驗證HADOOP_HOME參數(shù):

[hadoop@bigdata-senior01 /]$ echo $HADOOP_HOME /opt/modules/hadoop-2.5.0
  • 1
  • 2

2、 配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME參數(shù)

[hadoop@bigdata-senior01 ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
  • 1
修改JAVA_HOME參數(shù)為: export JAVA_HOME="/opt/modules/jdk1.7.0_67"
  • 1
  • 2

3、 配置core-site.xml

[hadoop@bigdata-senior01 ~]sudovim{HADOOP_HOME}/etc/hadoop/core-site.xml

(1) fs.defaultFS參數(shù)配置的是HDFS的地址。

<property> <name>fs.defaultFS</name> <value>hdfs://bigdata-senior01.chybinmy.com:8020</value> </property>
  • 1
  • 2
  • 3
  • 4

(2)?hadoop.tmp.dir配置的是Hadoop臨時目錄,比如HDFS的NameNode數(shù)據(jù)默認(rèn)都存放這個目錄下,查看*-default.xml等默認(rèn)配置文件,就可以看到很多依賴${hadoop.tmp.dir}的配置。

默認(rèn)的hadoop.tmp.dir是/tmp/hadoop-${user.name},此時有個問題就是NameNode會將HDFS的元數(shù)據(jù)存儲在這個/tmp目錄下,如果操作系統(tǒng)重啟了,系統(tǒng)會清空/tmp目錄下的東西,導(dǎo)致NameNode元數(shù)據(jù)丟失,是個非常嚴(yán)重的問題,所有我們應(yīng)該修改這個路徑。

  • 創(chuàng)建臨時目錄:
[hadoop@bigdata-senior01 hadoop-2.5.0]$ sudo mkdir -p /opt/data/tmp
  • 1
  • 將臨時目錄的所有者修改為hadoop
[hadoop@bigdata-senior01 hadoop-2.5.0]$ sudo chown –R hadoop:hadoop /opt/data/tmp
  • 1
  • 修改hadoop.tmp.dir
<property><name>hadoop.tmp.dir</name><value>/opt/data/tmp</value></property>
  • 1
  • 2
  • 3
  • 4

十六、配置、格式化、啟動HDFS

1、 配置hdfs-site.xml

[hadoop@bigdata-senior01 hadoop-2.5.0]$ vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
  • 1
<property><name>dfs.replication</name><value>1</value></property>
  • 1
  • 2
  • 3
  • 4

dfs.replication配置的是HDFS存儲時的備份數(shù)量,因為這里是偽分布式環(huán)境只有一個節(jié)點,所以這里設(shè)置為1。

2、 格式化HDFS

[hadoop@bigdata-senior01 ~]$ hdfs namenode –format
  • 1

格式化是對HDFS這個分布式文件系統(tǒng)中的DataNode進(jìn)行分塊,統(tǒng)計所有分塊后的初始元數(shù)據(jù)的存儲在NameNode中。

格式化后,查看core-site.xml里hadoop.tmp.dir(本例是/opt/data目錄)指定的目錄下是否有了dfs目錄,如果有,說明格式化成功。

注意:

  • 格式化時,這里注意hadoop.tmp.dir目錄的權(quán)限問題,應(yīng)該hadoop普通用戶有讀寫權(quán)限才行,可以將/opt/data的所有者改為hadoop。?
    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sudo chown -R hadoop:hadoop /opt/data

  • 查看NameNode格式化后的目錄。

  • [hadoop@bigdata-senior01 ~]$ ll /opt/data/tmp/dfs/name/current
    • 1

    fsimage是NameNode元數(shù)據(jù)在內(nèi)存滿了后,持久化保存到的文件。

    fsimage*.md5?是校驗文件,用于校驗fsimage的完整性。

    seen_txid?是hadoop的版本

    vession文件里保存:

    • namespaceID:NameNode的唯一ID。

    • clusterID:集群ID,NameNode和DataNode的集群ID應(yīng)該一致,表明是一個集群。

    #Mon Jul 04 17:25:50 CST 2016 namespaceID=2101579007 clusterID=CID-205277e6-493b-4601-8e33-c09d1d23ece4 cTime=0 storageType=NAME_NODE blockpoolID=BP-1641019026-127.0.0.1-1467624350057 layoutVersion=-57
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、 啟動NameNode

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode starting namenode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-hadoop-namenode-bigdata-senior01.chybinmy.com.out
    • 1
    • 2

    4、 啟動DataNode

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode starting datanode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-hadoop-datanode-bigdata-senior01.chybinmy.com.out
    • 1
    • 2

    5、 啟動SecondaryNameNode

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode starting secondarynamenode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-hadoop-secondarynamenode-bigdata-senior01.chybinmy.com.out
    • 1
    • 2

    6、 JPS命令查看是否已經(jīng)啟動成功,有結(jié)果就是啟動成功了。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ jps 3034 NameNode 3233 Jps 3193 SecondaryNameNode 3110 DataNode
    • 1
    • 2
    • 3
    • 4
    • 5

    7、 HDFS上測試創(chuàng)建目錄、上傳、下載文件

    HDFS上創(chuàng)建目錄

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/bin/hdfs dfs -mkdir /demo1
    • 1

    上傳本地文件到HDFS上

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/bin/hdfs dfs -put ${HADOOP_HOME}/etc/hadoop/core-site.xml /demo1
    • 1
    • 2

    讀取HDFS上的文件內(nèi)容

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/bin/hdfs dfs -cat /demo1/core-site.xml
    • 1

    從HDFS上下載文件到本地

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -get /demo1/core-site.xml
    • 1

    十七、配置、啟動YARN

    1、 配置mapred-site.xml

    默認(rèn)沒有mapred-site.xml文件,但是有個mapred-site.xml.template配置模板文件。復(fù)制模板生成mapred-site.xml。

    [hadoop@bigdata-senior01 hadoop-2.5.0]# cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
    • 1

    添加配置如下:

    <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
    • 1
    • 2
    • 3
    • 4

    指定mapreduce運行在yarn框架上。

    2、 配置yarn-site.xml

    添加配置如下:

    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property> <property><name>yarn.resourcemanager.hostname</name><value>bigdata-senior01.chybinmy.com</value></property>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • yarn.nodemanager.aux-services配置了yarn的默認(rèn)混洗方式,選擇為mapreduce的默認(rèn)混洗算法。

    • yarn.resourcemanager.hostname指定了Resourcemanager運行在哪個節(jié)點上。

    3、 啟動Resourcemanager

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager
    • 1

    4、 啟動nodemanager

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager
    • 1

    5、 查看是否啟動成功

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ jps 3034 NameNode 4439 NodeManager 4197 ResourceManager 4543 Jps 3193 SecondaryNameNode 3110 DataNode
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可以看到ResourceManager、NodeManager已經(jīng)啟動成功了。

    6、 YARN的Web頁面

    YARN的Web客戶端端口號是8088,通過http://192.168.100.10:8088/可以查看。

    十八、運行MapReduce Job

    在Hadoop的share目錄里,自帶了一些jar包,里面帶有一些mapreduce實例小例子,位置在share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar,可以運行這些例子體驗剛搭建好的Hadoop平臺,我們這里來運行最經(jīng)典的WordCount實例。

    1、 創(chuàng)建測試用的Input文件

    創(chuàng)建輸入目錄:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -mkdir -p /wordcountdemo/input
    • 1

    創(chuàng)建原始文件:

    在本地/opt/data目錄創(chuàng)建一個文件wc.input,內(nèi)容如下。

    將wc.input文件上傳到HDFS的/wordcountdemo/input目錄中:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -put /opt/data/wc.input /wordcountdemo/input
    • 1

    2、 運行WordCount MapReduce Job

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples- 2.5.0.jar wordcount /wordcountdemo/input /wordcountdemo/output
    • 1
    • 2

    3、 查看輸出結(jié)果目錄

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -ls /wordcountdemo/output -rw-r--r-- 1 hadoop supergroup 0 2016-07-05 05:12 /wordcountdemo/output/_SUCCESS -rw-r--r-- 1 hadoop supergroup 60 2016-07-05 05:12 /wordcountdemo/output/part-r-00000
    • 1
    • 2
    • 3

    • output目錄中有兩個文件,_SUCCESS文件是空文件,有這個文件說明Job執(zhí)行成功。

    • part-r-00000文件是結(jié)果文件,其中-r-說明這個文件是Reduce階段產(chǎn)生的結(jié)果,mapreduce程序執(zhí)行時,可以沒有reduce階段,但是肯定會有map階段,如果沒有reduce階段這個地方有是-m-。

    • 一個reduce會產(chǎn)生一個part-r-開頭的文件。

    • 查看輸出文件內(nèi)容。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -cat /wordcountdemo/output/part-r-00000 hadoop 3 hbase 1 hive 2 mapreduce 1 spark 2 sqoop 1 storm 1
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    結(jié)果是按照鍵值排好序的。

    十九、停止Hadoop

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop namenode stopping namenode [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop datanode stopping datanode [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/yarn-daemon.sh stop resourcemanager stopping resourcemanager [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/yarn-daemon.sh stop nodemanager stopping nodemanager
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    二十、 Hadoop各個功能模塊的理解

    1、 HDFS模塊

    HDFS負(fù)責(zé)大數(shù)據(jù)的存儲,通過將大文件分塊后進(jìn)行分布式存儲方式,突破了服務(wù)器硬盤大小的限制,解決了單臺機器無法存儲大文件的問題,HDFS是個相對獨立的模塊,可以為YARN提供服務(wù),也可以為HBase等其他模塊提供服務(wù)。

    2、 YARN模塊

    YARN是一個通用的資源協(xié)同和任務(wù)調(diào)度框架,是為了解決Hadoop1.x中MapReduce里NameNode負(fù)載太大和其他問題而創(chuàng)建的一個框架。

    YARN是個通用框架,不止可以運行MapReduce,還可以運行Spark、Storm等其他計算框架。

    3、 MapReduce模塊

    MapReduce是一個計算框架,它給出了一種數(shù)據(jù)處理的方式,即通過Map階段、Reduce階段來分布式地流式處理數(shù)據(jù)。它只適用于大數(shù)據(jù)的離線處理,對實時性要求很高的應(yīng)用不適用。

    第七步、開啟歷史服務(wù)

    二十一、歷史服務(wù)介紹

    Hadoop開啟歷史服務(wù)可以在web頁面上查看Yarn上執(zhí)行job情況的詳細(xì)信息。可以通過歷史服務(wù)器查看已經(jīng)運行完的Mapreduce作業(yè)記錄,比如用了多少個Map、用了多少個Reduce、作業(yè)提交時間、作業(yè)啟動時間、作業(yè)完成時間等信息。

    二十二、開啟歷史服務(wù)

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh start historyserver、
    • 1

    開啟后,可以通過Web頁面查看歷史服務(wù)器:

    http://bigdata-senior01.chybinmy.com:19888/

    二十三、Web查看job執(zhí)行歷史

    1、 運行一個mapreduce任務(wù)

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples- 2.5.0.jar wordcount /wordcountdemo/input /wordcountdemo/output1
    • 1
    • 2

    2、 job執(zhí)行中

    3、 查看job歷史

    歷史服務(wù)器的Web端口默認(rèn)是19888,可以查看Web界面。

    但是在上面所顯示的某一個Job任務(wù)頁面的最下面,Map和Reduce個數(shù)的鏈接上,點擊進(jìn)入Map的詳細(xì)信息頁面,再查看某一個Map或者Reduce的詳細(xì)日志是看不到的,是因為沒有開啟日志聚集服務(wù)。

    二十四、開啟日志聚集

    4、 日志聚集介紹

    MapReduce是在各個機器上運行的,在運行過程中產(chǎn)生的日志存在于各個機器上,為了能夠統(tǒng)一查看各個機器的運行日志,將日志集中存放在HDFS上,這個過程就是日志聚集。

    5、 開啟日志聚集

    配置日志聚集功能:

    Hadoop默認(rèn)是不啟用日志聚集的。在yarn-site.xml文件里配置啟用日志聚集。

    <property><name>yarn.log-aggregation-enable</name><value>true</value></property> <property><name>yarn.log-aggregation.retain-seconds</name><value>106800</value></property>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    yarn.log-aggregation-enable:是否啟用日志聚集功能。

    yarn.log-aggregation.retain-seconds:設(shè)置日志保留時間,單位是秒。

    將配置文件分發(fā)到其他節(jié)點:

    [hadoop@bigdata-senior01 hadoop]$ scp /opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml bigdata-senior02.chybinmy.com:/opt/modules/hadoop-2.5.0/etc/hadoop/ [hadoop@bigdata-senior01 hadoop]$ scp /opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml bigdata-senior03.chybinmy.com:/opt/modules/hadoop-2.5.0/etc/hadoop/
    • 1
    • 2

    重啟Yarn進(jìn)程:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/stop-yarn.sh [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/start-yarn.sh
    • 1
    • 2

    重啟HistoryServer進(jìn)程:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh stop historyserver [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh start historyserver
    • 1
    • 2

    6、 測試日志聚集

    運行一個demo MapReduce,使之產(chǎn)生日志:

    bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input /output1
    • 1

    查看日志:

    運行Job后,就可以在歷史服務(wù)器Web頁面查看各個Map和Reduce的日志了。?
    ?

    第四部分:完全分布式安裝

    第八步、完全布式環(huán)境部署Hadoop

    完全分部式是真正利用多臺Linux主機來進(jìn)行部署Hadoop,對Linux機器集群進(jìn)行規(guī)劃,使得Hadoop各個模塊分別部署在不同的多臺機器上。

    二十五、環(huán)境準(zhǔn)備

    1、 克隆虛擬機

    • Vmware左側(cè)選中要克隆的機器,這里對原有的BigData01機器進(jìn)行克隆,虛擬機菜單中,選中管理菜單下的克隆命令。

    • 選擇“創(chuàng)建完整克隆”,虛擬機名稱為BigData02,選擇虛擬機文件保存路徑,進(jìn)行克隆。

    • 再次克隆一個名為BigData03的虛擬機。

    2、 配置網(wǎng)絡(luò)

    修改網(wǎng)卡名稱:

    在BigData02和BigData03機器上編輯網(wǎng)卡信息。執(zhí)行sudo vim /etc/udev/rules.d/70-persistent-net.rules命令。因為是從BigData01機器克隆來的,所以會保留BigData01的網(wǎng)卡eth0,并且再添加一個網(wǎng)卡eth1。并且eth0的Mac地址和BigData01的地址是一樣的,Mac地址不允許相同,所以要刪除eth0,只保留eth1網(wǎng)卡,并且要將eth1改名為eth0。將修改后的eth0的mac地址復(fù)制下來,修改network-scripts文件中的HWADDR屬性。

    sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
    • 1

    修改網(wǎng)絡(luò)參數(shù):

    BigData02機器IP改為192.168.100.12

    BigData03機器IP改為192.168.100.13

    3、 配置Hostname

    BigData02配置hostname為 bigdata-senior02.chybinmy.com

    BigData03配置hostname為 bigdata-senior03.chybinmy.com

    4、 配置hosts

    BigData01、BigData02、BigData03三臺機器hosts都配置為:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sudo vim /etc/hosts 192.168.100.10 bigdata-senior01.chybinmy.com 192.168.100.12 bigdata-senior02.chybinmy.com 192.168.100.13 bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3
    • 4

    5、 配置Windows上的SSH客戶端

    在本地Windows中的SSH客戶端上添加對BigData02、BigData03機器的SSH鏈接。

    二十六、服務(wù)器功能規(guī)劃

    bigdata-senior01.chybinmy.combigdata-senior02.chybinmy.combigdata-senior03.chybinmy.com
    NameNodeResourceManage?
    DataNodeDataNodeDataNode
    NodeManagerNodeManagerNodeManager
    HistoryServer?SecondaryNameNode

    二十七、在第一臺機器上安裝新的Hadoop

    為了和之前BigData01機器上安裝偽分布式Hadoop區(qū)分開來,我們將BigData01上的Hadoop服務(wù)都停止掉,然后在一個新的目錄/opt/modules/app下安裝另外一個Hadoop。?
    我們采用先在第一臺機器上解壓、配置Hadoop,然后再分發(fā)到其他兩臺機器上的方式來安裝集群。

    6、 解壓Hadoop目錄:

    [hadoop@bigdata-senior01 modules]$ tar -zxf /opt/sofeware/hadoop-2.5.0.tar.gz -C /opt/modules/app/
    • 1

    7、 配置Hadoop JDK路徑修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路徑:

    export JAVA_HOME="/opt/modules/jdk1.7.0_67"
    • 1

    8、 配置core-site.xml

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ vim etc/hadoop/core-site.xml
    • 1
    <configuration><property><name>fs.defaultFS</name><value>hdfs://bigdata-senior01.chybinmy.com:8020</value></property><property><name>hadoop.tmp.dir</name><value>/opt/modules/app/hadoop-2.5.0/data/tmp</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    fs.defaultFS為NameNode的地址。

    hadoop.tmp.dir為hadoop臨時目錄的地址,默認(rèn)情況下,NameNode和DataNode的數(shù)據(jù)文件都會存在這個目錄下的對應(yīng)子目錄下。應(yīng)該保證此目錄是存在的,如果不存在,先創(chuàng)建。

    9、 配置hdfs-site.xml

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ vim etc/hadoop/hdfs-site.xml
    • 1
    <configuration><property><name>dfs.namenode.secondary.http-address</name><value>bigdata-senior03.chybinmy.com:50090</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    dfs.namenode.secondary.http-address是指定secondaryNameNode的http訪問地址和端口號,因為在規(guī)劃中,我們將BigData03規(guī)劃為SecondaryNameNode服務(wù)器。

    所以這里設(shè)置為:bigdata-senior03.chybinmy.com:50090

    10、 配置slaves

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ vim etc/hadoop/slaves bigdata-senior01.chybinmy.com bigdata-senior02.chybinmy.com bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3
    • 4

    slaves文件是指定HDFS上有哪些DataNode節(jié)點。

    11、 配置yarn-site.xml

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ vim etc/hadoop/yarn-site.xml
    • 1
    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>bigdata-senior02.chybinmy.com</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.log-aggregation.retain-seconds</name><value>106800</value></property>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    根據(jù)規(guī)劃yarn.resourcemanager.hostname這個指定resourcemanager服務(wù)器指向bigdata-senior02.chybinmy.com。

    yarn.log-aggregation-enable是配置是否啟用日志聚集功能。

    yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多長時間。

    12、 配置mapred-site.xml

    從mapred-site.xml.template復(fù)制一個mapred-site.xml文件。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
    • 1
    <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>bigdata-senior01.chybinmy.com:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>bigdata-senior01.chybinmy.com:19888</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    mapreduce.framework.name設(shè)置mapreduce任務(wù)運行在yarn上。

    mapreduce.jobhistory.address是設(shè)置mapreduce的歷史服務(wù)器安裝在BigData01機器上。

    mapreduce.jobhistory.webapp.address是設(shè)置歷史服務(wù)器的web頁面地址和端口號。

    二十八、設(shè)置SSH無密碼登錄

    Hadoop集群中的各個機器間會相互地通過SSH訪問,每次訪問都輸入密碼是不現(xiàn)實的,所以要配置各個機器間的

    SSH是無密碼登錄的。

    1、 在BigData01上生成公鑰

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ssh-keygen -t rsa
    • 1

    一路回車,都設(shè)置為默認(rèn)值,然后再當(dāng)前用戶的Home目錄下的.ssh目錄中會生成公鑰文件(id_rsa.pub)和私鑰文件(id_rsa)。

    2、 分發(fā)公鑰

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ ssh-copy-id bigdata-senior01.chybinmy.com [hadoop@bigdata-senior01 hadoop-2.5.0]$ ssh-copy-id bigdata-senior02.chybinmy.com [hadoop@bigdata-senior01 hadoop-2.5.0]$ ssh-copy-id bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3

    3、 設(shè)置BigData02、BigData03到其他機器的無密鑰登錄

    同樣的在BigData02、BigData03上生成公鑰和私鑰后,將公鑰分發(fā)到三臺機器上。

    二十九、分發(fā)Hadoop文件

    1、 首先在其他兩臺機器上創(chuàng)建存放Hadoop的目錄

    [hadoop@bigdata-senior02 ~]$ mkdir /opt/modules/app [hadoop@bigdata-senior03 ~]$ mkdir /opt/modules/app
    • 1
    • 2

    2、 通過Scp分發(fā)

    Hadoop根目錄下的share/doc目錄是存放的hadoop的文檔,文件相當(dāng)大,建議在分發(fā)之前將這個目錄刪除掉,可以節(jié)省硬盤空間并能提高分發(fā)的速度。

    doc目錄大小有1.6G。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ du -sh /opt/modules/app/hadoop-2.5.0/share/doc 1.6G /opt/modules/app/hadoop-2.5.0/share/doc [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/app/hadoop-2.5.0/ bigdata-senior02.chybinmy.com:/opt/modules/app [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/app/hadoop-2.5.0/ bigdata-senior03.chybinmy.com:/opt/modules/app
    • 1
    • 2
    • 3
    • 4

    三十、格式NameNode

    在NameNode機器上執(zhí)行格式化:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ /opt/modules/app/hadoop-2.5.0/bin/hdfs namenode –format
    • 1

    注意:

    如果需要重新格式化NameNode,需要先將原來NameNode和DataNode下的文件全部刪除,不然會報錯,NameNode和DataNode所在目錄是在core-site.xml中hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir屬性配置的。

    <property><name>hadoop.tmp.dir</name><value>/opt/data/tmp</value></property> <property><name>dfs.namenode.name.dir</name><value>file://${hadoop.tmp.dir}/dfs/name</value></property> <property><name>dfs.datanode.data.dir</name><value>file://${hadoop.tmp.dir}/dfs/data</value></property>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    因為每次格式化,默認(rèn)是創(chuàng)建一個集群ID,并寫入NameNode和DataNode的VERSION文件中(VERSION文件所在目錄為dfs/name/current 和 dfs/data/current),重新格式化時,默認(rèn)會生成一個新的集群ID,如果不刪除原來的目錄,會導(dǎo)致namenode中的VERSION文件中是新的集群ID,而DataNode中是舊的集群ID,不一致時會報錯。

    另一種方法是格式化時指定集群ID參數(shù),指定為舊的集群ID。

    三十一、啟動集群

    1、 啟動HDFS

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ /opt/modules/app/hadoop-2.5.0/sbin/start-dfs.sh
    • 1

    2、 啟動YARN

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ /opt/modules/app/hadoop-2.5.0/sbin/start-yarn.sh
    • 1

    在BigData02上啟動ResourceManager:

    [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/yarn-daemon.sh start resourcemanager
    • 1

    3、 啟動日志服務(wù)器

    因為我們規(guī)劃的是在BigData03服務(wù)器上運行MapReduce日志服務(wù),所以要在BigData03上啟動。

    [hadoop@bigdata-senior03 ~]$ /opt/modules/app/hadoop-2.5.0/sbin/mr-jobhistory-daemon.sh start historyserver starting historyserver, logging to /opt/modules/app/hadoop-2.5.0/logs/mapred-hadoop-historyserver-bigda ta-senior03.chybinmy.com.out
    • 1
    • 2
    [hadoop@bigdata-senior03 ~]$ jps 3570 Jps 3537 JobHistoryServer 3310 SecondaryNameNode 3213 DataNode 3392 NodeManager
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、 查看HDFS Web頁面

    http://bigdata-senior01.chybinmy.com:50070/

    5、 查看YARN Web 頁面

    http://bigdata-senior02.chybinmy.com:8088/cluster

    三十二、測試Job

    我們這里用hadoop自帶的wordcount例子來在本地模式下測試跑mapreduce。

    1、 準(zhǔn)備mapreduce輸入文件wc.input

    [hadoop@bigdata-senior01 modules]$ cat /opt/data/wc.input hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop
    • 1
    • 2
    • 3
    • 4
    • 5

    2、 在HDFS創(chuàng)建輸入目錄input

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -mkdir /input
    • 1

    3、 將wc.input上傳到HDFS

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -put /opt/data/wc.input /input/wc.input
    • 1

    4、 運行hadoop自帶的mapreduce Demo

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input/wc.input /output
    • 1

    5、 查看輸出文件

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -ls /output Found 2 items -rw-r--r-- 3 hadoop supergroup 0 2016-07-14 16:36 /output/_SUCCESS -rw-r--r-- 3 hadoop supergroup 60 2016-07-14 16:36 /output/part-r-00000
    • 1
    • 2
    • 3
    • 4

    第五部分:Hadoop HA安裝

    HA的意思是High Availability高可用,指當(dāng)當(dāng)前工作中的機器宕機后,會自動處理這個異常,并將工作無縫地轉(zhuǎn)移到其他備用機器上去,以來保證服務(wù)的高可用。

    HA方式安裝部署才是最常見的生產(chǎn)環(huán)境上的安裝部署方式。Hadoop HA是Hadoop 2.x中新添加的特性,包括NameNode HA 和 ResourceManager HA。因為DataNode和NodeManager本身就是被設(shè)計為高可用的,所以不用對他們進(jìn)行特殊的高可用處理。

    第九步、時間服務(wù)器搭建

    Hadoop對集群中各個機器的時間同步要求比較高,要求各個機器的系統(tǒng)時間不能相差太多,不然會造成很多問題。可以配置集群中各個機器和互聯(lián)網(wǎng)的時間服務(wù)器進(jìn)行時間同步,但是在實際生產(chǎn)環(huán)境中,集群中大部分服務(wù)器是不能連接外網(wǎng)的,這時候可以在內(nèi)網(wǎng)搭建一個自己的時間服務(wù)器(NTP服務(wù)器),集群的各個機器與這個時間服務(wù)器進(jìn)行時間同步。

    三十三、配置NTP服務(wù)器

    我們選擇第三臺機器(bigdata-senior03.chybinmy.com)為NTF服務(wù)器,其他機器和這臺機器進(jìn)行同步。

    1、 檢查ntp服務(wù)是否已經(jīng)安裝

    [hadoop@bigdata-senior03 data]$ sudo rpm -qa | grep ntp ntpdate-4.2.6p5-1.el6.centos.x86_64 ntp-4.2.6p5-1.el6.centos.x86_64
    • 1
    • 2
    • 3

    顯示已經(jīng)安裝過了ntp程序,其中ntpdate-4.2.6p5-1.el6.centos.x86_64?是用來和某臺服務(wù)器進(jìn)行同步的,ntp-4.2.6p5-1.el6.centos.x86_64是用來提供時間同步服務(wù)的。

    2、 修改配置文件ntp.conf

    [hadoop@bigdata-senior03 data]$ vim /etc/ntp.conf
    • 1

    啟用restrice,修改網(wǎng)段

    restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap?
    將這行的注釋去掉,并且將網(wǎng)段改為集群的網(wǎng)段,我們這里是100網(wǎng)段。

    注釋掉server域名配置

    #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
    • 1
    • 2
    • 3
    • 4

    是時間服務(wù)器的域名,這里不需要連接互聯(lián)網(wǎng),所以將他們注釋掉。

    修改

    server 127.127.1.0

    fudge 127.127.1.0 stratum 10

    3、 修改配置文件ntpd

    [hadoop@bigdata-senior03 ~]$ sudo vim /etc/sysconfig/ntpd
    • 1

    添加一行配置:SYNC_CLOCK=yes

    4、 啟動ntp服務(wù)

    [hadoop@bigdata-senior03 ~]$ sudo chkconfig ntpd on
    • 1

    這樣每次機器啟動時,ntp服務(wù)都會自動啟動。

    三十四、配置其他機器的同步

    切換到root用戶進(jìn)行配置通過contab進(jìn)行定時同步:

    [root@bigdata-senior02 hadoop]# crontab -e */10 * * * * /usr/sbin/ntpdate bigdata-senior03.chybinmy.com [root@bigdata-senior02 hadoop]# crontab -e */10 * * * * /usr/sbin/ntpdate bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3
    • 4

    三十五、 測試同步是否有效

    1、 查看目前三臺機器的時間

    [hadoop@bigdata-senior03 ~]$ date "+%Y-%m-%d %H:%M:%S" 2016-09-23 16:43:56 [hadoop@bigdata-senior02 ~]$ date "+%Y-%m-%d %H:%M:%S" 2016-09-23 16:44:08 [hadoop@bigdata-senior01 data]$ date "+%Y-%m-%d %H:%M:%S" 2016-09-23 16:44:18
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、 修改bigdata-senior01上的時間

    將時間改為一個以前的時間:

    [hadoop@bigdata-senior01 data]$ sudo date -s '2016-01-01 00:00:00' Fri Jan 1 00:00:00 CST 2016 [hadoop@bigdata-senior01 data]$ date "+%Y-%m-%d %H:%M:%S" 2016-01-01 00:00:05
    • 1
    • 2
    • 3
    • 4

    等10分鐘,看是否可以實現(xiàn)自動同步,將bigdata-senior01上的時間修改為和bigdata-senior03上的一致。

    3、 查看是否自動同步時間

    [hadoop@bigdata-senior01 data]$ date "+%Y-%m-%d %H:%M:%S" 2016-09-23 16:54:36
    • 1
    • 2

    可以看到bigdata-senior01上的時間已經(jīng)實現(xiàn)自動同步了。

    第十步、Zookeeper分布式機器部署

    三十六、zookeeper說明

    Zookeeper在Hadoop集群中的作用。

    Zookeeper是分布式管理協(xié)作框架,Zookeeper集群用來保證Hadoop集群的高可用,(高可用的含義是:集群中就算有一部分服務(wù)器宕機,也能保證正常地對外提供服務(wù)。)

    Zookeeper保證高可用的原理。

    Zookeeper集群能夠保證NamaNode服務(wù)高可用的原理是:Hadoop集群中有兩個NameNode服務(wù),兩個NaameNode都定時地給Zookeeper發(fā)送心跳,告訴Zookeeper我還活著,可以提供服務(wù),單某一個時間只有一個是Action狀態(tài),另外一個是Standby狀態(tài),一旦Zookeeper檢測不到Action NameNode發(fā)送來的心跳后,就切換到Standby狀態(tài)的NameNode上,將它設(shè)置為Action狀態(tài),所以集群中總有一個可用的NameNode,達(dá)到了NameNode的高可用目的。

    Zookeeper的選舉機制。

    Zookeeper集群也能保證自身的高可用,保證自身高可用的原理是,Zookeeper集群中的各個機器分為Leader和Follower兩個角色,寫入數(shù)據(jù)時,要先寫入Leader,Leader同意寫入后,再通知Follower寫入。客戶端讀取數(shù)時,因為數(shù)據(jù)都是一樣的,可以從任意一臺機器上讀取數(shù)據(jù)。

    這里L(fēng)eader角色就存在單點故障的隱患,高可用就是解決單點故障隱患的。Zookeeper從機制上解決了Leader的單點故障問題,Leader是哪一臺機器是不固定的,Leader是選舉出來的。選舉流程是,集群中任何一臺機器發(fā)現(xiàn)集群中沒有Leader時,就推薦自己為Leader,其他機器來同意,當(dāng)超過一半數(shù)的機器同意它為Leader時,選舉結(jié)束,所以Zookeeper集群中的機器數(shù)據(jù)必須是奇數(shù)。這樣就算當(dāng)Leader機器宕機后,會很快選舉出新的Leader,保證了Zookeeper集群本身的高可用。

    寫入高可用。

    集群中的寫入操作都是先通知Leader,Leader再通知Follower寫入,實際上當(dāng)超過一半的機器寫入成功后,就認(rèn)為寫入成功了,所以就算有些機器宕機,寫入也是成功的。

    讀取高可用。

    zookeeperk客戶端讀取數(shù)據(jù)時,可以讀取集群中的任何一個機器。所以部分機器的宕機并不影響讀取。

    zookeeper服務(wù)器必須是奇數(shù)臺,因為zookeeper有選舉制度,角色有:領(lǐng)導(dǎo)者、跟隨者、觀察者,選舉的目的是保證集群中數(shù)據(jù)的一致性。

    三十七、安裝zookeeper

    我們這里在BigData01、BigData02、BigData03三臺機器上安裝zookeeper集群。

    1、 解壓安裝包

    在BigData01上安裝解壓zookeeper安裝包。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ tar -zxf /opt/sofeware/zookeeper-3.4.8.tar.gz -C /opt/modules/
    • 1

    2、 修改配置

    拷貝conf下的zoo_sample.cfg副本,改名為zoo.cfg。zoo.cfg是zookeeper的配置文件:

    [hadoop@bigdata-senior01 zookeeper-3.4.8]$ cp conf/zoo_sample.cfg conf/zoo.cfg
    • 1

    dataDir屬性設(shè)置zookeeper的數(shù)據(jù)文件存放的目錄:

    dataDir=/opt/modules/zookeeper-3.4.8/data/zData

    指定zookeeper集群中各個機器的信息:

    server.1=bigdata-senior01.chybinmy.com:2888:3888 server.2=bigdata-senior02.chybinmy.com:2888:3888 server.3=bigdata-senior03.chybinmy.com:2888:3888
    • 1
    • 2
    • 3

    server后面的數(shù)字范圍是1到255,所以一個zookeeper集群最多可以有255個機器。

    3、 創(chuàng)建myid文件

    在dataDir所指定的目錄下創(chuàng)一個名為myid的文件,文件內(nèi)容為server點后面的數(shù)字。

    4、 分發(fā)到其他機器

    [hadoop@bigdata-senior01 zookeeper-3.4.8]$ scp -r /opt/modules/zookeeper-3.4.8 bigdata-senior02.chybinmy.com:/opt/modules [hadoop@bigdata-senior01 zookeeper-3.4.8]$ scp -r /opt/modules/zookeeper-3.4.8 bigdata-senior03.chybinmy.com:/opt/modules
    • 1
    • 2

    5、 修改其他機器上的myid文件

    [hadoop@bigdata-senior02 zookeeper-3.4.8]$ echo 2 > /opt/modules/zookeeper-3.4.8/data/zData/myid [hadoop@bigdata-senior02 zookeeper-3.4.8]$ cat /opt/modules/zookeeper-3.4.8/data/zData/myid 2
    • 1
    • 2
    • 3
    [hadoop@bigdata-senior03 ~]$ echo 3 > /opt/modules/zookeeper-3.4.8/data/zData/myid [hadoop@bigdata-senior03 ~]$ cat /opt/modules/zookeeper-3.4.8/data/zData/myid 3
    • 1
    • 2
    • 3

    6、 啟動zookeeper

    需要在各個機器上分別啟動zookeeper。

    [hadoop@bigdata-senior01 zookeeper-3.4.8]$ bin/zkServer.sh start [hadoop@bigdata-senior02 zookeeper-3.4.8]$ bin/zkServer.sh start [hadoop@bigdata-senior03 zookeeper-3.4.8]$ bin/zkServer.sh start
    • 1
    • 2
    • 3

    三十八、zookeeper命令

    進(jìn)入zookeeper Shell

    在zookeeper根目錄下執(zhí)行 bin/zkCli.sh進(jìn)入zk shell模式。

    zookeeper很像一個小型的文件系統(tǒng),/是根目錄,下面的所有節(jié)點都叫zNode。

    進(jìn)入zk shell 后輸入任意字符,可以列出所有的zookeeper命令

    查詢zNode上的數(shù)據(jù):get /zookeeper

    創(chuàng)建一個zNode : create /znode1 “demodata “

    列出所有子zNode:ls /

    刪除znode : rmr /znode1

    退出shell模式:quit

    第十一步、Hadoop 2.x HDFS HA 部署

    三十九、HDFS HA原理

    單NameNode的缺陷存在單點故障的問題,如果NameNode不可用,則會導(dǎo)致整個HDFS文件系統(tǒng)不可用。所以需要設(shè)計高可用的HDFS(Hadoop HA)來解決NameNode單點故障的問題。解決的方法是在HDFS集群中設(shè)置多個NameNode節(jié)點。但是一旦引入多個NameNode,就有一些問題需要解決。

    • HDFS HA需要保證的四個問題:

      • 保證NameNode內(nèi)存中元數(shù)據(jù)數(shù)據(jù)一致,并保證編輯日志文件的安全性。

      • 多個NameNode如何協(xié)作

      • 客戶端如何能正確地訪問到可用的那個NameNode。

      • 怎么保證任意時刻只能有一個NameNode處于對外服務(wù)狀態(tài)。

    • 解決方法

      • 對于保證NameNode元數(shù)據(jù)的一致性和編輯日志的安全性,采用Zookeeper來存儲編輯日志文件。

      • 兩個NameNode一個是Active狀態(tài)的,一個是Standby狀態(tài)的,一個時間點只能有一個Active狀態(tài)的?
        NameNode提供服務(wù),兩個NameNode上存儲的元數(shù)據(jù)是實時同步的,當(dāng)Active的NameNode出現(xiàn)問題時,通過Zookeeper實時切換到Standby的NameNode上,并將Standby改為Active狀態(tài)。

      • 客戶端通過連接一個Zookeeper的代理來確定當(dāng)時哪個NameNode處于服務(wù)狀態(tài)。

    四十、HDFS HA架構(gòu)圖

    • HDFS HA架構(gòu)中有兩臺NameNode節(jié)點,一臺是處于活動狀態(tài)(Active)為客戶端提供服務(wù),另外一臺處于熱備份狀態(tài)(Standby)。

    • 元數(shù)據(jù)文件有兩個文件:fsimage和edits,備份元數(shù)據(jù)就是備份這兩個文件。JournalNode用來實時從Active NameNode上拷貝edits文件,JournalNode有三臺也是為了實現(xiàn)高可用。

    • Standby NameNode不對外提供元數(shù)據(jù)的訪問,它從Active NameNode上拷貝fsimage文件,從JournalNode上拷貝edits文件,然后負(fù)責(zé)合并fsimage和edits文件,相當(dāng)于SecondaryNameNode的作用。最終目的是保證Standby NameNode上的元數(shù)據(jù)信息和Active NameNode上的元數(shù)據(jù)信息一致,以實現(xiàn)熱備份。

    • Zookeeper來保證在Active NameNode失效時及時將Standby NameNode修改為Active狀態(tài)。

    • ZKFC(失效檢測控制)是Hadoop里的一個Zookeeper客戶端,在每一個NameNode節(jié)點上都啟動一個ZKFC進(jìn)程,來監(jiān)控NameNode的狀態(tài),并把NameNode的狀態(tài)信息匯報給Zookeeper集群,其實就是在Zookeeper上創(chuàng)建了一個Znode節(jié)點,節(jié)點里保存了NameNode狀態(tài)信息。當(dāng)NameNode失效后,ZKFC檢測到報告給Zookeeper,Zookeeper把對應(yīng)的Znode刪除掉,Standby ZKFC發(fā)現(xiàn)沒有Active狀態(tài)的NameNode時,就會用shell命令將自己監(jiān)控的NameNode改為Active狀態(tài),并修改Znode上的數(shù)據(jù)。?
      Znode是個臨時的節(jié)點,臨時節(jié)點特征是客戶端的連接斷了后就會把znode刪除,所以當(dāng)ZKFC失效時,也會導(dǎo)致切換NameNode。

    • DataNode會將心跳信息和Block匯報信息同時發(fā)給兩臺NameNode,DataNode只接受Active NameNode發(fā)來的文件讀寫操作指令。

    四十一、搭建HDFS HA 環(huán)境

    1、 服務(wù)器角色規(guī)劃

    bigdata-senior01.chybinmy.combigdata-senior01.chybinmy.combigdata-senior01.chybinmy.com
    NameNodeNameNode?
    ZookeeperZookeeperZookeeper
    DataNodeDataNodeDataNode
    ?ResourceManageResourceManage
    NodeManagerNodeManagerNodeManager

    2、 創(chuàng)建HDFS HA 版本Hadoop程序目錄

    在bigdata01、bigdata02、bigdata03三臺機器上分別創(chuàng)建目錄/opt/modules/hadoopha/用來存放Hadoop HA環(huán)境。

    [hadoop@bigdata-senior01 modules]$ mkdir /opt/modules/hadoopha
    • 1

    3、 新解壓Hadoop 2.5.0

    [hadoop@bigdata-senior01 ~]$ tar -zxf /opt/sofeware/hadoop-2.5.0.tar.gz -C /opt/modules/hadoopha/
    • 1

    4、 配置Hadoop JDK路徑

    修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路徑 export JAVA_HOME="/opt/modules/jdk1.7.0_67"
    • 1
    • 2

    5、 配置hdfs-site.xml

    <?xml version="1.0" encoding="UTF-8"?> <configuration><property><!-- 為namenode集群定義一個services name --><name>dfs.nameservices</name><value>ns1</value></property><property><!-- nameservice 包含哪些namenode,為各個namenode起名 --><name>dfs.ha.namenodes.ns1</name><value>nn1,nn2</value></property><property><!-- 名為nn1的namenode 的rpc地址和端口號,rpc用來和datanode通訊 --><name>dfs.namenode.rpc-address.ns1.nn1</name><value>bigdata-senior01.chybinmy.com:8020</value></property><property><!-- 名為nn2的namenode 的rpc地址和端口號,rpc用來和datanode通訊 --><name>dfs.namenode.rpc-address.ns1.nn2</name><value>bigdata-senior02.chybinmy.com:8020</value></property><property><!--名為nn1的namenode 的http地址和端口號,web客戶端 --><name>dfs.namenode.http-address.ns1.nn1</name><value>bigdata-senior01.chybinmy.com:50070</value></property><property><!--名為nn2的namenode 的http地址和端口號,web客戶端 --><name>dfs.namenode.http-address.ns1.nn2</name><value>bigdata-senior02.chybinmy.com:50070</value></property><property><!-- namenode間用于共享編輯日志的journal節(jié)點列表 --><name>dfs.namenode.shared.edits.dir</name><value>qjournal://bigdata-senior01.chybinmy.com:8485;bigdata-senior02.chybinmy.com:8485;bigdata-senior03.chybinmy.com:8485/ns1</value></property><property><!-- journalnode 上用于存放edits日志的目錄 --><name>dfs.journalnode.edits.dir</name><value>/opt/modules/hadoopha/hadoop-2.5.0/tmp/data/dfs/jn</value></property><property><!-- 客戶端連接可用狀態(tài)的NameNode所用的代理類 --><name>dfs.client.failover.proxy.provider.ns1</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><property><!-- --><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/home/hadoop/.ssh/id_rsa</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    6、 配置core-site.xml

    <?xml version="1.0" encoding="UTF-8"?> <configuration><property><!-- hdfs 地址,ha中是連接到nameservice --><name>fs.defaultFS</name><value>hdfs://ns1</value></property><property><!-- --><name>hadoop.tmp.dir</name><value>/opt/modules/hadoopha/hadoop-2.5.0/data/tmp</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    hadoop.tmp.dir設(shè)置hadoop臨時目錄地址,默認(rèn)時,NameNode和DataNode的數(shù)據(jù)存在這個路徑下。

    7、 配置slaves文件

    bigdata-senior01.chybinmy.com bigdata-senior02.chybinmy.com bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3

    8、 分發(fā)到其他節(jié)點

    分發(fā)之前先將share/doc目錄刪除,這個目錄中是幫助文件,并且很大,可以刪除。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/hadoopha bigdata-senior02.chybinmy.com:/opt/modules [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/hadoopha bigdata-senior03.chybinmy.com:/opt/modules
    • 1
    • 2

    9、 啟動HDFS HA集群

    三臺機器分別啟動Journalnode。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start journalnode [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start journalnode [hadoop@bigdata-senior03 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start journalnode
    • 1
    • 2
    • 3

    jps命令查看是否啟動。

    10、 啟動Zookeeper

    在三臺節(jié)點上啟動Zookeeper:

    [hadoop@bigdata-senior01 zookeeper-3.4.8]$ bin/zkServer.sh start [hadoop@bigdata-senior02 zookeeper-3.4.8]$ bin/zkServer.sh start [hadoop@bigdata-senior03 zookeeper-3.4.8]$ bin/zkServer.sh start
    • 1
    • 2
    • 3

    11、 格式化NameNode

    在第一臺上進(jìn)行NameNode格式化:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs namenode -format
    • 1

    在第二臺NameNode上:

    [hadoop@bigdata-senior02 hadoop-2.5.0]$ bin/hdfs namenode -bootstrapStandby
    • 1

    12、 啟動NameNode

    在第一臺、第二臺上啟動NameNode:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode
    • 1
    • 2

    查看HDFS Web頁面,此時兩個NameNode都是standby狀態(tài)。

    切換第一臺為active狀態(tài):

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs haadmin -transitionToActive nn1
    • 1

    可以添加上forcemanual參數(shù),強制將一個NameNode轉(zhuǎn)換為Active狀態(tài)。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs haadmin –transitionToActive -forcemanual nn1
    • 1

    此時從web 頁面就看到第一臺已經(jīng)是active狀態(tài)了。

    13、 配置故障自動轉(zhuǎn)移

    利用zookeeper集群實現(xiàn)故障自動轉(zhuǎn)移,在配置故障自動轉(zhuǎn)移之前,要先關(guān)閉集群,不能在HDFS運行期間進(jìn)行配置。

    關(guān)閉NameNode、DataNode、JournalNode、zookeeper

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop namenode [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop datanode [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop journalnode [hadoop@bigdata-senior01 hadoop-2.5.0]$ cd ../../zookeeper-3.4.8/ [hadoop@bigdata-senior01 zookeeper-3.4.8]$ bin/zkServer.sh stop [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop namenode [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop datanode [hadoop@bigdata- senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop journalnode [hadoop@bigdata- senior02 hadoop-2.5.0]$ cd ../../zookeeper-3.4.8/ [hadoop@bigdata- senior02 zookeeper-3.4.8]$ bin/zkServer.sh stop [hadoop@bigdata- senior03 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop datanode [hadoop@bigdata- senior03 hadoop-2.5.0]$ sbin/hadoop-daemon.sh stop journalnode [hadoop@bigdata- senior03 hadoop-2.5.0]$ cd ../../zookeeper-3.4.8/ [hadoop@bigdata- senior03 zookeeper-3.4.8]$ bin/zkServer.sh stop
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    修改hdfs-site.xml

    <property><name>dfs.ha.automatic-failover.enabled</name><value>true</value> </property>
    • 1
    • 2
    • 3
    • 4

    修改core-site.xml

    <property><name>ha.zookeeper.quorum</name><value>bigdata-senior01.chybinmy.com:2181,bigdata-senior02.chybinmy.com:2181,bigdata-senior03.chybinmy.com:2181</value> </property>
    • 1
    • 2
    • 3
    • 4

    將hdfs-site.xml和core-site.xml分發(fā)到其他機器

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/hdfs-site.xml bigdata-senior02.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/ [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/hdfs-site.xml bigdata-senior03.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/ [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/core-site.xml bigdata-senior02.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/ [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/core-site.xml bigdata-senior03.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/
    • 1
    • 2
    • 3
    • 4

    啟動zookeeper

    三臺機器啟動zookeeper

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ /opt/modules/zookeeper-3.4.8/bin/zkServer.sh start
    • 1

    創(chuàng)建一個zNode

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ cd /opt/modules/hadoopha/hadoop-2.5.0/ [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs zkfc -formatZK
    • 1
    • 2

    在Zookeeper上創(chuàng)建一個存儲namenode相關(guān)的節(jié)點。

    14、 啟動HDFS、JournalNode、zkfc

    啟動NameNode、DataNode、JournalNode、zkfc

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/start-dfs.sh
    • 1

    zkfc只針對NameNode監(jiān)聽。

    四十二、測試HDFS HA

    1、 測試故障自動轉(zhuǎn)移和數(shù)據(jù)是否共享

    在nn1上上傳文件

    目前bigdata-senior01節(jié)點上的NameNode是Active狀態(tài)的。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -put /opt/data/wc.input /
    • 1

    將nn1上的NodeNode進(jìn)程殺掉

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ kill -9 3364
    • 1

    nn1上的namenode已經(jīng)無法訪問了。

    查看nn2是否是Active狀態(tài)

    在nn2上查看是否看見文件

    經(jīng)以上驗證,已經(jīng)實現(xiàn)了nn1和nn2之間的文件同步和故障自動轉(zhuǎn)移。

    第十二步、Hadoop 2.x YARN HA 部署

    四十三、YARN HA原理

    Hadoop2.4版本之前,ResourceManager也存在單點故障的問題,也需要實現(xiàn)HA來保證ResourceManger的高可也用性。

    ResouceManager從記錄著當(dāng)前集群的資源分配情況和JOB的運行狀態(tài),YRAN HA 利用Zookeeper等共享存儲介質(zhì)來存儲這些信息來達(dá)到高可用。另外利用Zookeeper來實現(xiàn)ResourceManager自動故障轉(zhuǎn)移。

    • MasterHADaemon:控制RM的 Master的啟動和停止,和RM運行在一個進(jìn)程中,可以接收外部RPC命令。

    • 共享存儲:Active Master將信息寫入共享存儲,Standby Master讀取共享存儲信息以保持和Active Master同步。

    • ZKFailoverController:基于Zookeeper實現(xiàn)的切換控制器,由ActiveStandbyElector和HealthMonitor組成,ActiveStandbyElector負(fù)責(zé)與Zookeeper交互,判斷所管理的Master是進(jìn)入Active還是Standby;HealthMonitor負(fù)責(zé)監(jiān)控Master的活動健康情況,是個監(jiān)視器。

    • Zookeeper:核心功能是維護(hù)一把全局鎖控制整個集群上只有一個Active的ResourceManager。

    四十四、搭建YARN HA環(huán)境

    1、 服務(wù)器角色規(guī)劃

    bigdata-senior01.chybinmy.combigdata-senior01.chybinmy.combigdata-senior01.chybinmy.com
    NameNodeNameNode?
    ZookeeperZookeeperZookeeper
    DataNodeDataNodeDataNode
    ?ResourceManageResourceManage
    NodeManagerNodeManagerNodeManager

    2、 修改配置文件yarn-site.xml

    <?xml version="1.0" encoding="UTF-8"?> <configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.log-aggregation.retain-seconds</name><value>106800</value></property><property><!-- 啟用resourcemanager的ha功能 --><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><property><!-- 為resourcemanage ha 集群起個id --><name>yarn.resourcemanager.cluster-id</name><value>yarn-cluster</value></property><property><!-- 指定resourcemanger ha 有哪些節(jié)點名 --><name>yarn.resourcemanager.ha.rm-ids</name><value>rm12,rm13</value></property><property><!-- 指定第一個節(jié)點的所在機器 --><name>yarn.resourcemanager.hostname.rm12</name><value>bigdata-senior02.chybinmy.com</value></property><property><!-- 指定第二個節(jié)點所在機器 --><name>yarn.resourcemanager.hostname.rm13</name><value>bigdata-senior03.chybinmy.com</value></property><property><!-- 指定resourcemanger ha 所用的zookeeper 節(jié)點 --><name>yarn.resourcemanager.zk-address</name><value>bigdata-senior01.chybinmy.com:2181,bigdata-senior02.chybinmy.com:2181,bigdata-senior03.chybinmy.com:2181</value></property><property><!-- --><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><property><!-- --><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    3、 分發(fā)到其他機器

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/yarn-site.xml bigdata-senior02.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/ [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp /opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/yarn-site.xml bigdata-senior03.chybinmy.com:/opt/modules/hadoopha/hadoop-2.5.0/etc/hadoop/\
    • 1
    • 2

    4、 啟動

    在bigdata-senior01上啟動yarn:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/start-yarn.sh
    • 1

    在bigdata-senior02、bigdata-senior03上啟動resourcemanager:

    [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/yarn-daemon.sh start resourcemanager [hadoop@bigdata-senior03 hadoop-2.5.0]$ sbin/yarn-daemon.sh start resourcemanager
    • 1
    • 2

    啟動后各個節(jié)點的進(jìn)程。

    Web客戶端訪問bigdata02機器上的resourcemanager正常,它是active狀態(tài)的。

    http://bigdata-senior02.chybinmy.com:8088/cluster

    訪問另外一個resourcemanager,因為他是standby,會自動跳轉(zhuǎn)到active的resourcemanager。

    http://bigdata-senior03.chybinmy.com:8088/cluster

    四十五、測試YARN HA

    5、 運行一個mapreduce job

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /wc.input /input
    • 1

    6、 在job運行過程中,將Active狀態(tài)的resourcemanager進(jìn)程殺掉。

    [hadoop@bigdata-senior02 hadoop-2.5.0]$ kill -9 4475
    • 1

    7、 觀察另外一個resourcemanager是否可以自動接替。

    bigdata02的resourcemanage Web客戶端已經(jīng)不能訪問,bigdata03的resourcemanage已經(jīng)自動變?yōu)閍ctive狀態(tài)。

    8、 觀察job是否可以順利完成。

    而mapreduce job 也能順利完成,沒有因為resourcemanager的意外故障而影響運行。

    經(jīng)過以上測試,已經(jīng)驗證YARN HA 已經(jīng)搭建成功。

    第十三步、HDFS Federation 架構(gòu)部署

    四十六、HDFS Federation 的使用原因

    1、 單個NameNode節(jié)點的局限性

    命名空間的限制。

    NameNode上存儲著整個HDFS上的文件的元數(shù)據(jù),NameNode是部署在一臺機器上的,因為單個機器硬件的限制,必然會限制NameNode所能管理的文件個數(shù),制約了數(shù)據(jù)量的增長。

    數(shù)據(jù)隔離問題。

    整個HDFS上的文件都由一個NameNode管理,所以一個程序很有可能會影響到整個HDFS上的程序,并且權(quán)限控制比較復(fù)雜。

    性能瓶頸。

    單個NameNode時HDFS文件系統(tǒng)的吞吐量受限于單個NameNode的吞吐量。因為NameNode是個JVM進(jìn)程,JVM進(jìn)程所占用的內(nèi)存很大時,性能會下降很多。

    2、 HDFS Federation介紹

    HDFS Federation是可以在Hadoop集群中設(shè)置多個NameNode,不同于HA中多個NameNode是完全一樣的,是多個備份,Federation中的多個NameNode是不同的,可以理解為將一個NameNode切分為了多個NameNode,每一個NameNode只負(fù)責(zé)管理一部分?jǐn)?shù)據(jù)。?
    HDFS Federation中的多個NameNode共用DataNode。

    四十七、HDFS Federation的架構(gòu)圖

    四十八、HDFS Federation搭建

    1、 服務(wù)器角色規(guī)劃

    bigdata-senior01.chybinmy.combigdata-senior01.chybinmy.combigdata-senior01.chybinmy.com
    NameNode1NameNode2NameNode3
    ?ResourceManage?
    DataNodeDataNodeDataNode
    NodeManagerNodeManagerNodeManager

    2、 創(chuàng)建HDFS Federation 版本Hadoop程序目錄

    在bigdata01上創(chuàng)建目錄/opt/modules/hadoopfederation /用來存放Hadoop Federation環(huán)境。

    [hadoop@bigdata-senior01 modules]$ mkdir /opt/modules/hadoopfederation
    • 1

    3、 新解壓Hadoop 2.5.0

    [hadoop@bigdata-senior01 ~]$ tar -zxf /opt/sofeware/hadoop-2.5.0.tar.gz -C /opt/modules/hadoopfederation/
    • 1

    4、 配置Hadoop JDK路徑

    修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路徑。

    export JAVA_HOME=”/opt/modules/jdk1.7.0_67”

    5、 配置hdfs-site.xml

    <configuration> <property> <!—配置三臺NameNode --><name>dfs.nameservices</name><value>ns1,ns2,ns3</value></property><property> <!—第一臺NameNode的機器名和rpc端口,指定了NameNode和DataNode通訊用的端口號 --><name>dfs.namenode.rpc-address.ns1</name><value>bigdata-senior01.chybinmy.com:8020</value></property><property> <!—第一臺NameNode的機器名和rpc端口,備用端口號 --><name>dfs.namenode.serviceerpc-address.ns1</name><value>bigdata-senior01.chybinmy.com:8022</value></property><property> <!—第一臺NameNode的http頁面地址和端口號 --><name>dfs.namenode.http-address.ns1</name><value>bigdata-senior01.chybinmy.com:50070</value></property> <property> <!—第一臺NameNode的https頁面地址和端口號 --><name>dfs.namenode.https-address.ns1</name><value>bigdata-senior01.chybinmy.com:50470</value></property><property><name>dfs.namenode.rpc-address.ns2</name><value>bigdata-senior02.chybinmy.com:8020</value></property><property><name>dfs.namenode.serviceerpc-address.ns2</name><value>bigdata-senior02.chybinmy.com:8022</value></property><property><name>dfs.namenode.http-address.ns2</name><value>bigdata-senior02.chybinmy.com:50070</value></property><property><name>dfs.namenode.https-address.ns2</name><value>bigdata-senior02.chybinmy.com:50470</value></property><property><name>dfs.namenode.rpc-address.ns3</name><value>bigdata-senior03.chybinmy.com:8020</value></property><property><name>dfs.namenode.serviceerpc-address.ns3</name><value>bigdata-senior03.chybinmy.com:8022</value></property><property><name>dfs.namenode.http-address.ns3</name><value>bigdata-senior03.chybinmy.com:50070</value></property><property><name>dfs.namenode.https-address.ns3</name><value>bigdata-senior03.chybinmy.com:50470</value></property></configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63

    6、 配置core-site.xml

    <configuration> <property><name>hadoop.tmp.dir</name><value>/opt/modules/hadoopha/hadoop-2.5.0/data/tmp</value> </property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    hadoop.tmp.dir設(shè)置hadoop臨時目錄地址,默認(rèn)時,NameNode和DataNode的數(shù)據(jù)存在這個路徑下。

    7、 配置slaves文件

    bigdata-senior01.chybinmy.com bigdata-senior02.chybinmy.com bigdata-senior03.chybinmy.com
    • 1
    • 2
    • 3

    8、 配置yarn-site.xml

    <configuration> <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property> <property><name>yarn.resourcemanager.hostname</name><value>bigdata-senior02.chybinmy.com</value></property> <property><name>yarn.log-aggregation-enable</name><value>true</value></property> <property><name>yarn.log-aggregation.retain-seconds</name><value>106800</value></property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    9、 分發(fā)到其他節(jié)點

    分發(fā)之前先將share/doc目錄刪除,這個目錄中是幫助文件,并且很大,可以刪除。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/ /opt/modules/hadoopfederation bigdata-senior02.chybinmy.com:/opt/modules [hadoop@bigdata-senior01 hadoop-2.5.0]$ scp -r /opt/modules/hadoopfederation bigdata-senior03.chybinmy.com:/opt/modules
    • 1
    • 2

    10、 格式化NameNode

    在第一臺上進(jìn)行NameNode格式化。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs namenode -format -clusterId hadoop-federation-clusterId
    • 1

    這里一定要指定一個集群ID,使得多個NameNode的集群ID是一樣的,因為這三個NameNode在同一個集群中,這里集群ID為hadoop-federation-clusterId。

    在第二臺NameNode上。

    [hadoop@bigdata-senior02 hadoop-2.5.0]$ bin/hdfs namenode -format -clusterId hadoop-federation-clusterId
    • 1

    在第二臺NameNode上。

    [hadoop@bigdata-senior03 hadoop-2.5.0]$ bin/hdfs namenode -format -clusterId hadoop-federation-clusterId
    • 1

    11、 啟動NameNode

    在第一臺、第二臺、第三臺機器上啟動NameNode:

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode [hadoop@bigdata-senior03 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode
    • 1
    • 2
    • 3

    啟動后,用jps命令查看是否已經(jīng)啟動成功。

    查看HDFS Web頁面,此時三個NameNode都是standby狀態(tài)。

    12、 啟動DataNode

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode [hadoop@bigdata-senior02 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode [hadoop@bigdata-senior03 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode
    • 1
    • 2
    • 3

    啟動后,用jps命令確認(rèn)DataNode進(jìn)程已經(jīng)啟動成功。

    四十九、測試HDFS Federation

    1、 修改core-site.xml

    在bigdata-senior01機器上,修改core-site.xml文件,指定連接的NameNode是第一臺NameNode。

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ vim etc/hadoop/core-site.xml

    <configuration><property><name>fs.defaultFS</name><value>hdfs://bigdata-senior01.chybinmy.com:8020</value></property> <property><name>hadoop.tmp.dir</name><value>/opt/modules/hadoopfederation/hadoop-2.5.0/data/tmp</value> </property> </configuration>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2、 在bigdate-senior01上傳一個文件到HDFS

    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -mkdir /tmp [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/hdfs dfs -put ~/shuffle_daily.sh /tmp/shuffle_daily.sh
    • 1
    • 2

    3、 查看HDFS文件

    可以看到,剛才的文件只上傳到了bigdate-senior01機器上的NameNode上了,并沒有上傳到其他的NameNode上去。

    這樣,在HDFS的客戶端,可以指定要上傳到哪個NameNode上,從而來達(dá)到了劃分NameNode的目的。

    后記

    這篇文章的操作步驟并不是工作中標(biāo)準(zhǔn)的操作流程,如果在成百上千的機器全部這樣安裝會被累死,希望讀者可以通過文章中一步步地安裝,從而初步了解到Hadoop的組成部分,協(xié)助過程等,這對于Hadoop的深入使用有很大的幫助。

    總結(jié)

    以上是生活随笔為你收集整理的史上最详细的Hadoop环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    97夜夜澡人人爽人人喊中国片 | 国产一区二区三区日韩精品 | 国产绳艺sm调教室论坛 | 成人无码视频在线观看网站 | 国产疯狂伦交大片 | 久久久国产精品无码免费专区 | 美女扒开屁股让男人桶 | 日韩av无码中文无码电影 | 亚洲国产精品成人久久蜜臀 | 国产精品爱久久久久久久 | 亚洲国产精品美女久久久久 | 国内揄拍国内精品少妇国语 | 精品久久久无码中文字幕 | 国产特级毛片aaaaaa高潮流水 | 好屌草这里只有精品 | 人人澡人摸人人添 | 无码国模国产在线观看 | 国产免费无码一区二区视频 | 精品日本一区二区三区在线观看 | 又色又爽又黄的美女裸体网站 | 久久精品人人做人人综合 | 精品熟女少妇av免费观看 | 久久综合九色综合97网 | 久久99国产综合精品 | 久久亚洲a片com人成 | 亚洲の无码国产の无码影院 | 永久免费观看国产裸体美女 | 人人妻人人澡人人爽人人精品浪潮 | 中文字幕中文有码在线 | 欧洲精品码一区二区三区免费看 | 性欧美牲交xxxxx视频 | 国产精品多人p群无码 | 国产香蕉尹人综合在线观看 | 综合人妻久久一区二区精品 | 国产无套粉嫩白浆在线 | 亚洲中文字幕乱码av波多ji | 丰满少妇熟乱xxxxx视频 | 狠狠亚洲超碰狼人久久 | 亚洲爆乳大丰满无码专区 | 国产猛烈高潮尖叫视频免费 | 免费看少妇作爱视频 | 欧美xxxxx精品 | 国产成人综合美国十次 | 无套内射视频囯产 | 成熟女人特级毛片www免费 | 亚洲第一无码av无码专区 | 图片区 小说区 区 亚洲五月 | 欧美性猛交内射兽交老熟妇 | 国产精品久久久久7777 | 大色综合色综合网站 | 任你躁国产自任一区二区三区 | 亚洲人成无码网www | 亚洲国产精品无码一区二区三区 | 亚洲一区二区观看播放 | 国产色视频一区二区三区 | 亚洲a无码综合a国产av中文 | 亚洲精品中文字幕乱码 | 国产成人一区二区三区别 | 高潮毛片无遮挡高清免费视频 | 久久婷婷五月综合色国产香蕉 | a片在线免费观看 | 亚洲日韩一区二区 | 久久精品人妻少妇一区二区三区 | 无码一区二区三区在线观看 | 少妇被粗大的猛进出69影院 | 亚洲精品国产精品乱码视色 | 亚洲乱码中文字幕在线 | 曰本女人与公拘交酡免费视频 | 99精品国产综合久久久久五月天 | 狠狠综合久久久久综合网 | 给我免费的视频在线观看 | 兔费看少妇性l交大片免费 | 亚洲 另类 在线 欧美 制服 | 六十路熟妇乱子伦 | 欧美三级a做爰在线观看 | 中文字幕乱码亚洲无线三区 | 亚洲成a人片在线观看日本 | 亚洲欧美精品aaaaaa片 | 牛和人交xxxx欧美 | 国产在线一区二区三区四区五区 | 丰满人妻被黑人猛烈进入 | 日本xxxx色视频在线观看免费 | 国产亚洲精品久久久闺蜜 | 日韩人妻少妇一区二区三区 | 久在线观看福利视频 | 无码帝国www无码专区色综合 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲欧美日韩综合久久久 | 久久综合九色综合欧美狠狠 | av在线亚洲欧洲日产一区二区 | 蜜臀av无码人妻精品 | 思思久久99热只有频精品66 | 国产精品久久久久久久影院 | 99久久精品无码一区二区毛片 | 国产两女互慰高潮视频在线观看 | 欧美人妻一区二区三区 | 亚洲a无码综合a国产av中文 | 人妻少妇精品无码专区动漫 | 亚洲精品综合五月久久小说 | 色综合视频一区二区三区 | 中文字幕无码av激情不卡 | 欧美亚洲日韩国产人成在线播放 | 国产精品久久久久无码av色戒 | 成 人 免费观看网站 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 波多野42部无码喷潮在线 | 伊人色综合久久天天小片 | 东京热无码av男人的天堂 | 老熟妇仑乱视频一区二区 | ass日本丰满熟妇pics | 欧美自拍另类欧美综合图片区 | 激情爆乳一区二区三区 | 国产成人无码区免费内射一片色欲 | 欧美老人巨大xxxx做受 | 国产性生大片免费观看性 | 国产艳妇av在线观看果冻传媒 | 精品国产aⅴ无码一区二区 | 日韩欧美群交p片內射中文 | 国产精品无套呻吟在线 | 青青久在线视频免费观看 | 国产9 9在线 | 中文 | 久久99久久99精品中文字幕 | 中文精品久久久久人妻不卡 | 国产内射爽爽大片视频社区在线 | 午夜嘿嘿嘿影院 | 精品国产aⅴ无码一区二区 | 亚洲日韩av一区二区三区四区 | 国产精品丝袜黑色高跟鞋 | 综合网日日天干夜夜久久 | 国产va免费精品观看 | 好男人www社区 | 国产精品免费大片 | 日日摸日日碰夜夜爽av | 久久久无码中文字幕久... | 夜夜影院未满十八勿进 | 99久久精品日本一区二区免费 | 久久婷婷五月综合色国产香蕉 | 国产美女极度色诱视频www | av香港经典三级级 在线 | 国产麻豆精品精东影业av网站 | 人妻少妇被猛烈进入中文字幕 | 亚洲国产av美女网站 | 日日橹狠狠爱欧美视频 | 日本饥渴人妻欲求不满 | 亚洲精品鲁一鲁一区二区三区 | 亚洲va欧美va天堂v国产综合 | 粗大的内捧猛烈进出视频 | av小次郎收藏 | 性欧美videos高清精品 | 亚洲s码欧洲m码国产av | 色欲久久久天天天综合网精品 | 日本又色又爽又黄的a片18禁 | 成人试看120秒体验区 | 精品人人妻人人澡人人爽人人 | 久精品国产欧美亚洲色aⅴ大片 | 亚洲人成无码网www | 国精品人妻无码一区二区三区蜜柚 | 日日躁夜夜躁狠狠躁 | 色爱情人网站 | 国产两女互慰高潮视频在线观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 伊人久久婷婷五月综合97色 | 水蜜桃亚洲一二三四在线 | 久久久亚洲欧洲日产国码αv | 亚洲小说图区综合在线 | 午夜福利一区二区三区在线观看 | 精品久久久无码中文字幕 | 午夜精品久久久内射近拍高清 | 国产亚洲欧美日韩亚洲中文色 | 亚洲精品午夜国产va久久成人 | 青青青手机频在线观看 | 久久久久久av无码免费看大片 | 国产高潮视频在线观看 | 亚洲熟妇自偷自拍另类 | 99精品久久毛片a片 | 久久99精品国产.久久久久 | 亚洲欧美精品aaaaaa片 | 国产人妻大战黑人第1集 | 国产 精品 自在自线 | 色妞www精品免费视频 | 色一情一乱一伦 | 国产精品久久久av久久久 | 国精产品一品二品国精品69xx | 我要看www免费看插插视频 | 丰满少妇人妻久久久久久 | 国产无遮挡吃胸膜奶免费看 | 夜夜躁日日躁狠狠久久av | 欧美阿v高清资源不卡在线播放 | 中文字幕人妻无码一夲道 | 草草网站影院白丝内射 | 国产人妻人伦精品1国产丝袜 | 亚洲乱码日产精品bd | 国产精品va在线观看无码 | 丝袜美腿亚洲一区二区 | 亚洲 欧美 激情 小说 另类 | 亚洲欧洲日本无在线码 | 秋霞成人午夜鲁丝一区二区三区 | 中文字幕久久久久人妻 | 天堂а√在线中文在线 | 欧美成人高清在线播放 | 日本乱偷人妻中文字幕 | 国产成人无码a区在线观看视频app | 7777奇米四色成人眼影 | 久久99精品久久久久久动态图 | 人人妻人人澡人人爽欧美精品 | 亚洲精品国产第一综合99久久 | 日韩欧美中文字幕在线三区 | 男人扒开女人内裤强吻桶进去 | 国产亚洲精品久久久久久久 | 无码任你躁久久久久久久 | 美女毛片一区二区三区四区 | 精品久久久久久人妻无码中文字幕 | 国产国产精品人在线视 | 欧美老妇交乱视频在线观看 | 强开小婷嫩苞又嫩又紧视频 | 国产热a欧美热a在线视频 | 精品国精品国产自在久国产87 | 偷窥日本少妇撒尿chinese | 久久精品女人天堂av免费观看 | 精品aⅴ一区二区三区 | 牲欲强的熟妇农村老妇女视频 | 麻豆国产人妻欲求不满 | 麻豆国产丝袜白领秘书在线观看 | 无码人妻精品一区二区三区不卡 | 欧美 丝袜 自拍 制服 另类 | 国产乱人伦偷精品视频 | 美女扒开屁股让男人桶 | 亚洲人成无码网www | 亚洲精品成人福利网站 | 色婷婷香蕉在线一区二区 | 动漫av一区二区在线观看 | 骚片av蜜桃精品一区 | 国产国语老龄妇女a片 | 人妻无码αv中文字幕久久琪琪布 | 一二三四社区在线中文视频 | 一本久久a久久精品vr综合 | 老司机亚洲精品影院 | 熟女俱乐部五十路六十路av | 人人澡人摸人人添 | 亚洲精品中文字幕乱码 | 国产精品久久久久影院嫩草 | 少妇愉情理伦片bd | 久久久av男人的天堂 | 成人无码影片精品久久久 | 久久成人a毛片免费观看网站 | 国产成人精品视频ⅴa片软件竹菊 | 一本无码人妻在中文字幕免费 | 亚洲色大成网站www国产 | 国产av久久久久精东av | 亚洲 欧美 激情 小说 另类 | 久久天天躁狠狠躁夜夜免费观看 | 日本免费一区二区三区最新 | 麻豆国产人妻欲求不满 | 伊在人天堂亚洲香蕉精品区 | 人人爽人人澡人人高潮 | 少妇性荡欲午夜性开放视频剧场 | 久久久久久久久蜜桃 | 色综合久久久久综合一本到桃花网 | 国产三级久久久精品麻豆三级 | 精品少妇爆乳无码av无码专区 | 成 人 免费观看网站 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 丰满护士巨好爽好大乳 | ass日本丰满熟妇pics | 99国产欧美久久久精品 | 亚洲欧洲中文日韩av乱码 | 中文精品久久久久人妻不卡 | 激情爆乳一区二区三区 | 国产成人久久精品流白浆 | 九九久久精品国产免费看小说 | 色偷偷人人澡人人爽人人模 | 久热国产vs视频在线观看 | 丰满护士巨好爽好大乳 | 动漫av一区二区在线观看 | 六月丁香婷婷色狠狠久久 | 97久久国产亚洲精品超碰热 | 露脸叫床粗话东北少妇 | 日韩欧美成人免费观看 | 日韩成人一区二区三区在线观看 | 日本爽爽爽爽爽爽在线观看免 | 国产在线精品一区二区三区直播 | 色婷婷综合激情综在线播放 | 亚洲精品久久久久久久久久久 | 国产成人精品视频ⅴa片软件竹菊 | 国产人妻人伦精品1国产丝袜 | 色综合天天综合狠狠爱 | 性欧美大战久久久久久久 | 中文字幕 亚洲精品 第1页 | 性色欲网站人妻丰满中文久久不卡 | 久久久精品国产sm最大网站 | 狠狠噜狠狠狠狠丁香五月 | 国产卡一卡二卡三 | 亚洲精品无码国产 | 久久人妻内射无码一区三区 | 青青青爽视频在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 人人澡人摸人人添 | 久久aⅴ免费观看 | 国产一区二区三区四区五区加勒比 | 免费网站看v片在线18禁无码 | 强开小婷嫩苞又嫩又紧视频 | 免费人成在线观看网站 | 国产乱码精品一品二品 | 日韩视频 中文字幕 视频一区 | 丰满诱人的人妻3 | 一本大道伊人av久久综合 | 欧美性猛交内射兽交老熟妇 | 欧美zoozzooz性欧美 | 高潮喷水的毛片 | 初尝人妻少妇中文字幕 | 老熟女重囗味hdxx69 | 国产精品99爱免费视频 | 国产精品va在线观看无码 | 人人妻人人澡人人爽欧美精品 | 久久99久久99精品中文字幕 | 国产激情无码一区二区 | 亚洲成在人网站无码天堂 | 亚洲小说春色综合另类 | 狠狠色噜噜狠狠狠狠7777米奇 | 1000部啪啪未满十八勿入下载 | 国产特级毛片aaaaaa高潮流水 | 国产激情精品一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 国产亚洲人成在线播放 | 国产超级va在线观看视频 | 思思久久99热只有频精品66 | 亚洲乱码日产精品bd | 图片区 小说区 区 亚洲五月 | 久久综合九色综合欧美狠狠 | 3d动漫精品啪啪一区二区中 | 国产精品久久国产三级国 | 丰满人妻一区二区三区免费视频 | 国产成人无码一二三区视频 | 秋霞成人午夜鲁丝一区二区三区 | 欧美日韩综合一区二区三区 | 18无码粉嫩小泬无套在线观看 | 性色欲网站人妻丰满中文久久不卡 | 偷窥村妇洗澡毛毛多 | 国产女主播喷水视频在线观看 | 无码人妻出轨黑人中文字幕 | 成人av无码一区二区三区 | 国产特级毛片aaaaaa高潮流水 | 美女毛片一区二区三区四区 | 久久精品国产一区二区三区 | a片在线免费观看 | 荫蒂被男人添的好舒服爽免费视频 | 人人妻人人藻人人爽欧美一区 | 美女毛片一区二区三区四区 | 久久精品国产亚洲精品 | 东京无码熟妇人妻av在线网址 | 精品国产乱码久久久久乱码 | 在线天堂新版最新版在线8 | 国产超级va在线观看视频 | 老熟妇仑乱视频一区二区 | 俄罗斯老熟妇色xxxx | 欧美第一黄网免费网站 | 99久久久无码国产精品免费 | 国产麻豆精品精东影业av网站 | 一区二区三区乱码在线 | 欧洲 | 日本精品久久久久中文字幕 | 国内丰满熟女出轨videos | 亚洲国产一区二区三区在线观看 | 久久人人97超碰a片精品 | 久久国产精品偷任你爽任你 | 欧美亚洲日韩国产人成在线播放 | 四虎影视成人永久免费观看视频 | 欧美丰满少妇xxxx性 | 55夜色66夜色国产精品视频 | 欧美性生交活xxxxxdddd | 人妻与老人中文字幕 | 内射白嫩少妇超碰 | 曰韩无码二三区中文字幕 | 亚洲中文字幕在线观看 | 精品一区二区不卡无码av | 国精产品一品二品国精品69xx | 天海翼激烈高潮到腰振不止 | 中文精品久久久久人妻不卡 | 亚洲の无码国产の无码影院 | 帮老师解开蕾丝奶罩吸乳网站 | 漂亮人妻洗澡被公强 日日躁 | 青春草在线视频免费观看 | 国产美女极度色诱视频www | 亚洲国产精品成人久久蜜臀 | 国产午夜精品一区二区三区嫩草 | 国产 精品 自在自线 | 免费人成在线视频无码 | 国产在线无码精品电影网 | 亚洲中文字幕av在天堂 | 欧美人与禽zoz0性伦交 | 成人免费视频一区二区 | 国产精品人人爽人人做我的可爱 | 波多野42部无码喷潮在线 | 日本在线高清不卡免费播放 | 亚洲精品国产第一综合99久久 | 天天做天天爱天天爽综合网 | 99视频精品全部免费免费观看 | 国产精品人人爽人人做我的可爱 | 国产无遮挡又黄又爽免费视频 | 国产精品久久国产精品99 | 国产精品久久国产精品99 | 永久黄网站色视频免费直播 | 亚洲精品一区二区三区婷婷月 | 日本爽爽爽爽爽爽在线观看免 | 国产无遮挡又黄又爽免费视频 | 无码人妻精品一区二区三区下载 | 国产精品久久久久久无码 | 无码一区二区三区在线观看 | 欧美人与动性行为视频 | 强辱丰满人妻hd中文字幕 | 色婷婷香蕉在线一区二区 | 亚洲无人区一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 又大又硬又黄的免费视频 | 人人妻人人澡人人爽欧美一区 | 亚洲人成网站在线播放942 | 99久久人妻精品免费一区 | 日本大香伊一区二区三区 | 丰满岳乱妇在线观看中字无码 | 久精品国产欧美亚洲色aⅴ大片 | 国产精品第一区揄拍无码 | 久久国产精品_国产精品 | 亚洲天堂2017无码 | 成人亚洲精品久久久久软件 | 在教室伦流澡到高潮hnp视频 | 在线欧美精品一区二区三区 | 少妇厨房愉情理9仑片视频 | 日韩亚洲欧美中文高清在线 | 乱码av麻豆丝袜熟女系列 | 九九综合va免费看 | 熟女少妇在线视频播放 | 中文字幕 亚洲精品 第1页 | 日产精品高潮呻吟av久久 | 亚洲色偷偷男人的天堂 | 亚洲一区二区三区 | 国产精品对白交换视频 | 我要看www免费看插插视频 | 激情内射日本一区二区三区 | 久久久久成人精品免费播放动漫 | 高清不卡一区二区三区 | 国产亚洲精品久久久久久久 | 国产内射老熟女aaaa | 一本色道久久综合亚洲精品不卡 | 一个人看的www免费视频在线观看 | 国产人妻精品一区二区三区不卡 | www一区二区www免费 | 国产成人人人97超碰超爽8 | 99久久精品国产一区二区蜜芽 | 国产成人无码av在线影院 | 高清无码午夜福利视频 | 帮老师解开蕾丝奶罩吸乳网站 | 无码av岛国片在线播放 | 国产激情综合五月久久 | 国产超级va在线观看视频 | 国产乡下妇女做爰 | 国产成人精品无码播放 | 樱花草在线社区www | 国产精品久久久久久久影院 | 国产午夜亚洲精品不卡 | 麻豆成人精品国产免费 | 国产手机在线αⅴ片无码观看 | 久久综合激激的五月天 | 风流少妇按摩来高潮 | 中文久久乱码一区二区 | 无码午夜成人1000部免费视频 | 精品午夜福利在线观看 | 久久无码中文字幕免费影院蜜桃 | 娇妻被黑人粗大高潮白浆 | 欧美人与物videos另类 | 在线观看免费人成视频 | 玩弄少妇高潮ⅹxxxyw | 亚洲欧美综合区丁香五月小说 | 波多野结衣av在线观看 | 六十路熟妇乱子伦 | 国产无套内射久久久国产 | 人妻中文无码久热丝袜 | 国产黄在线观看免费观看不卡 | √天堂资源地址中文在线 | 久久久久人妻一区精品色欧美 | 日产精品99久久久久久 | 高潮毛片无遮挡高清免费 | 亚洲成av人在线观看网址 | 秋霞成人午夜鲁丝一区二区三区 | 乱人伦中文视频在线观看 | 天干天干啦夜天干天2017 | 日韩亚洲欧美中文高清在线 | 国产午夜亚洲精品不卡下载 | 久久久久se色偷偷亚洲精品av | aⅴ在线视频男人的天堂 | 国产小呦泬泬99精品 | 中文字幕乱码中文乱码51精品 | 中文字幕无码人妻少妇免费 | 日本一区二区更新不卡 | 国产精品久久久久久久影院 | 国产精品人人爽人人做我的可爱 | 少妇性俱乐部纵欲狂欢电影 | 巨爆乳无码视频在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲精品久久久久久一区二区 | 亚洲国产成人av在线观看 | 丰满少妇弄高潮了www | 青青草原综合久久大伊人精品 | 亚洲日韩中文字幕在线播放 | 久久久久国色av免费观看性色 | 欧美人妻一区二区三区 | 国产精品无码永久免费888 | 亚洲色大成网站www国产 | 欧洲极品少妇 | 国产成人无码av在线影院 | 国产一区二区三区精品视频 | 久久精品国产一区二区三区 | 奇米影视7777久久精品人人爽 | 无码人妻丰满熟妇区五十路百度 | 水蜜桃亚洲一二三四在线 | 蜜桃视频韩日免费播放 | 亚洲 日韩 欧美 成人 在线观看 | 中文字幕av无码一区二区三区电影 | 一本久道久久综合婷婷五月 | 99久久无码一区人妻 | 色 综合 欧美 亚洲 国产 | 在线欧美精品一区二区三区 | 99精品国产综合久久久久五月天 | 亚洲另类伦春色综合小说 | 红桃av一区二区三区在线无码av | 国产成人无码区免费内射一片色欲 | 亚洲人交乣女bbw | 中国女人内谢69xxxx | 国产99久久精品一区二区 | 伊人久久大香线蕉亚洲 | 美女扒开屁股让男人桶 | 中文字幕色婷婷在线视频 | 中文字幕无码av波多野吉衣 | 久久综合九色综合97网 | 免费视频欧美无人区码 | 国产亚洲精品精品国产亚洲综合 | 成人免费视频视频在线观看 免费 | 一本久道高清无码视频 | 欧美亚洲日韩国产人成在线播放 | 亚洲最大成人网站 | 强伦人妻一区二区三区视频18 | 亚洲 高清 成人 动漫 | 午夜福利试看120秒体验区 | 两性色午夜视频免费播放 | 强伦人妻一区二区三区视频18 | 久久这里只有精品视频9 | 中文字幕日韩精品一区二区三区 | 99精品无人区乱码1区2区3区 | 免费男性肉肉影院 | 久久精品女人的天堂av | 动漫av网站免费观看 | 99国产欧美久久久精品 | 久久久成人毛片无码 | 天天躁夜夜躁狠狠是什么心态 | 少妇高潮一区二区三区99 | 成人精品一区二区三区中文字幕 | 人妻熟女一区 | 国产成人无码专区 | 中文字幕无线码 | 无码人妻精品一区二区三区不卡 | 国产无遮挡又黄又爽又色 | 一本久久a久久精品vr综合 | 亚洲综合在线一区二区三区 | 风流少妇按摩来高潮 | 2020久久香蕉国产线看观看 | 色综合久久88色综合天天 | 蜜桃臀无码内射一区二区三区 | 亚洲中文无码av永久不收费 | 日本欧美一区二区三区乱码 | 少妇久久久久久人妻无码 | 欧美野外疯狂做受xxxx高潮 | 精品国产福利一区二区 | 日本成熟视频免费视频 | 西西人体www44rt大胆高清 | 大肉大捧一进一出好爽视频 | 亚洲第一无码av无码专区 | 99国产精品白浆在线观看免费 | 麻豆国产97在线 | 欧洲 | 丰腴饱满的极品熟妇 | 中国女人内谢69xxxx | 国产综合在线观看 | 国产乱人无码伦av在线a | 国产亚洲视频中文字幕97精品 | 免费无码肉片在线观看 | 乌克兰少妇xxxx做受 | 麻豆av传媒蜜桃天美传媒 | 久久这里只有精品视频9 | 久久久久久a亚洲欧洲av冫 | 久久精品丝袜高跟鞋 | 人妻中文无码久热丝袜 | 亚洲日韩精品欧美一区二区 | 国产乱子伦视频在线播放 | 成人精品一区二区三区中文字幕 | 激情五月综合色婷婷一区二区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 丝袜人妻一区二区三区 | 97精品国产97久久久久久免费 | 亚洲精品一区国产 | 国产精品久久久久无码av色戒 | 国产成人无码a区在线观看视频app | 欧美真人作爱免费视频 | 亚洲 高清 成人 动漫 | 国产精品无码久久av | 亚洲日本一区二区三区在线 | 在线播放亚洲第一字幕 | 大屁股大乳丰满人妻 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲 欧美 激情 小说 另类 | 日韩在线不卡免费视频一区 | 国产精品无码永久免费888 | 成人亚洲精品久久久久软件 | 午夜不卡av免费 一本久久a久久精品vr综合 | 久久午夜无码鲁丝片 | ass日本丰满熟妇pics | 久久久成人毛片无码 | 欧美熟妇另类久久久久久不卡 | 麻花豆传媒剧国产免费mv在线 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲啪av永久无码精品放毛片 | 日韩人妻无码中文字幕视频 | 亚洲欧美日韩成人高清在线一区 | 国产两女互慰高潮视频在线观看 | 国产午夜无码精品免费看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲色大成网站www | 国产激情一区二区三区 | 老司机亚洲精品影院 | 国产超碰人人爽人人做人人添 | 久久久精品人妻久久影视 | 欧美成人免费全部网站 | 全球成人中文在线 | 国产日产欧产精品精品app | 大乳丰满人妻中文字幕日本 | 亚洲无人区午夜福利码高清完整版 | 美女张开腿让人桶 | 亚洲精品一区二区三区在线观看 | 亚洲va欧美va天堂v国产综合 | 男女作爱免费网站 | 野外少妇愉情中文字幕 | 国产成人综合在线女婷五月99播放 | 对白脏话肉麻粗话av | 亚洲国产av精品一区二区蜜芽 | 18黄暴禁片在线观看 | 亚洲中文字幕无码中文字在线 | 天天躁日日躁狠狠躁免费麻豆 | 国产免费久久久久久无码 | 无遮挡国产高潮视频免费观看 | 伊人久久婷婷五月综合97色 | 中文毛片无遮挡高清免费 | 国产舌乚八伦偷品w中 | 人人妻人人澡人人爽精品欧美 | 久久精品国产亚洲精品 | 日本一区二区三区免费播放 | 欧美人与物videos另类 | 高清国产亚洲精品自在久久 | 男女下面进入的视频免费午夜 | 99久久久无码国产精品免费 | 国产综合久久久久鬼色 | 中文无码伦av中文字幕 | 亚洲精品国偷拍自产在线麻豆 | 波多野结衣av在线观看 | 精品人妻中文字幕有码在线 | 久久这里只有精品视频9 | 麻豆国产人妻欲求不满 | 精品 日韩 国产 欧美 视频 | 最新版天堂资源中文官网 | 中文字幕 亚洲精品 第1页 | 亚洲无人区一区二区三区 | 一本久久伊人热热精品中文字幕 | √天堂中文官网8在线 | 色爱情人网站 | 夜先锋av资源网站 | 欧美激情综合亚洲一二区 | 欧美老人巨大xxxx做受 | 国产sm调教视频在线观看 | 又大又紧又粉嫩18p少妇 | 99精品国产综合久久久久五月天 | 免费国产黄网站在线观看 | 欧美怡红院免费全部视频 | 亚洲人交乣女bbw | 少妇性l交大片欧洲热妇乱xxx | 国产精品久久久av久久久 | 成人试看120秒体验区 | 天天av天天av天天透 | 国语自产偷拍精品视频偷 | 亚洲国产精品一区二区第一页 | 国产精品无码一区二区三区不卡 | 黑人巨大精品欧美一区二区 | 偷窥日本少妇撒尿chinese | 秋霞特色aa大片 | 国产成人无码一二三区视频 | 日韩精品无码一本二本三本色 | 国产婷婷色一区二区三区在线 | 亚洲午夜久久久影院 | 少妇性l交大片欧洲热妇乱xxx | 中文字幕av伊人av无码av | 国产精品第一国产精品 | 波多野结衣aⅴ在线 | 久久午夜无码鲁丝片秋霞 | 十八禁真人啪啪免费网站 | 任你躁国产自任一区二区三区 | 精品一二三区久久aaa片 | 亚洲七七久久桃花影院 | 国产成人久久精品流白浆 | 熟妇女人妻丰满少妇中文字幕 | 国产av无码专区亚洲awww | 久久99热只有频精品8 | 人人妻人人澡人人爽欧美一区九九 | 中文字幕无码免费久久9一区9 | 99精品无人区乱码1区2区3区 | 国精产品一区二区三区 | av无码久久久久不卡免费网站 | 在线 国产 欧美 亚洲 天堂 | 日韩人妻无码一区二区三区久久99 | 成人试看120秒体验区 | 午夜熟女插插xx免费视频 | 黑人粗大猛烈进出高潮视频 | 中文字幕 人妻熟女 | 色五月丁香五月综合五月 | 亚洲性无码av中文字幕 | 国产人妻精品一区二区三区 | 国产无套粉嫩白浆在线 | 蜜臀av在线播放 久久综合激激的五月天 | 好爽又高潮了毛片免费下载 | 99国产精品白浆在线观看免费 | 国产香蕉尹人视频在线 | 亚洲综合精品香蕉久久网 | 国产激情无码一区二区app | 97人妻精品一区二区三区 | 成人无码精品1区2区3区免费看 | 成人无码视频在线观看网站 | 欧洲vodafone精品性 | 国产 精品 自在自线 | 亚洲国产精品美女久久久久 | 无码国内精品人妻少妇 | 精品无人区无码乱码毛片国产 | 蜜桃臀无码内射一区二区三区 | 日本精品少妇一区二区三区 | 久久国产精品萌白酱免费 | 成人免费视频视频在线观看 免费 | 骚片av蜜桃精品一区 | 99久久婷婷国产综合精品青草免费 | 成人欧美一区二区三区黑人免费 | 国产精品无套呻吟在线 | 国产福利视频一区二区 | 精品国产精品久久一区免费式 | 国产va免费精品观看 | 熟妇人妻无码xxx视频 | 成熟妇人a片免费看网站 | 亚洲熟悉妇女xxx妇女av | 领导边摸边吃奶边做爽在线观看 | 久久久久国色av免费观看性色 | 久久99精品久久久久久 | 亚洲人成影院在线观看 | 人妻尝试又大又粗久久 | 久在线观看福利视频 | 成人一在线视频日韩国产 | 成人无码视频在线观看网站 | 一本久道高清无码视频 | 色诱久久久久综合网ywww | 欧美日韩人成综合在线播放 | 日本熟妇乱子伦xxxx | 又大又紧又粉嫩18p少妇 | 99视频精品全部免费免费观看 | 丝袜人妻一区二区三区 | 天下第一社区视频www日本 | 国产免费久久久久久无码 | 久久人人爽人人爽人人片av高清 | 午夜精品一区二区三区在线观看 | 窝窝午夜理论片影院 | 国产成人午夜福利在线播放 | 国产色精品久久人妻 | 亚洲日本在线电影 | 国产人成高清在线视频99最全资源 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产欧美精品一区二区三区 | 成人综合网亚洲伊人 | 国产人成高清在线视频99最全资源 | 自拍偷自拍亚洲精品10p | 夜夜躁日日躁狠狠久久av | 一本久久a久久精品亚洲 | 狠狠综合久久久久综合网 | 精品国产福利一区二区 | 日韩欧美群交p片內射中文 | 欧洲欧美人成视频在线 | 成人女人看片免费视频放人 | 欧美日本免费一区二区三区 | 欧美性黑人极品hd | 在教室伦流澡到高潮hnp视频 | 在线精品国产一区二区三区 | 久久亚洲日韩精品一区二区三区 | 国产成人无码午夜视频在线观看 | 性生交大片免费看女人按摩摩 | 亚洲中文字幕成人无码 | 麻豆md0077饥渴少妇 | 捆绑白丝粉色jk震动捧喷白浆 | 午夜精品一区二区三区的区别 | 色综合天天综合狠狠爱 | 亚洲欧洲无卡二区视頻 | 骚片av蜜桃精品一区 | 日本爽爽爽爽爽爽在线观看免 | 中国女人内谢69xxxx | 国产亚洲视频中文字幕97精品 | 日本一卡2卡3卡四卡精品网站 | 亚洲va欧美va天堂v国产综合 | 久久无码人妻影院 | 午夜理论片yy44880影院 | 中文毛片无遮挡高清免费 | 在线看片无码永久免费视频 | 国产亚洲精品精品国产亚洲综合 | 性啪啪chinese东北女人 | 国产9 9在线 | 中文 | 亚洲国产欧美日韩精品一区二区三区 | 偷窥日本少妇撒尿chinese | 国产精品人人妻人人爽 | 欧美日韩视频无码一区二区三 | а天堂中文在线官网 | 中文字幕日产无线码一区 | 熟女少妇在线视频播放 | 67194成是人免费无码 | 97精品国产97久久久久久免费 | 婷婷六月久久综合丁香 | 国产美女精品一区二区三区 | 又粗又大又硬又长又爽 | 黑人大群体交免费视频 | 国产精品18久久久久久麻辣 | 东京热男人av天堂 | 小sao货水好多真紧h无码视频 | 欧美 丝袜 自拍 制服 另类 | 中文毛片无遮挡高清免费 | 亚洲欧洲中文日韩av乱码 | 国产女主播喷水视频在线观看 | 丰腴饱满的极品熟妇 | 国产亚洲精品久久久久久国模美 | 亚洲欧洲中文日韩av乱码 | 午夜福利试看120秒体验区 | 色综合久久88色综合天天 | 亚洲色偷偷偷综合网 | 日韩精品a片一区二区三区妖精 | 少妇高潮一区二区三区99 | 精品久久久无码中文字幕 | a国产一区二区免费入口 | 两性色午夜免费视频 | 亚洲人成网站色7799 | 欧美自拍另类欧美综合图片区 | 日本爽爽爽爽爽爽在线观看免 | 国产av无码专区亚洲awww | 欧美xxxxx精品 | www国产亚洲精品久久网站 | 97久久精品无码一区二区 | 精品偷拍一区二区三区在线看 | 国产成人午夜福利在线播放 | 成人无码视频在线观看网站 | 午夜精品一区二区三区在线观看 | 99久久精品国产一区二区蜜芽 | 国产精品亚洲综合色区韩国 | 中文字幕久久久久人妻 | 中国大陆精品视频xxxx | 国产亚洲精品久久久久久国模美 | 久久99精品国产麻豆蜜芽 | 久久久久久av无码免费看大片 | 国产午夜手机精彩视频 | 国产精品亚洲а∨无码播放麻豆 | 国产在线精品一区二区高清不卡 | 国产一区二区三区四区五区加勒比 | 国内精品久久久久久中文字幕 | 国产av无码专区亚洲a∨毛片 | 中文字幕乱妇无码av在线 | 波多野结衣高清一区二区三区 | 蜜桃视频韩日免费播放 | 强奷人妻日本中文字幕 | 精品国产一区av天美传媒 | 强辱丰满人妻hd中文字幕 | 中文字幕日韩精品一区二区三区 | 国产人妻精品一区二区三区不卡 | 综合激情五月综合激情五月激情1 | 午夜福利电影 | 无码纯肉视频在线观看 | 亚洲无人区一区二区三区 | 色 综合 欧美 亚洲 国产 | 亚洲の无码国产の无码影院 | 国产国产精品人在线视 | 亚洲精品鲁一鲁一区二区三区 | 亚洲gv猛男gv无码男同 | 国产人妻久久精品二区三区老狼 | aⅴ在线视频男人的天堂 | 国精品人妻无码一区二区三区蜜柚 | 三上悠亚人妻中文字幕在线 | 国产精品第一国产精品 | aⅴ在线视频男人的天堂 | 亚无码乱人伦一区二区 | 亚洲另类伦春色综合小说 | 亚洲の无码国产の无码影院 | 97久久国产亚洲精品超碰热 | 日韩无套无码精品 | 久久精品人人做人人综合试看 | 国产亚洲精品久久久ai换 | а√资源新版在线天堂 | 男女作爱免费网站 | 性啪啪chinese东北女人 | 国产亚洲精品久久久久久久久动漫 | 精品久久久久久亚洲精品 | 国产成人无码av在线影院 | 亚洲国产成人a精品不卡在线 | 国产成人av免费观看 | 人人爽人人澡人人高潮 | 久久国语露脸国产精品电影 | 2020最新国产自产精品 | 午夜精品一区二区三区在线观看 | 国产一区二区不卡老阿姨 | 亚洲国产欧美国产综合一区 | 狠狠色噜噜狠狠狠狠7777米奇 | 无码人妻丰满熟妇区五十路百度 | 人妻无码αv中文字幕久久琪琪布 | 久久精品国产亚洲精品 | 日韩视频 中文字幕 视频一区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美性色19p | 波多野42部无码喷潮在线 | 丰满肥臀大屁股熟妇激情视频 | 日日摸夜夜摸狠狠摸婷婷 | 国产精品久久久久久久9999 | 狠狠躁日日躁夜夜躁2020 | 精品久久8x国产免费观看 | yw尤物av无码国产在线观看 | 亚洲の无码国产の无码步美 | 国产精品久久国产精品99 | 内射巨臀欧美在线视频 | 色窝窝无码一区二区三区色欲 | 国产亚洲精品久久久久久大师 | 欧美人与善在线com | 少妇被粗大的猛进出69影院 | 18无码粉嫩小泬无套在线观看 | 亚洲狠狠婷婷综合久久 | 亚洲午夜福利在线观看 | 久久zyz资源站无码中文动漫 | 波多野结衣aⅴ在线 | 色婷婷综合激情综在线播放 | 国产人妻精品午夜福利免费 | 久久午夜无码鲁丝片午夜精品 | 99久久精品午夜一区二区 | 粉嫩少妇内射浓精videos | 亚洲aⅴ无码成人网站国产app | 欧美xxxxx精品 | 成年美女黄网站色大免费视频 | 国产熟妇另类久久久久 | 国产精品久久久久久久9999 | 亚洲 欧美 激情 小说 另类 | 免费人成网站视频在线观看 | 日韩在线不卡免费视频一区 | 一本色道久久综合亚洲精品不卡 | 日本精品人妻无码免费大全 | 对白脏话肉麻粗话av | 亚洲国产精品无码一区二区三区 | 天堂亚洲免费视频 | 在线а√天堂中文官网 | 丰满少妇人妻久久久久久 | 水蜜桃亚洲一二三四在线 | 午夜成人1000部免费视频 | 欧美性色19p | 国产亚洲人成在线播放 | 亚洲乱码日产精品bd | 特级做a爰片毛片免费69 | 对白脏话肉麻粗话av | 人人妻人人澡人人爽人人精品 | 日本www一道久久久免费榴莲 | 亚洲精品无码人妻无码 | 日韩av无码中文无码电影 | 欧美国产亚洲日韩在线二区 | 一本久久伊人热热精品中文字幕 | 131美女爱做视频 | 欧美丰满熟妇xxxx性ppx人交 | 无码成人精品区在线观看 | 牲交欧美兽交欧美 | 无码精品国产va在线观看dvd | 国语精品一区二区三区 | 97色伦图片97综合影院 | 亚洲成av人影院在线观看 | 色婷婷欧美在线播放内射 | 亚洲啪av永久无码精品放毛片 | 久久99国产综合精品 | 久在线观看福利视频 | 97色伦图片97综合影院 | 精品人妻中文字幕有码在线 | 精品国产aⅴ无码一区二区 | 成人片黄网站色大片免费观看 | 任你躁国产自任一区二区三区 | 天堂久久天堂av色综合 | 国产女主播喷水视频在线观看 | 免费无码av一区二区 | 国产真实伦对白全集 | 久久久成人毛片无码 | 国产av无码专区亚洲a∨毛片 | 无码毛片视频一区二区本码 | 色 综合 欧美 亚洲 国产 | 亚洲欧洲无卡二区视頻 | 夫妻免费无码v看片 | 内射老妇bbwx0c0ck | 久久亚洲精品中文字幕无男同 | 久久精品无码一区二区三区 | 特级做a爰片毛片免费69 | aa片在线观看视频在线播放 | 老熟女乱子伦 | 暴力强奷在线播放无码 | 精品国产精品久久一区免费式 | 少妇人妻大乳在线视频 | 欧美性生交xxxxx久久久 | 一区二区传媒有限公司 | 黑人巨大精品欧美一区二区 | 日韩精品乱码av一区二区 | 秋霞成人午夜鲁丝一区二区三区 | 黄网在线观看免费网站 | 无码福利日韩神码福利片 | 一个人看的www免费视频在线观看 | 免费人成网站视频在线观看 | 极品嫩模高潮叫床 | 国产97人人超碰caoprom | 国产亚洲美女精品久久久2020 | 无码人妻丰满熟妇区五十路百度 | 成 人影片 免费观看 | 国产亚洲精品精品国产亚洲综合 | 欧美国产日韩亚洲中文 | 亲嘴扒胸摸屁股激烈网站 | 色欲综合久久中文字幕网 | 亚洲一区二区三区含羞草 | 欧美性生交活xxxxxdddd | 国产手机在线αⅴ片无码观看 | 亚洲精品中文字幕 | 日产精品高潮呻吟av久久 | 久久久久久国产精品无码下载 | 一区二区三区高清视频一 | 人妻有码中文字幕在线 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 俺去俺来也www色官网 | 中文久久乱码一区二区 | 欧美人妻一区二区三区 | 国精产品一区二区三区 | 99麻豆久久久国产精品免费 | 久久精品国产精品国产精品污 | 在线观看免费人成视频 | 天天综合网天天综合色 | 亚洲aⅴ无码成人网站国产app | 欧美zoozzooz性欧美 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产97人人超碰caoprom | 老子影院午夜精品无码 | 成人免费视频在线观看 | 国产无遮挡又黄又爽又色 | 99精品无人区乱码1区2区3区 | 国产美女精品一区二区三区 | 欧美色就是色 | 亚洲精品午夜无码电影网 | 国产极品美女高潮无套在线观看 | 日韩av激情在线观看 | 一本色道婷婷久久欧美 | 天下第一社区视频www日本 | 国产成人无码av一区二区 | 丰满岳乱妇在线观看中字无码 | 欧美丰满老熟妇xxxxx性 | 久久zyz资源站无码中文动漫 | 成人无码视频在线观看网站 | 亚洲最大成人网站 | 天天做天天爱天天爽综合网 | 天天拍夜夜添久久精品 | 永久免费精品精品永久-夜色 | 亚洲精品久久久久久久久久久 | 老熟女重囗味hdxx69 | 亚洲国产欧美国产综合一区 | 色综合久久88色综合天天 | 呦交小u女精品视频 | 九一九色国产 | 国产成人无码专区 | 老司机亚洲精品影院 | 日日碰狠狠躁久久躁蜜桃 | 国产国语老龄妇女a片 | 人妻无码久久精品人妻 | 亚洲国产精品无码久久久久高潮 | 国产成人无码av一区二区 | 成年美女黄网站色大免费全看 | 国产精品无码永久免费888 | 兔费看少妇性l交大片免费 | 久久97精品久久久久久久不卡 | 无遮挡国产高潮视频免费观看 | 日本护士毛茸茸高潮 | 国产精品手机免费 | 久久精品一区二区三区四区 | 网友自拍区视频精品 | 亚洲无人区午夜福利码高清完整版 | 日产精品高潮呻吟av久久 | 夜先锋av资源网站 | 又大又黄又粗又爽的免费视频 | 激情爆乳一区二区三区 | 日日夜夜撸啊撸 | 国产精品无码永久免费888 | 久久久久久久女国产乱让韩 | 中文字幕人成乱码熟女app | 中文字幕精品av一区二区五区 | av在线亚洲欧洲日产一区二区 | 中文字幕 人妻熟女 | 欧美freesex黑人又粗又大 | 人人妻人人澡人人爽精品欧美 | 久久久久亚洲精品中文字幕 | 亚洲综合精品香蕉久久网 | 日产国产精品亚洲系列 | 131美女爱做视频 | 少妇人妻偷人精品无码视频 | 成人试看120秒体验区 | 高清不卡一区二区三区 | 丰满少妇熟乱xxxxx视频 | 伊人久久大香线蕉av一区二区 | 亚洲欧美综合区丁香五月小说 | 日本大香伊一区二区三区 | 无码免费一区二区三区 | 成人一区二区免费视频 | 一本大道伊人av久久综合 | 亚洲国产精品一区二区美利坚 | 国产熟妇另类久久久久 | www国产亚洲精品久久久日本 | 人妻体内射精一区二区三四 | 四虎国产精品一区二区 | 精品aⅴ一区二区三区 | 国产人妻精品午夜福利免费 | 呦交小u女精品视频 | 丁香啪啪综合成人亚洲 | 国产亚洲tv在线观看 | 未满成年国产在线观看 | 最近免费中文字幕中文高清百度 | 又湿又紧又大又爽a视频国产 | 国产精华av午夜在线观看 | 欧美精品无码一区二区三区 | 色窝窝无码一区二区三区色欲 | 成人毛片一区二区 | 亚洲综合无码一区二区三区 | 4hu四虎永久在线观看 | 亚洲 a v无 码免 费 成 人 a v | 国产在热线精品视频 | 成年女人永久免费看片 | 99re在线播放 | 亚洲欧美精品伊人久久 | 东京一本一道一二三区 | 欧美一区二区三区视频在线观看 | 久久精品女人的天堂av | 国产亚洲精品久久久久久大师 | 亚洲中文无码av永久不收费 | 国产亚洲人成a在线v网站 | 国产莉萝无码av在线播放 | 久久精品国产99精品亚洲 | 亚洲爆乳精品无码一区二区三区 | 55夜色66夜色国产精品视频 | 男人扒开女人内裤强吻桶进去 | 日韩少妇内射免费播放 | 蜜桃av抽搐高潮一区二区 | 久久久久久亚洲精品a片成人 | 亚洲精品国产第一综合99久久 | 国产亚洲人成在线播放 | 亚洲无人区一区二区三区 | 日本饥渴人妻欲求不满 | 精品国产av色一区二区深夜久久 | 久久人妻内射无码一区三区 | 小sao货水好多真紧h无码视频 | 亚洲熟妇色xxxxx亚洲 | 亚洲国产午夜精品理论片 | 天天综合网天天综合色 | 久久精品人人做人人综合试看 | 国产香蕉97碰碰久久人人 | 丝袜 中出 制服 人妻 美腿 | 中文毛片无遮挡高清免费 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲精品国偷拍自产在线观看蜜桃 | 99久久婷婷国产综合精品青草免费 | 欧美高清在线精品一区 | 中文字幕无码视频专区 | 中文字幕亚洲情99在线 | 无码av岛国片在线播放 | 色一情一乱一伦一视频免费看 | 欧美人妻一区二区三区 | 人妻有码中文字幕在线 | 精品熟女少妇av免费观看 | 蜜桃无码一区二区三区 | 国产精品久久久久无码av色戒 | 无码人妻丰满熟妇区毛片18 | 日欧一片内射va在线影院 | 亚洲а∨天堂久久精品2021 | 亚洲欧美综合区丁香五月小说 | 亚洲热妇无码av在线播放 | а天堂中文在线官网 | 18无码粉嫩小泬无套在线观看 | 亚洲精品成a人在线观看 | 激情爆乳一区二区三区 | 丰满人妻被黑人猛烈进入 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 在线精品国产一区二区三区 | 人人超人人超碰超国产 | 欧美 日韩 亚洲 在线 | 久久久久亚洲精品中文字幕 | 国产美女精品一区二区三区 | 国产精品爱久久久久久久 | 免费无码午夜福利片69 | 国产内射爽爽大片视频社区在线 | 人妻少妇精品无码专区二区 | 麻豆蜜桃av蜜臀av色欲av | 亚洲色欲久久久综合网东京热 | 波多野结衣av一区二区全免费观看 | 日韩精品成人一区二区三区 | 真人与拘做受免费视频 | 久久久久免费精品国产 | 国产精品久久久久久无码 | 亚洲人成网站色7799 | 成人三级无码视频在线观看 | 精品国产一区二区三区av 性色 | 波多野结衣一区二区三区av免费 | 日韩欧美中文字幕在线三区 | 国产在线aaa片一区二区99 | 久久99久久99精品中文字幕 | 成人性做爰aaa片免费看不忠 | 亚洲成av人片在线观看无码不卡 | 成年女人永久免费看片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 中文精品久久久久人妻不卡 | 欧美亚洲日韩国产人成在线播放 | av人摸人人人澡人人超碰下载 | 国产av无码专区亚洲awww | 国产成人一区二区三区别 | 久久综合色之久久综合 | 丰满少妇熟乱xxxxx视频 | 精品国产乱码久久久久乱码 | 国内精品人妻无码久久久影院蜜桃 | v一区无码内射国产 | 成人精品天堂一区二区三区 | 免费中文字幕日韩欧美 | 玩弄少妇高潮ⅹxxxyw | 欧美人与物videos另类 | 精品一区二区不卡无码av | 久久精品成人欧美大片 | 国产成人一区二区三区在线观看 | 免费人成网站视频在线观看 | 粉嫩少妇内射浓精videos | 亚洲 另类 在线 欧美 制服 | 国产精品18久久久久久麻辣 | 国产亚洲精品久久久久久国模美 | 亚洲成a人片在线观看无码 | aa片在线观看视频在线播放 | 无码帝国www无码专区色综合 | 人妻无码αv中文字幕久久琪琪布 | 无码午夜成人1000部免费视频 | 久久久久久久女国产乱让韩 | 精品午夜福利在线观看 | 久久精品中文字幕一区 | 精品久久久无码人妻字幂 | 久久午夜夜伦鲁鲁片无码免费 | 激情国产av做激情国产爱 | 爱做久久久久久 | 国产午夜无码精品免费看 | 永久免费观看美女裸体的网站 | 亚洲欧美日韩国产精品一区二区 | 中文精品无码中文字幕无码专区 | 99国产精品白浆在线观看免费 | 久久久久久久人妻无码中文字幕爆 | 97人妻精品一区二区三区 | 亚洲区欧美区综合区自拍区 | 色欲久久久天天天综合网精品 | 亚洲国产精品无码一区二区三区 | 成人av无码一区二区三区 | 日日麻批免费40分钟无码 | 中文字幕色婷婷在线视频 | 女人被男人躁得好爽免费视频 | 1000部啪啪未满十八勿入下载 | 欧美日韩一区二区三区自拍 | 久久99精品国产麻豆蜜芽 | 99国产精品白浆在线观看免费 | 中文字幕无码人妻少妇免费 | 最新国产乱人伦偷精品免费网站 | 曰本女人与公拘交酡免费视频 | 国产在热线精品视频 | 男女超爽视频免费播放 | 午夜肉伦伦影院 | 国产精品久久久久久久影院 | 国产精品久久久午夜夜伦鲁鲁 | 麻豆果冻传媒2021精品传媒一区下载 | 大肉大捧一进一出好爽视频 | 欧洲欧美人成视频在线 | 全黄性性激高免费视频 | 国产成人无码a区在线观看视频app | 我要看www免费看插插视频 | 午夜无码人妻av大片色欲 | а√天堂www在线天堂小说 | 学生妹亚洲一区二区 | 成人无码视频在线观看网站 | 精品久久8x国产免费观看 | 性色av无码免费一区二区三区 | 欧美日韩在线亚洲综合国产人 | 国产精品久久久久无码av色戒 | 国产精品亚洲lv粉色 | 露脸叫床粗话东北少妇 | 久久99精品国产.久久久久 | 久久精品国产大片免费观看 | 在线天堂新版最新版在线8 | 亚洲欧美中文字幕5发布 | 日产精品99久久久久久 | 中文字幕无码免费久久99 | 亚洲区小说区激情区图片区 | 偷窥村妇洗澡毛毛多 | 无码精品人妻一区二区三区av | 午夜丰满少妇性开放视频 | 欧美日本免费一区二区三区 | 久久成人a毛片免费观看网站 | 色综合久久久久综合一本到桃花网 | 精品欧美一区二区三区久久久 | 日韩精品久久久肉伦网站 | 国产特级毛片aaaaaaa高清 | 2020久久香蕉国产线看观看 | 暴力强奷在线播放无码 | 十八禁真人啪啪免费网站 | 无码任你躁久久久久久久 | 综合激情五月综合激情五月激情1 | 性欧美videos高清精品 | 免费观看黄网站 | 熟女少妇人妻中文字幕 | 麻豆蜜桃av蜜臀av色欲av | 午夜男女很黄的视频 | 玩弄中年熟妇正在播放 | 国产片av国语在线观看 | 亚洲国产精品美女久久久久 | 狠狠cao日日穞夜夜穞av | 亚洲va欧美va天堂v国产综合 | 婷婷丁香六月激情综合啪 | 中国大陆精品视频xxxx | 久久久久久国产精品无码下载 | 午夜福利不卡在线视频 | 精品无码一区二区三区爱欲 | 国产suv精品一区二区五 | 日日摸夜夜摸狠狠摸婷婷 | 午夜无码区在线观看 | 久久婷婷五月综合色国产香蕉 | 偷窥村妇洗澡毛毛多 | 国产精品视频免费播放 | 乌克兰少妇性做爰 | 88国产精品欧美一区二区三区 | 99国产精品白浆在线观看免费 | 国产精品久久久久久久影院 | 国产 浪潮av性色四虎 | 人妻天天爽夜夜爽一区二区 | 一本久久a久久精品vr综合 | 久久综合狠狠综合久久综合88 | 任你躁国产自任一区二区三区 | 99精品视频在线观看免费 | 伊人久久婷婷五月综合97色 | 丰满肥臀大屁股熟妇激情视频 | 国产美女精品一区二区三区 | 无码一区二区三区在线 | 激情人妻另类人妻伦 | 成年女人永久免费看片 | 日产国产精品亚洲系列 | 成在人线av无码免观看麻豆 | 人妻少妇精品久久 | 一区二区三区乱码在线 | 欧洲 | 日韩精品无码一区二区中文字幕 | 亚洲区欧美区综合区自拍区 | 一本久道久久综合狠狠爱 | 国产97人人超碰caoprom | 波多野结衣高清一区二区三区 | 欧美激情内射喷水高潮 | 中文字幕中文有码在线 | 99er热精品视频 | 夜先锋av资源网站 | 国产亚洲精品久久久久久久久动漫 | 小sao货水好多真紧h无码视频 | 桃花色综合影院 | 乱中年女人伦av三区 | 377p欧洲日本亚洲大胆 | 无人区乱码一区二区三区 | 精品人妻中文字幕有码在线 | 日本成熟视频免费视频 | 国产激情精品一区二区三区 | 人人妻人人澡人人爽欧美一区 | 亚洲欧美日韩国产精品一区二区 | 女人被男人爽到呻吟的视频 | 日韩精品一区二区av在线 | 免费人成在线观看网站 | 久久国产精品二国产精品 | 丝袜人妻一区二区三区 | 牛和人交xxxx欧美 | 久久精品中文字幕一区 | 亚洲精品国产第一综合99久久 | 日本熟妇乱子伦xxxx | 黑人粗大猛烈进出高潮视频 | 亚洲高清偷拍一区二区三区 | 黑森林福利视频导航 | 波多野结衣乳巨码无在线观看 | 又大又紧又粉嫩18p少妇 | 成年女人永久免费看片 | 天天躁日日躁狠狠躁免费麻豆 | 无码人妻精品一区二区三区下载 | 日韩成人一区二区三区在线观看 | 帮老师解开蕾丝奶罩吸乳网站 | 欧美国产亚洲日韩在线二区 | www一区二区www免费 | 日韩av无码一区二区三区 | 无码播放一区二区三区 | 国产电影无码午夜在线播放 | 美女张开腿让人桶 | 亚洲日本va午夜在线电影 | 亚洲精品鲁一鲁一区二区三区 | 精品偷拍一区二区三区在线看 | 成人无码精品1区2区3区免费看 | 最近的中文字幕在线看视频 | 熟女少妇人妻中文字幕 | a片免费视频在线观看 | 色欲综合久久中文字幕网 | 天天综合网天天综合色 | 亚洲精品成人av在线 | 无码乱肉视频免费大全合集 | 伊人久久婷婷五月综合97色 | 久久99精品久久久久婷婷 | 欧美精品国产综合久久 | 成人三级无码视频在线观看 | 久久久久成人片免费观看蜜芽 | 精品熟女少妇av免费观看 | 桃花色综合影院 | 国产成人无码av在线影院 | 国产尤物精品视频 | 国内揄拍国内精品少妇国语 | 波多野结衣高清一区二区三区 | 免费观看的无遮挡av | 亚洲自偷自拍另类第1页 | 小鲜肉自慰网站xnxx | 亚洲а∨天堂久久精品2021 | 亚洲精品久久久久久久久久久 | 国产成人无码av一区二区 | 国产凸凹视频一区二区 | 国产成人精品三级麻豆 | 成熟女人特级毛片www免费 | 久久国产精品偷任你爽任你 | 国产一精品一av一免费 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品香蕉在线观看 | 欧美第一黄网免费网站 | 特级做a爰片毛片免费69 | 成人女人看片免费视频放人 | 国产精品久久久久久亚洲影视内衣 | 男人的天堂av网站 | 亚洲熟妇自偷自拍另类 | 精品国产国产综合精品 | 国产卡一卡二卡三 | 国产精品毛片一区二区 | 久久精品国产精品国产精品污 | 欧美激情综合亚洲一二区 | 一本久久a久久精品亚洲 | 国产精品第一国产精品 | 无码人妻精品一区二区三区下载 | 国产另类ts人妖一区二区 | 中文字幕中文有码在线 | 婷婷五月综合激情中文字幕 | 国产精品-区区久久久狼 | 亚洲va欧美va天堂v国产综合 | 成人欧美一区二区三区黑人 | 亚洲精品综合一区二区三区在线 | 精品一区二区三区无码免费视频 | 在线精品亚洲一区二区 | 两性色午夜免费视频 | 成人亚洲精品久久久久软件 | 牲欲强的熟妇农村老妇女视频 | 爽爽影院免费观看 | 国产av一区二区三区最新精品 | 无码av岛国片在线播放 | 中文字幕无码日韩欧毛 | 中文字幕+乱码+中文字幕一区 | 色欲人妻aaaaaaa无码 | 性欧美熟妇videofreesex | 久久人人97超碰a片精品 | 俺去俺来也www色官网 | 老太婆性杂交欧美肥老太 | 蜜臀av在线观看 在线欧美精品一区二区三区 | aa片在线观看视频在线播放 | 国产性生大片免费观看性 | 97夜夜澡人人双人人人喊 | 精品国精品国产自在久国产87 | 正在播放老肥熟妇露脸 | 男人和女人高潮免费网站 | а√天堂www在线天堂小说 | 呦交小u女精品视频 | 中文无码伦av中文字幕 | 日韩人妻无码一区二区三区久久99 | 久久人人97超碰a片精品 | 成人三级无码视频在线观看 | 亚洲色无码一区二区三区 | 国产黑色丝袜在线播放 | 国产精品亚洲一区二区三区喷水 | 日本一区二区三区免费高清 | 亚洲精品中文字幕乱码 | 久久午夜无码鲁丝片午夜精品 | 亚洲欧洲无卡二区视頻 | 亚洲va中文字幕无码久久不卡 | 亚洲一区二区三区偷拍女厕 | 荫蒂添的好舒服视频囗交 | 欧美zoozzooz性欧美 | 成人一在线视频日韩国产 | 久久久久久av无码免费看大片 | 国产亚洲精品久久久ai换 | 任你躁在线精品免费 | 国产精品-区区久久久狼 | 欧美性猛交内射兽交老熟妇 | 国产特级毛片aaaaaaa高清 | 无码人妻丰满熟妇区毛片18 | 亚洲中文字幕成人无码 | 久久久国产精品无码免费专区 | 国产激情无码一区二区 | 精品一区二区不卡无码av | 亚洲国产欧美日韩精品一区二区三区 | 国产超碰人人爽人人做人人添 | 熟女俱乐部五十路六十路av | 熟女少妇人妻中文字幕 | 中国女人内谢69xxxxxa片 | 自拍偷自拍亚洲精品10p | 亚洲小说图区综合在线 | 成人精品视频一区二区三区尤物 | 波多野结衣av在线观看 | а√天堂www在线天堂小说 | 免费观看又污又黄的网站 | 学生妹亚洲一区二区 | 99在线 | 亚洲 | 无套内射视频囯产 | 亚洲精品午夜无码电影网 | 国内精品久久毛片一区二区 | 免费观看的无遮挡av | 欧洲熟妇色 欧美 | 无码一区二区三区在线 | 欧洲精品码一区二区三区免费看 | 奇米影视888欧美在线观看 | 波多野结衣aⅴ在线 | 久久婷婷五月综合色国产香蕉 | 国产欧美精品一区二区三区 | 国产黄在线观看免费观看不卡 | 国产极品美女高潮无套在线观看 | 熟妇人妻无乱码中文字幕 | 国产精品对白交换视频 | 中文字幕无码免费久久99 | 国产xxx69麻豆国语对白 | 日本va欧美va欧美va精品 | 久久精品女人天堂av免费观看 | 九月婷婷人人澡人人添人人爽 | 色妞www精品免费视频 | 人妻无码αv中文字幕久久琪琪布 | 人人澡人人妻人人爽人人蜜桃 | 色综合久久88色综合天天 | 色狠狠av一区二区三区 | 人妻体内射精一区二区三四 | 婷婷丁香五月天综合东京热 | 三上悠亚人妻中文字幕在线 | 精品无人区无码乱码毛片国产 | 国产成人无码一二三区视频 | 日韩 欧美 动漫 国产 制服 | 欧美zoozzooz性欧美 | 国产偷国产偷精品高清尤物 | 国产精品久久久一区二区三区 | 国产精品va在线观看无码 | 又大又黄又粗又爽的免费视频 | 大色综合色综合网站 | 十八禁视频网站在线观看 | 久久精品一区二区三区四区 | 国产精品第一国产精品 | 日本一卡二卡不卡视频查询 | 中文字幕无码免费久久9一区9 | 欧美熟妇另类久久久久久多毛 | 97夜夜澡人人爽人人喊中国片 | 国产成人午夜福利在线播放 | 久久精品中文字幕一区 | 久9re热视频这里只有精品 | 亚洲成色www久久网站 | 免费乱码人妻系列无码专区 | 国产精品久久久av久久久 | 成在人线av无码免费 | 色情久久久av熟女人妻网站 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久婷婷五月亚洲97号色 | 老熟女乱子伦 | 无码人妻久久一区二区三区不卡 | 18禁止看的免费污网站 | 日日碰狠狠躁久久躁蜜桃 | 欧美 日韩 人妻 高清 中文 | 国产精品毛多多水多 | aa片在线观看视频在线播放 | 又大又硬又黄的免费视频 | 亚洲精品久久久久久一区二区 | 欧洲熟妇精品视频 | 国产午夜亚洲精品不卡 | 亚洲无人区一区二区三区 | 国産精品久久久久久久 | 欧美精品国产综合久久 | 自拍偷自拍亚洲精品10p | 亲嘴扒胸摸屁股激烈网站 | 性史性农村dvd毛片 | 国产亚洲人成在线播放 | 鲁鲁鲁爽爽爽在线视频观看 | 少妇高潮喷潮久久久影院 | 国产乱人无码伦av在线a | 国产女主播喷水视频在线观看 | 久在线观看福利视频 | 久久综合九色综合97网 | 亚洲中文无码av永久不收费 | 帮老师解开蕾丝奶罩吸乳网站 | 国精产品一区二区三区 | 亚洲日韩av片在线观看 | 色综合久久久无码网中文 | 波多野结衣av一区二区全免费观看 | 国产成人综合色在线观看网站 | 亚洲 欧美 激情 小说 另类 | 亚洲国产精品一区二区第一页 | 成人亚洲精品久久久久软件 | 樱花草在线播放免费中文 | 亚洲理论电影在线观看 | 国产精品丝袜黑色高跟鞋 | 免费网站看v片在线18禁无码 | 久久久久久久人妻无码中文字幕爆 | 亚洲国产高清在线观看视频 | 国产精品无套呻吟在线 | 久久久久免费看成人影片 | 一二三四社区在线中文视频 | 亚洲乱码日产精品bd | 欧洲vodafone精品性 | 欧美丰满少妇xxxx性 | 国产卡一卡二卡三 | 中文字幕人成乱码熟女app | 国产 精品 自在自线 | 亚洲成a人一区二区三区 | 最新版天堂资源中文官网 | 欧美放荡的少妇 | av人摸人人人澡人人超碰下载 | 性生交片免费无码看人 | 亚洲国产精品久久人人爱 | 暴力强奷在线播放无码 | 国产97色在线 | 免 | 亚洲人交乣女bbw | 东北女人啪啪对白 | 亚洲精品无码国产 | 国产精品99久久精品爆乳 | 亚洲国产欧美国产综合一区 | 岛国片人妻三上悠亚 | 亚洲国产欧美国产综合一区 | 日产精品99久久久久久 | 鲁鲁鲁爽爽爽在线视频观看 | 欧美丰满老熟妇xxxxx性 | 国产suv精品一区二区五 | 图片区 小说区 区 亚洲五月 | 亚洲欧洲中文日韩av乱码 | 熟女俱乐部五十路六十路av | 亚洲天堂2017无码 | √天堂资源地址中文在线 | 妺妺窝人体色www在线小说 | 丰满人妻翻云覆雨呻吟视频 | 久久久久国色av免费观看性色 | 亚洲日本一区二区三区在线 | 少妇性l交大片欧洲热妇乱xxx | 亚洲精品午夜无码电影网 | 又紧又大又爽精品一区二区 | 欧美猛少妇色xxxxx | 99久久亚洲精品无码毛片 | 国产三级精品三级男人的天堂 | 精品无码一区二区三区爱欲 | 97精品国产97久久久久久免费 | 国内精品久久毛片一区二区 | 亚洲中文字幕无码一久久区 | 日韩视频 中文字幕 视频一区 | 中文字幕乱妇无码av在线 | 扒开双腿疯狂进出爽爽爽视频 | 激情爆乳一区二区三区 | 欧美精品国产综合久久 | 中文字幕 亚洲精品 第1页 | 国产精品嫩草久久久久 | 亚洲va欧美va天堂v国产综合 | 亚洲综合无码一区二区三区 | 香港三级日本三级妇三级 | 蜜桃视频插满18在线观看 | 久久久国产精品无码免费专区 | 日本乱人伦片中文三区 | 一本久道久久综合婷婷五月 | 黑人大群体交免费视频 |