<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Spark入門實戰系列--5.Hive(上)--Hive介紹及部署

      【注】該系列文章以及使用到安裝包/測試數據 可以在傾情大奉送--Spark入門實戰系列獲取

      1Hive介紹

      1.1 Hive介紹

      Hive是一個基于Hadoop的開源數據倉庫工具,用于存儲和處理海量結構化數據。它是Facebook 20088月開源的一個數據倉庫框架,提供了類似于SQL語法的HQL語句作為數據訪問接口,Hive有如下優缺點:

      l  優點:

      1.Hive 使用類SQL 查詢語法, 最大限度的實現了和SQL標準的兼容,大大降低了傳統數據分析人員學習的曲線;

      2.使用JDBC 接口/ODBC接口,開發人員更易開發應用;

      3.MR 作為計算引擎、HDFS 作為存儲系統,為超大數據集設計的計算/ 擴展能力;

      4.統一的元數據管理(DerbyMySql等),并可與Pig Presto 等共享;

      l  缺點:

      1.Hive HQL 表達的能力有限,有些復雜運算用HQL 不易表達;

      2.由于Hive自動生成MapReduce 作業, HQL 調優困難;

      3.粒度較粗,可控性差

      1.2  Hive運行架構

      clip_image002

      由上圖可知,HadoopMapReduceHive架構的根基。Hive架構包括如下組件:CLICommand Line Interface)、JDBC/ODBCThrift ServerWEB GUIMetastoreDriver(ComplierOptimizerExecutor),這些組件分為兩大類:服務端組件和客戶端組件。

      服務端組件:

      lDriver組件:該組件包括ComplierOptimizerExecutor,它的作用是將HiveQL(類SQL)語句進行解析、編譯優化,生成執行計劃,然后調用底層的MapReduce計算框架;

      lMetastore組件:元數據服務組件,這個組件存儲Hive的元數據,Hive的元數據存儲在關系數據庫里,Hive支持的關系數據庫有DerbyMysql。元數據對于Hive十分重要,因此Hive支持把Metastore服務獨立出來,安裝到遠程的服務器集群里,從而解耦Hive服務和Metastore服務,保證Hive運行的健壯性;

      lThrift服務:ThriftFacebook開發的一個軟件框架,它用來進行可擴展且跨語言的服務的開發,Hive集成了該服務,能讓不同的編程語言調用Hive的接口。

       

      客戶端組件:

      lCLICommand Line Interface,命令行接口。

      lThrift客戶端:上面的架構圖里沒有寫上Thrift客戶端,但是Hive架構的許多客戶端接口是建立在Thrift客戶端之上,包括JDBCODBC接口。

      lWEBGUIHive客戶端提供了一種通過網頁的方式訪問Hive所提供的服務。這個接口對應HiveHWI組件(Hive Web Interface),使用前要啟動HWI服務。

       

      Hive的執行流程

      clip_image004

       

      三種部署模式

      1.單用戶模式 此模式連接到一個In-Memory 的數據庫Derby,一般用于Unit Test

      clip_image006

      2.多用戶模式 通過網絡連接到一個數據庫中,是最經常使用到的模式。

      clip_image008

      3.  遠程服務器模式 用于非Java客戶端訪問元數據庫,在服務器端啟動MetaStoreServer,客戶端利用Thrift協議通過MetaStoreServer訪問元數據庫。

      clip_image010

      1.3 Hive數據模型

      Hive沒有專門的數據存儲格式,用戶可以自由的組織Hive中的表,只需要在創建表的時候告訴Hive數據中的列分隔符和行分隔符,Hive就可以解析數據。Hive中所有的數據都存儲在HDFS中,存儲結構主要包括數據庫、文件、表和視圖。Hive中包含以下數據模型:Table內部表,External Table外部表,Partition分區,Bucket桶。Hive默認可以直接加載文本文件,還支持sequence file RCFile

          1.Hive數據庫

      類似傳統數據庫的DataBase,在第三方數據庫里實際是一張表

      簡單示例命令行: create database test_database;

          2.內部表

      Hive的內部表與數據庫中的Table在概念上是類似。每一個TableHive中都有一個相應的目錄存儲數據。例如一個表tbInner,它在HDFS中的路徑為/user/hive/warehouse/tbInner,其中/user/hive/warehouse是在hive-site.xml中由${hive.metastore.warehouse.dir} 指定的數據倉庫的目錄,所有的Table數據(不包括External Table)都保存在這個目錄中。內部表刪除時,元數據與數據都會被刪除。

      內部表簡單示例:

      創建數據文件:test_inner_table.txt

      創建表:create table test_inner_table (key string);

      加載數據:LOAD DATA LOCAL INPATH 'filepath' INTO TABLE test_inner_table;

      查看數據:select * from test_inner_table;

      刪除表:drop table test_inner_table;

           3. 外部表

      外部表指向已經在HDFS中存在的數據,并可以創建Partition。它和內部表在元數據的組織上是相同的,而實際數據的存儲則有較大的差異。內部表的創建過程和數據加載過程這兩個過程可以分別獨立完成,也可以在同一個語句中完成,在加載數據的過程中,實際數據會被移動到數據倉庫目錄中;之后對數據對訪問將會直接在數據倉庫目錄中完成。刪除表時,表中的數據和元數據將會被同時刪除。而外部表只有一個過程,加載數據和創建表同時完成(CREATE EXTERNAL TABLE ……LOCATION),實際數據是存儲在LOCATION后面指定的 HDFS 路徑中,并不會移動到數據倉庫目錄中。當刪除一個External Table時,僅刪除該鏈接。

      外部表簡單示例:

      創建數據文件:test_external_table.txt

      創建表:create external table test_external_table (key string);

      加載數據:LOAD DATA INPATH filepath INTO TABLE test_inner_table;

      查看數據:select * from test_external_table;

      刪除表:drop table test_external_table;

          4.分區

      Partition對應于數據庫中的Partition列的密集索引,但是HivePartition的組織方式和數據庫中的很不相同。在Hive中,表中的一個Partition對應于表下的一個目錄,所有的Partition的數據都存儲在對應的目錄中。例如pvs表中包含dscity兩個Partition,則對應于ds = 20090801, ctry = US HDFS子目錄為/user/hive/warehouse/pvs/ds=20090801/ctry=US;對應于 ds = 20090801, ctry = CA HDFS子目錄為/user/hive/warehouse/pvs/ds=20090801/ctry=CA

      分區表簡單示例:

      創建數據文件:test_partition_table.txt

      創建表:create table test_partition_table (key string) partitioned by (dt string);

      加載數據:LOAD DATA INPATH filepath INTO TABLE test_partition_table partition (dt=2006);

      查看數據:select * from test_partition_table;

      刪除表:drop table test_partition_table;

          5.

      Buckets是將表的列通過Hash算法進一步分解成不同的文件存儲。它對指定列計算Hash,根據Hash值切分數據,目的是為了并行,每一個Bucket對應一個文件。例如將user列分散至32bucket,首先對user列的值計算Hash,對應Hash值為0HDFS目錄為/user/hive/warehouse/pvs/ds=20090801/ctry=US/part-00000Hash值為20HDFS目錄為/user/hive/warehouse/pvs/ds=20090801/ctry=US/part-00020。如果想應用很多的Map任務這樣是不錯的選擇。

          桶的簡單示例:

          創建數據文件:test_bucket_table.txt

      創建表:create table test_bucket_table (key string) clustered by (key) into 20 buckets

          加載數據:LOAD DATA INPATH filepath INTO TABLE test_bucket_table

          查看數據:select * from test_bucket_table;  set hive.enforce.bucketing = true;

          6.Hive的視圖

      視圖與傳統數據庫的視圖類似。視圖是只讀的,它基于的基本表,如果改變,數據增加不會影響視圖的呈現;如果刪除,會出現問題。如果不指定視圖的列,會根據select語句后的生成。

          示例:create view test_view as select * from test

      1.4 Hive數據類型

      Hive支持兩種數據類型,一類叫原子數據類型,一類叫復雜數據類型。

      l  原子數據類型包括數值型、布爾型和字符串類型,具體如下表所示:

      基本數據類型

      類型

      描述

      示例

      TINYINT

      1個字節(8位)有符號整數

      1

      SMALLINT

      2字節(16位)有符號整數

      1

      INT

      4字節(32位)有符號整數

      1

      BIGINT

      8字節(64位)有符號整數

      1

      FLOAT

      4字節(32位)單精度浮點數

      1.0

      DOUBLE

      8字節(64位)雙精度浮點數

      1.0

      BOOLEAN

      true/false

      true

      STRING

      字符串

      ‘xia’,”xia”

      由上表我們看到Hive不支持日期類型,在Hive里日期都是用字符串來表示的,而常用的日期格式轉化操作則是通過自定義函數進行操作。

      Hive是用Java開發的,Hive里的基本數據類型和java的基本數據類型也是一一對應的,除了String類型。有符號的整數類型:TINYINTSMALLINTINTBIGINT分別等價于JavaByteShortIntLong原子類型,它們分別為1字節、2字節、4字節和8字節有符號整數。Hive的浮點數據類型FLOATDOUBLE,對應于Java的基本類型FloatDouble類型。而HiveBOOLEAN類型相當于Java的基本數據類型Boolean。對于HiveString類型相當于數據庫的Varchar類型,該類型是一個可變的字符串,不過它不能聲明其中最多能存儲多少個字符,理論上它可以存儲2GB的字符數。

      l  復雜數據類型包括數組(ARRAY)、映射(MAP)和結構體(STRUCT),具體如下所示:

      clip_image012

      1.5 Hive與關系數據庫的區別

      由于Hive采用了SQL的查詢語言HQL,因此很容易將Hive理解為數據庫。其實從結構上來看,Hive和數據庫除了擁有類似的查詢語言,再無類似之處。數據庫可以用在Online的應用中,但是Hive是為數據倉庫而設計的,清楚這一點,有助于從應用角度理解Hive的特性。

          Hive和數據庫的比較如下表:

       

      Hive

      RDBMS

      查詢語言 

      HQL

      SQL

      數據存儲 

      HDFS

      Raw Device or Local FS

      數據格式

      用戶定義

      系統決定

      數據更新

      不支持

      支持

      索引 

      執行 

      MapReduce

      Executor

      執行延遲 

      處理數據規模 

      可擴展性

      2Hive搭建過程

      2.1 安裝MySql數據庫

      2.1.1 下載MySql安裝文件

      下載地址:http://dev.mysql.com/downloads/mysql/#downloads,使用系統為CentOS選擇 Red Hat Enterprise Linux/Oracle系列:

      clip_image014

      操作系統為64位,選擇對應安裝包進行下載:

      clip_image016

      clip_image018

      clip_image020

      下載在本地目錄如下圖:

      clip_image022

      2.1.2 上傳MySql安裝文件

      把下載的mysql安裝包,使用SSH Secure File Transfer工具(參見《Spark編譯與部署(上)--基礎環境搭建》1.3.1介紹)上傳到/home/hadoop/upload 目錄下,如下圖所示:

      clip_image024

      2.1.3 卸載舊的MySql

      (1)查找以前是否安裝有mysql

      使用命令查看是否已經安裝過mysql

      $rpm -qa | grep -i mysql

      可以看到如下圖的所示:

      clip_image026

      說明之前安裝了:

      MySQL-client-5.6.21-1.el6.x86_64

      MySQL-server-5.6.21-1.el6.x86_64

      MySQL-devel-5.6.21-1.el6.x86_64

      如果沒有結果,可以進行mysql數據庫安裝

      (2)停止mysql服務、刪除之前安裝的mysql

      停止mysql服務、刪除之前安裝的mysql刪除命令:rpm -e nodeps 包名

      $sudo rpm -ev MySQL-server-5.6.21-1.el6.x86_64

      $sudo rpm -ev MySQL-devel-5.6.21-1.el6.x86_64

      $sudo rpm -ev MySQL-client-5.6.21-1.el6.x86_64

      clip_image028

      如果存在CentOS自帶mysql-libs-5.1.71-1.el6.x86_64使用下面的命令卸載即可

      $sudo rpm -ev --nodeps mysql-libs-5.1.71-1.el6.x86_64

      clip_image030

      (3)查找之前老版本mysql的目錄并且刪除老版本mysql的文件和庫

      $sudo find / -name mysql

      clip_image032

      刪除對應的mysql目錄

      $sudo rm -rf /usr/lib64/mysql

      $sudo rm -rf /var/lib/mysql

      clip_image034

      (4)再次查找機器是否安裝mysql

      $sudo rpm -qa | grep -i mysql

      無結果,說明已經卸載徹底、接下來直接安裝mysql即可

      clip_image036

      2.1.4 安裝MySql

      進入安裝文件的目錄,安裝mysql服務端

      $cd /home/hadoop/upload

      $sudo rpm -ivh MySQL-server-5.6.21-1.el6.x86_64.rpm

      clip_image038

      安裝mysql客戶端、mysql-devel

      $sudo rpm -ivh MySQL-client-5.6.21-1.el6.x86_64.rpm

      $sudo rpm -ivh MySQL-devel-5.6.21-1.el6.x86_64.rpm

      clip_image040

      2.1.5 設置root密碼

      CentOS6.5下安裝mysql設置root密碼時,出現如下錯誤:

      clip_image042

      /usr/bin/mysqladmin: connect to server at 'localhost' failed

      error: 'Access denied for user 'root'@'localhost' (using password: NO)'

      可以進入安全模式進行設置root密碼

      (1)停止mysql服務

      使用如下命令停止mysql服務:

      $sudo service mysql stop

      $sudo service mysql status

      clip_image044

      (2)跳過驗證啟動mysql

      使用如下命令驗證啟動mysql,由于&結尾是后臺運行進程,運行該命令可以再打開命令窗口或者Ctr+C繼續進行下步操作,由于mysql啟動時間會長點,需要等待幾分鐘再查看啟動狀態:

      $sudo mysqld_safe --skip-grant-tables &

      $sudo service mysql status

      clip_image046

      (3)跳過驗證啟動MySQL

      驗證mysql服務已經在后臺運行后,執行如下語句,其中后面三條命令是在mysql語句:

      mysql -u root

      mysql>use mysql;

      mysql>update user set password = password('root') where user = 'root';

      mysql>flush privileges;

      mysql>quit;

      clip_image048

      (4)跳過驗證啟動MySQL

      重啟mysql服務并查看狀態

      $sudo service mysql stop

      $sudo service mysql start

      $sudo service mysql status

      clip_image050

      2.1.6 設置Hive用戶

      進入mysql命令行,創建Hive用戶并賦予所有權限:

      mysql -uroot -proot

      mysql>set password=password('root');

      mysql>create user 'hive' identified by 'hive';

      mysql>grant all on *.* TO 'hive'@'%' with grant option;

      mysql>flush privileges;

      mysql>quit;

      clip_image052

      (注意:如果是root第一次登錄數據庫,需要重新設置一下密碼,所報異常信息如下:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

      2.1.7 創建Hive數據庫

      使用hive用戶登錄,創建Hive數據庫:

      mysql -uhive -phive

      mysql>create database hive;

      mysql>show databases;

      clip_image054

      2.2 安裝Hive

      2.2.1 下載Hive安裝文件

      可以到Apache基金hive官網http://hive.apache.org/downloads.html,選擇鏡像下載地址:http://mirrors.cnnic.cn/apache/hive/下載一個穩定版本,這里選擇下載apache-hive-0.13.1-bin.tar.gz文件,如下圖所示:

      clip_image056

      2.2.2 下載MySql驅動

      mysql官網進入下載頁面:http://dev.mysql.com/downloads/connector/j/,默認情況下是Windows安裝包,這里需要選擇Platform Independent版本下載zip格式的文件

      clip_image058

      2.2.3 上傳Hive安裝文件和MySql驅動

      把下載的hive安裝包和mysql驅動包,使用SSH Secure File Transfer工具(參見《Spark編譯與部署(上)--基礎環境搭建》1.3.1介紹)上傳到/home/hadoop/upload 目錄下,如下圖所示:

      clip_image060

      2.2.4 解壓縮

      到上傳目錄下,用如下命令解壓縮hive安裝文件:

      cd /home/hadoop/upload

      tar -zxf hive-0.13.1-bin.tar.gz

      clip_image062

      改名并遷移到/app/hadoop目錄下:

      sudo mv apache-hive-0.13.1-bin /app/hadoop/hive-0.13.1

      ll /app/hadoop

      clip_image064

      2.2.5 MySql驅動放到Hivelib目錄下

      把下載的hive安裝包和mysql驅動包,使用

      cd /home/hadoop/upload

      cp mysql-connector-java-5.1.34-bin.jar /app/hadoop/hive-0.13.1/lib

      clip_image066

      2.2.6 配置/etc/profile環境變量

      使用如下命令打開/etc/profile文件:

      sudo vi /etc/profile

      clip_image068

      設置如下參數:

      export HIVE_HOME=/app/hadoop/hive-0.13.1

      export PATH=$PATH:$HIVE_HOME/bin

      export CLASSPATH=$CLASSPATH:$HIVE_HOME/bin

      clip_image070

      使配置文件生效:

      source /etc/profile

      clip_image072

      2.2.7 設置hive-env.sh配置文件

      進入hive-0.13.1/conf目錄,復制hive-env.sh.templaetehive-env.sh

      cd /app/hadoop/hive-0.13.1/conf

      cp hive-env.sh.template hive-env.sh

      ls

      clip_image074

      使用如下命令邊界配置文件

      sudo vi hive-env.sh

      分別設置HADOOP_HOMEHIVE_CONF_DIR兩個值:

      # Set HADOOP_HOME to point to a specific hadoop install directory

      export HADOOP_HOME=/app/hadoop/hadoop-2.2.0

       

      # Hive Configuration Directory can be controlled by:

      export HIVE_CONF_DIR=/app/hadoop/hive-0.13.1/conf

      clip_image076

      2.2.8 設置hive-site.xml配置文件

      復制hive-default.xml.templaetehive-site.xml

      cp hive-default.xml.template hive-site.xml

      sudo vi hive-site.xml

      clip_image078

      (1)加入配置項

      默認metastore在本地,添加配置改為非本地

      <property>

        <name>hive.metastore.local</name>

        <value>false</value>

      </property>

      clip_image080

      (2)修改配置項

      hive默認為derby數據庫,derby數據只運行單個用戶進行連接,這里需要調整為mysql數據庫

      <property>

        <name>hive.metastore.uris</name>

        <value>thrift://hadoop1:9083</value>

        <description>Thrift URI for the remote metastore. ...</description>

      </property>

      <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://hadoop1:3306/hive?=createDatabaseIfNotExist=true</value>

        <description>JDBC connect string for a JDBC metastore</description>

      </property>

      <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

        <description>Driver class name for a JDBC metastore</description>

      </property>

      .......

      <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>hive</value>

        <description>username to use against metastore database</description>

      </property>

      <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>hive</value>

        <description>password to use against metastore database</description>

      </property>

      clip_image082

      clip_image084

      hive.metastore.schema.verification配置項值修改為false

      <property>

        <name>hive.metastore.schema.verification</name>

        <value>false</value>

         <desc....>

      </property>

      clip_image086

      2.3 啟動并驗證Hive

      2.3.1 啟動Hive

      實際使用時,一般通過后臺啟動metastorehiveserver實現服務,命令如下:

      hive --service metastore &

      hive --service hiveserver &

      clip_image088

      啟動用通過jps命令可以看到兩個進行運行在后臺

      clip_image090

      2.3.2 Hive中操作

      登錄hive,在hive創建表并查看該表,命令如下:

      hive

      hive>create table test(a string, b int);

      hive>show tables;

      hive>desc test;

      clip_image092

      登錄mysql,在TBLS表中查看新增test表:

      mysql -uhive -phive

      mysql>use hive;

      mysql>select TBL_ID, CREATE_TIME, DB_ID, OWNER, TBL_NAME,TBL_TYPE from TBLS;

      clip_image094

      3問題解決

      3.1 設置MySql數據庫root用戶密碼報錯

      CentOS6.5下安裝mysql設置root密碼時,出現如下錯誤:

      clip_image042[1]

      /usr/bin/mysqladmin: connect to server at 'localhost' failed

      error: 'Access denied for user 'root'@'localhost' (using password: NO)'

      (1)停止mysql服務

      使用如下命令停止mysql服務:

      sudo service mysql stop

      sudo service mysql status

      clip_image044[1]

      (2)跳過驗證啟動mysql

      使用如下命令驗證啟動mysql,由于&結尾是后臺運行進程,運行該命令可以再打開命令窗口或者Ctr+C繼續進行下步操作:

      mysqld_safe --skip-grant-tables &

      sudo service mysql status

      clip_image046[1]

      (3)跳過驗證啟動MySQL

      驗證mysql服務已經在后臺運行后,執行如下語句,其中后面三條命令是在mysql語句:

      mysql -u root

      mysql>use mysql;

      mysql>update user set password = password('root') where user = 'root';

      mysql>flush privileges;

      clip_image048[1]

      (4)跳過驗證啟動MySQL

      重啟mysql服務并查看狀態

      sudo service mysql stop

      sudo service mysql start

      sudo service mysql status

      clip_image050[1]

      3.2 Hive啟動,報CommandNeedRetryException異常

      啟動Hive時,出現CommandNeedRetryException異常,具體信息如下:

      clip_image096

      Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/hadoop/hive/ql/CommandNeedRetryException

              at java.lang.Class.forName0(Native Method)

              at java.lang.Class.forName(Class.java:270)

              at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

      Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.CommandNeedRetryException

              at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

              at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

              at java.security.AccessController.doPrivileged(Native Method)

              at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

      由于以前使用hadoop時,修改hadoop-env.shHADOOP_CLASSPATH配置項,由以前的:

      export HADOOP_CLASSPATH=/usr/local/hadoop-1.1.2/myclass

      修改為:

      export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/local/hadoop-1.1.2/myclass

      clip_image098

       

      clip_image100

      3.3 Hive中使用操作語言

      啟動Hive后,使用HSQL出現異常,需要啟動metastorehiveserver

      clip_image102

      FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

      在使用hive之前需要啟動metastorehiveserver服務,通過如下命令啟用:

      hive --service metastore &

      hive --service hiveserver &

      clip_image104

      啟動用通過jps命令可以看到兩個進行運行在后臺

      clip_image106

       

      參考資料:

      (1)Hive體系結構》 http://blog.csdn.net/zhoudaxia/article/details/8855937

      (2)《大數據時代的技術hivehive的數據類型和數據模型》http://www.rzrgm.cn/sharpxiajun/archive/2013/06/03/3114560.html

      posted @ 2015-08-20 08:56  shishanyuan  閱讀(14786)  評論(12)    收藏  舉報
      主站蜘蛛池模板: 人妻夜夜爽天天爽| 国产精品大全中文字幕| 枣庄市| 人妻av中文字幕无码专区| 男人j进入女人j内部免费网站| 亚洲精品岛国片在线观看| 亚洲av永久无码精品漫画| 国产乱码精品一区二三区| 成人性无码专区免费视频| 中文字幕国产日韩精品| 永久免费观看美女裸体的网站| 男女性高爱潮免费网站| 国产成人无码一区二区三区| 日本三线免费视频观看| 熟妇人妻激情偷爽文| 国产目拍亚洲精品区一区| 国产一区在线播放av| 国产99青青成人A在线| 国产一区二区三区内射高清| 一本大道久久a久久综合| 日本道播放一区二区三区| h动态图男女啪啪27报gif| av在线播放无码线| 少妇粗大进出白浆嘿嘿视频| 国产精品无码a∨麻豆| 高清无码18| 亚洲成a人片在线视频| 国产高清无遮挡内容丰富| 日日猛噜噜狠狠扒开双腿小说| 国产精品疯狂输出jk草莓视频| 中文精品无码中文字幕无码专区| 免费人妻无码不卡中文18禁| 久久国产精品成人影院| 亚洲综合色网一区二区三区| 亚洲成年av天堂动漫网站| 亚洲午夜激情久久加勒比| 久久精品国产中文字幕| 欧美国产日产一区二区| 久久精品国产最新地址| 亚洲av无码国产在丝袜线观看| 国产亚洲欧美精品久久久|