精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Windows10系統下Hadoop和Hive開發環境搭建填坑指南

大數據 Hadoop
筆者目前需要搭建數據平臺,發現了Windows系統下,Hadoop和Hive等組件的安裝和運行存在大量的坑,而本著有坑必填的目標,筆者還是花了幾個晚上的下班時候在多個互聯網參考資料的幫助下完成了Windows10系統下Hadoop和Hive開發環境的搭建。這篇文章記錄了整個搭建過程中的具體步驟、遇到的問題和對應的解決方案。

[[350069]]

本文轉載自微信公眾號「 Throwable」,作者 Throwable 。轉載本文請聯系 Throwable公眾號。

前提

筆者目前需要搭建數據平臺,發現了Windows系統下,Hadoop和Hive等組件的安裝和運行存在大量的坑,而本著有坑必填的目標,筆者還是花了幾個晚上的下班時候在多個互聯網參考資料的幫助下完成了Windows10系統下Hadoop和Hive開發環境的搭建。這篇文章記錄了整個搭建過程中的具體步驟、遇到的問題和對應的解決方案。

環境準備

基于筆者的軟件版本潔癖,所有選用的組件都會使用當前(2020-10-30)最高的版本。

軟件 版本 備注
Windows 10 操作系統
JDK 8 暫時不要選用大于等于JDK9的版本,因為啟動虛擬機會發生未知異常
MySQL 8.x 用于管理Hive的元數據
Apache Hadoop 3.3.0 -
Apache Hive 3.1.2 -
Apache Hive src 1.2.2 因為只有1.x版本的Hive源碼提供了.bat啟動腳本,有能力可以自己寫腳本就不用下此源碼包
winutils hadoop-3.3.0 HadoopWindows系統下的啟動依賴

下面列舉部分組件對應的下載地址:

  • Apache Hadoop 3.3.0:https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
  • Apache Hive 3.1.2:https://mirrors.bfsu.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  • Apache Hive 1.2.2 src:https://mirrors.bfsu.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-src.tar.gz
  • winutils:https://github.com/kontext-tech/winutils(如果下載速度慢,可以先把倉庫導入gitee.com再下載,或者用筆者已經同步好的倉庫https://gitee.com/throwableDoge/winutils)

下載完這一些列軟件之后,MySQL正常安裝為系統服務隨系統自啟。解壓hadoop-3.3.0.tar.gz、apache-hive-3.1.2-bin.tar.gz、apache-hive-1.2.2-src.tar.gz和winutils到指定目錄:

 

接著把源碼包apache-hive-1.2.2-src.tar.gz解壓后的bin目錄下的文件拷貝到apache-hive-3.1.2-bin的bin目錄中:

 

然后把winutils中的hadoop-3.3.0\bin目錄下的hadoop.dll和winutils.exe文件拷貝到Hadoop的解壓目錄的bin文件夾下:

 

最后再配置一下JAVA_HOME和HADOOP_HOME兩個環境變量,并且在Path中添加%JAVA_HOME%\bin;和%HADOOP_HOME%\bin:

筆者本地安裝的JDK版本為1.8.0.212,理論上任意一個小版本的JDK8都可以。

接著用命令行測試一下,如果上述步驟沒問題,控制臺輸出如下:

 

配置和啟動Hadoop

在HADOOP_HOME的etc\hadoop子目錄下,找到并且修改下面的幾個配置文件:

「core-site.xml」(這里的tmp目錄一定要配置一個非虛擬目錄,別用默認的tmp目錄,否則后面會遇到權限分配失敗的問題)

  1. <configuration> 
  2.     <property> 
  3.         <name>fs.defaultFS</name
  4.         <value>hdfs://localhost:9000</value> 
  5.     </property>   
  6.     <property> 
  7.         <name>hadoop.tmp.dir</name
  8.         <value>/e:/LittleData/hadoop-3.3.0/data/tmp</value> 
  9.     </property>   
  10. </configuration> 

「hdfs-site.xml」(這里要預先創建nameNode和dataNode的數據存放目錄,注意一下每個目錄要以/開頭,筆者這里預先在HADOOP_HOME/data創建了nameNode和dataNode子目錄)

  1. <configuration> 
  2.     <property> 
  3.         <name>dfs.replication</name
  4.         <value>1</value> 
  5.     </property> 
  6.     <property> 
  7.         <name>dfs.http.address</name
  8.         <value>0.0.0.0:50070</value> 
  9.     </property> 
  10.     <property>     
  11.         <name>dfs.namenode.name.dir</name>     
  12.         <value>/e:/LittleData/hadoop-3.3.0/data/nameNode</value>     
  13.     </property>     
  14.     <property>     
  15.         <name>dfs.datanode.data.dir</name>     
  16.         <value>/e:/LittleData/hadoop-3.3.0/data/dataNode</value>   
  17.     </property> 
  18.     <property> 
  19.         <name>dfs.permissions.enabled</name
  20.         <value>false</value> 
  21.     </property> 
  22. </configuration> 

「mapred-site.xml」

  1. <configuration> 
  2.     <property> 
  3.         <name>mapreduce.framework.name</name
  4.         <value>yarn</value> 
  5.     </property> 
  6. </configuration> 

「yarn-site.xml」

  1. <configuration> 
  2.     <property> 
  3.         <name>yarn.nodemanager.aux-services</name
  4.         <value>mapreduce_shuffle</value> 
  5.     </property> 
  6.     <property> 
  7.         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name
  8.         <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
  9.     </property> 
  10. </configuration> 

至此,最小化配置基本完成。接著需要格式化namenode并且啟動Hadoop服務。切換至$HADOOP_HOME/bin目錄下,使用CMD輸入命令hdfs namenode -format(格式化namenode切記不要重復執行):

 

格式化namenode完畢后,切換至$HADOOP_HOME/sbin目錄下,執行start-all.cmd腳本:

 

這里命令行會提示start-all.cmd腳本已經過期,建議使用start-dfs.cmd和start-yarn.cmd替代。同理,如果執行stop-all.cmd也會有類似的提示,可以使用stop-dfs.cmd和stop-yarn.cmd替代。start-all.cmd成功執行后,會拉起四個JVM實例(見上圖中的Shell窗口自動新建了四個Tab),此時可以通過jps查看當前的JVM實例:

  1. λ jps 
  2. 19408 ResourceManager 
  3. 16324 NodeManager 
  4. 14792 Jps 
  5. 15004 NameNode 
  6. 2252 DataNode 

可見已經啟動了ResourceManager、NodeManager、NameNode和DataNode四個應用,至此Hadoop的單機版已經啟動成功。通過stop-all.cmd命令退出這四個進程??梢酝ㄟ^http://localhost:8088/查看調度任務的狀態:

 

通過http://localhost:50070/去查看HDFS的狀態和文件:

 

重啟Hadoop的辦法:先執行stop-all.cmd腳本,再執行start-all.cmd腳本。

配置和啟動Hive

Hive是構筑于HDFS上的,所以務必確保Hadoop已經啟動。Hive在HDFS中默認的文件路徑前綴是/user/hive/warehouse,因此可以先通過命令行在HDFS中創建此文件夾:

  1. hdfs dfs -mkdir /user/hive/warehouse 
  2. hdfs dfs -chmod -R 777 /user/hive/warehouse 

同時需要通過下面的命令創建并為tmp目錄賦予權限:

  1. hdfs dfs -mkdir /tmp 
  2. hdfs dfs -chmod -R 777 /tmp 

在系統變量中添加HIVE_HOME,具體的值配置為E:\LittleData\apache-hive-3.1.2-bin,同時在Path變量添加%HIVE_HOME%\bin;,跟之前配置HADOOP_HOME差不多。下載和拷貝一個mysql-connector-java-8.0.x.jar到$HIVE_HOME/lib目錄下:

 

創建Hive的配置文件,在$HIVE_HOME/conf目錄下已經有對應的配置文件模板,需要拷貝和重命名,具體如下:

  • $HIVE_HOME/conf/hive-default.xml.template => $HIVE_HOME/conf/hive-site.xml
  • $HIVE_HOME/conf/hive-env.sh.template => $HIVE_HOME/conf/hive-env.sh
  • $HIVE_HOME/conf/hive-exec-log4j.properties.template => $HIVE_HOME/conf/hive-exec-log4j.properties
  • $HIVE_HOME/conf/hive-log4j.properties.template => $HIVE_HOME/conf/hive-log4j.properties

 

修改hive-env.sh腳本,在尾部添加下面內容:

  1. export HADOOP_HOME=E:\LittleData\hadoop-3.3.0 
  2. export HIVE_CONF_DIR=E:\LittleData\apache-hive-3.1.2-bin\conf 
  3. export HIVE_AUX_JARS_PATH=E:\LittleData\apache-hive-3.1.2-bin\lib 

修改hive-site.xml文件,主要修改下面的屬性項:

屬性名 屬性值 備注
hive.metastore.warehouse.dir /user/hive/warehouse Hive的數據存儲目錄,這個是默認值
hive.exec.scratchdir /tmp/hive Hive的臨時數據目錄,這個是默認值
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8&amp;serverTimezone=UTC Hive元數據存放的數據庫連接
javax.jdo.option.ConnectionDriverName com.mysql.cj.jdbc.Driver Hive元數據存放的數據庫驅動
javax.jdo.option.ConnectionUserName root Hive元數據存放的數據庫用戶
javax.jdo.option.ConnectionPassword root Hive元數據存放的數據庫密碼
hive.exec.local.scratchdir E:/LittleData/apache-hive-3.1.2-bin/data/scratchDir 創建本地目錄$HIVE_HOME/data/scratchDir
hive.downloaded.resources.dir E:/LittleData/apache-hive-3.1.2-bin/data/resourcesDir 創建本地目錄$HIVE_HOME/data/resourcesDir
hive.querylog.location E:/LittleData/apache-hive-3.1.2-bin/data/querylogDir 創建本地目錄$HIVE_HOME/data/querylogDir
hive.server2.logging.operation.log.location E:/LittleData/apache-hive-3.1.2-bin/data/operationDir 創建本地目錄$HIVE_HOME/data/operationDir
datanucleus.autoCreateSchema true 可選
datanucleus.autoCreateTables true 可選
datanucleus.autoCreateColumns true 可選
hive.metastore.schema.verification false 可選

修改完畢之后,在本地的MySQL服務新建一個數據庫hive,編碼和字符集可以選用范圍比較大的utf8mb4(雖然官方建議是latin1,但是字符集往大范圍選沒有影響):

 

上面的準備工作做完之后,可以進行Hive的元數據庫初始化,在$HIVE_HOME/bin目錄下執行下面的腳本:

  1. hive --service schematool -dbType mysql -initSchema 

這里有個小坑,hive-site.xml文件的第3215行有個神奇的無法識別的符號:

 

此無法識別符號會導致Hive的命令執行異常,需要去掉。當控制臺輸出Initialization script completed schemaTool completed的時候,說明元數據庫已經初始化完畢:

 

在$HIVE_HOME/bin目錄下,通過hive.cmd可以連接Hive(關閉控制臺即可退出):

  1. > hive.cmd 

嘗試創建一個表t_test:

  1. hive>  create table t_test(id INT,name string); 
  2. hive>  show tables; 

查看http://localhost:50070/確認t_test表已經創建成功。

 

嘗試執行一個寫入語句和查詢語句:

  1. hive>  insert into t_test(id,namevalues(1,'throwx'); 
  2. hive>  select * from t_test; 

 

寫用了30多秒,讀用了0.165秒。

使用JDBC連接Hive

HiveServer2是Hive服務端接口模塊,必須啟動此模塊,遠程客戶端才能對Hive進行數據寫入和查詢。目前,此模塊還是基于Thrift RPC實現,它是HiveServer的改進版,支持多客戶端接入和身份驗證等功能。配置文件hive-site.xml中可以修改下面幾個關于HiveServer2的常用屬性:

屬性名 屬性值 備注
hive.server2.thrift.min.worker.threads 5 最小工作線程數,默認值為5
hive.server2.thrift.max.worker.threads 500 最大工作線程數,默認值為500
hive.server2.thrift.port 10000 偵聽的TCP端口號,默認值為10000
hive.server2.thrift.bind.host 127.0.0.1 綁定的主機,默認值為127.0.0.1
hive.execution.engine mr 執行引擎,默認值為mr

在$HIVE_HOME/bin目錄下執行下面的命令可以啟動HiveServer2:

  1. hive.cmd --service hiveserver2 

客戶端需要引入hadoop-common和hive-jdbc依賴,依賴的版本盡量和對接的Hadoop和Hive版本對應。

  1. <dependency> 
  2.     <groupId>org.apache.hadoop</groupId> 
  3.     <artifactId>hadoop-common</artifactId> 
  4.     <version>3.3.0</version> 
  5. </dependency> 
  6. <dependency> 
  7.     <groupId>org.apache.hive</groupId> 
  8.     <artifactId>hive-jdbc</artifactId> 
  9.     <version>3.1.2</version> 
  10. </dependency> 
  11. <dependency> 
  12.     <groupId>org.springframework.boot</groupId> 
  13.     <artifactId>spring-boot-starter-jdbc</artifactId> 
  14.     <version>2.3.5.RELEASE</version> 
  15. </dependency> 

hadoop-common依賴鏈比較長,會連帶下載大量其他相關依賴,所以可以找個空閑時間在某個Maven項目先掛起該依賴下載的任務(筆者掛起此依賴下載任務洗完澡仍然沒下完,還會出現org.glassfish:javax.el的快照包無法下載的問題,不過不影響正常使用)。最后添加一個單元測試類HiveJdbcTest:

  1. @Slf4j 
  2. public class HiveJdbcTest { 
  3.  
  4.     private static JdbcTemplate TEMPLATE; 
  5.     private static HikariDataSource DS; 
  6.  
  7.     @BeforeClass 
  8.     public static void beforeClass() throws Exception { 
  9.         HikariConfig config = new HikariConfig(); 
  10.         config.setDriverClassName("org.apache.hive.jdbc.HiveDriver"); 
  11.         // 這里筆者修改過hive-site.xml的對應配置,因為端口不是默認的10000 
  12. //        config.setJdbcUrl("jdbc:hive2://127.0.0.1:10091"); 
  13.         config.setJdbcUrl("jdbc:hive2://127.0.0.1:10091/db_test"); 
  14.         DS = new HikariDataSource(config); 
  15.         TEMPLATE = new JdbcTemplate(DS); 
  16.     } 
  17.  
  18.     @AfterClass 
  19.     public static void afterClass() throws Exception { 
  20.         DS.close(); 
  21.     } 
  22.  
  23.     @Test 
  24.     public void testCreateDb() throws Exception { 
  25.         TEMPLATE.execute("CREATE DATABASE db_test"); 
  26.     } 
  27.  
  28.     @Test 
  29.     public void testCreateTable() throws Exception { 
  30.         TEMPLATE.execute("CREATE TABLE IF NOT EXISTS t_student(id INT,name string,major string)"); 
  31.         log.info("創建t_student表成功"); 
  32.     } 
  33.  
  34.     @Test 
  35.     public void testInsert() throws Exception { 
  36.         int update = TEMPLATE.update("INSERT INTO TABLE t_student(id,name,major) VALUES(?,?,?)", p -> { 
  37.             p.setInt(1, 10087); 
  38.             p.setString(2, "throwable"); 
  39.             p.setString(3, "math"); 
  40.         }); 
  41.         log.info("寫入t_student成功,更新記錄數:{}"update);  // 這里比較神奇,數據寫入了,返回的update數量為0 
  42.     } 
  43.  
  44.     @Test 
  45.     public void testSelect() throws Exception { 
  46.         List<Student> result = TEMPLATE.query("SELECT * FROM t_student", rs -> { 
  47.             List<Student> list = new ArrayList<>(); 
  48.             while (rs.next()) { 
  49.                 Student student = new Student(); 
  50.                 student.setId(rs.getLong("id")); 
  51.                 student.setName(rs.getString("name")); 
  52.                 student.setMajor(rs.getString("major")); 
  53.                 list.add(student); 
  54.             } 
  55.             return list; 
  56.         }); 
  57.         // 打印日志:查詢t_student成功,結果:[HiveJdbcTest.Student(id=10087, name=throwable, major=math)] 
  58.         log.info("查詢t_student成功,結果:{}", result); 
  59.     } 
  60.  
  61.     @Data 
  62.     private static class Student { 
  63.  
  64.         private Long id; 
  65.         private String name
  66.         private String major; 
  67.     } 

可能遇到的問題

下面小結一下可能遇到的問題。

Java虛擬機啟動失敗

目前定位到是Hadoop無法使用JDK[9+的任意版本JDK,建議切換為任意JDK8的小版本。

出現找不到Hadoop執行文件異常

確保已經把winutils中的hadoop-3.3.0\bin目錄下的hadoop.dll和winutils.exe文件拷貝到Hadoop的解壓目錄的bin文件夾中。

start-all.cmd腳本執行時有可能出現找不到批處理腳本的異常。此問題在公司的開發機出現過,在家用的開發機沒有重現,具體解決方案是在start-all.cmd腳本的首行加入cd $HADOOP_HOME,如cd E:\LittleData\hadoop-3.3.0。

無法訪問localhost:50070

一般是因為hdfs-site.xml配置遺漏了dfs.http.address配置項,添加:

  1. <property> 
  2.     <name>dfs.http.address</name
  3.     <value>0.0.0.0:50070</value> 
  4. </property> 

然后調用stop-all.cmd,再調用start-all.cmd重啟Hadoop即可。

Hive連接MySQL異常

注意MySQL的驅動包是否已經正確拷貝到$HIVE_HOME/lib下,并且檢查javax.jdo.option.ConnectionURL等四個屬性是否配置正確。如果都正確,注意是否MySQL的版本存在問題,或者服務的版本與驅動版本不匹配。

Hive找不到批處理文件

一般描述是'xxx.cmd' is not recognized as an internal or external command...,一般是Hive的命令執行時的異常,需要把Hive 1.x的源碼包的bin目錄下的所有.cmd腳本拷貝到$HIVE_HOME/bin對應的目錄下。

文件夾權限問題

常見如CreateSymbolicLink異常,會導致Hive無法使用INSERT或者LOAD命令寫入數據。出現這類問題可以通過下面方式解決:

  • Win + R然后運行gpedit.msc - 計算機設置 - Windows設置 — 安全設置 - 本地策略 - 用戶權限分配 - 創建符號鏈接 - 添加當前用戶。

 

或者「直接使用管理員賬號或者管理員權限啟動CMD」,然后執行對應的腳本啟動Hadoop或者Hive。

SessionNotRunning異常

啟動HiveServer2中或者外部客戶端連接HiveServer2時候有可能出現此異常,具體是java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration的異常。解決方案是:配置文件hive-site.xml中的hive.execution.engine屬性值由tez修改為mr,然后重啟HiveServer2即可。因為沒有集成tez,重啟后依然會報錯,但是60000ms后會自動重試啟動(一般重試后會啟動成功):

 

這算是一個遺留問題,但是不影響客戶端正常連接,只是啟動時間會多了60秒。

HiveServer2端口沖突

修改配置文件hive-site.xml中的hive.server2.thrift.port屬性值為未被占用的端口,重啟HiveServer2即可。

數據節點安全模式異常

一般是出現SafeModeException異常,提示Safe mode is ON。通過命令hdfs dfsadmin -safemode leave解除安全模式即可。

AuthorizationException

常見的是Hive通過JDBC客戶端連接HiveServer2服務時候會出現這個異常,具體是信息是:User: xxx is not allowed to impersonate anonymous。這種情況只需要修改Hadoop的配置文件core-site.xml,添加:

  1. <property> 
  2.     <name>hadoop.proxyuser.xxx.hosts</name
  3.     <value>*</value> 
  4. </property> 
  5. <property> 
  6.     <name>hadoop.proxyuser.xxx.groups</name
  7.     <value>*</value> 
  8. </property> 

這里的xxx是指報錯時候具體的系統用戶名,例如筆者開發機的系統用戶名為doge

然后重啟Hadoop服務即可。

MapRedTask的權限問題

常見的是Hive通過JDBC客戶端連接HiveServer2服務執行INSERT或者LOAD操作時候拋出的異常,一般描述是Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=anonymous, access=EXECUTE, inode="/tmp/hadoop-yarn":xxxx:supergroup:drwx------。通過命令hdfs dfs -chmod -R 777 /tmp賦予匿名用戶/tmp目錄的讀寫權限即可。

小結沒什么事最好還是直接在Linux或者Unix系統中搭建Hadoop和Hive的開發環境比較合理,Windows系統的文件路徑和權限問題會導致很多意想不到的問題。本文參考了大量互聯網資料和Hadoop和Hive的入門書籍,這里就不一一貼出,站在巨人的肩膀上。

 

(本文完 c-4-d e-a-20201102)

 

責任編輯:武曉燕 來源: Throwable
相關推薦

2018-03-02 16:30:30

2011-09-14 15:33:33

Android 2.2

2021-02-03 15:29:32

Windows10操作系統office

2017-03-02 13:32:36

Android開發開發者

2024-06-04 22:20:02

2010-04-03 11:30:15

Widget開發

2010-06-04 14:28:01

Hadoop開發環境

2019-07-22 11:40:00

WindowsWindows10Windows 7

2009-06-10 16:30:05

基于Eclipse的PWindows

2024-10-09 08:09:11

2010-09-14 09:24:29

C語言

2020-12-03 07:28:25

Windows10

2021-01-03 10:20:55

Windows10操作系統Windows Pho

2010-06-04 14:12:57

Hadoop開發環境

2021-07-27 11:54:51

windows系統OpenHarmony

2011-06-07 11:35:38

Windows Pho

2013-07-31 12:50:39

搭建Windows PWindows Pho

2021-10-29 15:50:52

鴻蒙HarmonyOS應用

2020-12-22 06:01:54

Windows10操作系統21H2

2020-12-29 05:35:33

Windows10操作系統微軟
點贊
收藏

51CTO技術棧公眾號

av一本久道久久综合久久鬼色| 国产精品片aa在线观看| 一区二区三区欧美久久| 97碰碰视频| 黄网在线观看视频| 成人三级视频| 精品国产成人在线影院 | 91精品天堂福利在线观看| 日韩午夜中文字幕| 日本黄网站免费| 超碰porn在线| 久久久久久久久久久电影| 成人免费自拍视频| 黄色在线免费观看| 久久久全国免费视频| 中文字幕av一区二区三区佐山爱| 国产精品的网站| 波多野结衣精品久久| 亚洲国产精品无码久久久| 国产精品久久久久久麻豆一区软件 | 日韩一级片大全| 黄色免费大全亚洲| 欧美欧美午夜aⅴ在线观看| 国产传媒久久久| 高清美女视频一区| 成人免费毛片app| 国产精品视频xxxx| 99精品人妻国产毛片| 午夜亚洲福利| 久久精品99久久久香蕉| 菠萝菠萝蜜网站| 麻豆视频久久| 欧美日韩成人高清| 国产成人手机视频| 伊人网在线播放| 亚洲国产另类av| 一区二区三区四区久久| h视频网站在线观看| 成人久久视频在线观看| 亚洲一区二区在线播放| 中文字幕av久久爽| 久久精品一本| 欧美人与性动交| 五月天婷婷色综合| 午夜影院欧美| 久久精品亚洲94久久精品| www..com.cn蕾丝视频在线观看免费版| 国产成人精品福利| 亚洲爱爱爱爱爱| 无码人妻久久一区二区三区蜜桃| 亚洲精品第一| 欧美精品1区2区| 中文字幕国产高清| 精品久久在线| 欧美怡红院视频| 992kp快乐看片永久免费网址| 亚洲午夜天堂| 色婷婷av一区二区三区gif | 日韩av高清在线观看| 国产a级全部精品| 中文字幕永久在线| 奇米一区二区三区| 国产欧美在线视频| 国产原创中文av| 国模无码大尺度一区二区三区| 91精品久久久久久久久久久| 国产影视一区二区| 国产精品99久久久久久有的能看| 91色视频在线导航| 成人无码一区二区三区| 成人18精品视频| 久久精品99久久| 日本又骚又刺激的视频在线观看| 久久噜噜亚洲综合| 91九色成人| 播放一区二区| 在线观看不卡视频| 色婷婷综合网站| 国产精品系列视频| 韩国视频一区二区| 国产a一区二区| 手机福利小视频在线播放| 香蕉亚洲视频| 国产精品 欧美在线| 岳乳丰满一区二区三区| 国产精品综合二区| 激情视频一区二区| 91网页在线观看| 亚洲黄色av一区| 国产精品沙发午睡系列| 久久爱.com| 精品国精品国产| 免费看污片的网站| 女同性一区二区三区人了人一| 久久久亚洲欧洲日产国码aⅴ| 国产区一区二区三| 男人的天堂久久精品| 亚洲一区二区久久久久久 | 欧美成人a视频| 欧美一区二区三区成人精品| 久久精品播放| 97香蕉超级碰碰久久免费软件 | 黄色精品视频在线观看| 悠悠资源网久久精品| 国产精品久久久久久久久久免费| 国产av精国产传媒| 国产夜色精品一区二区av| 成人在线免费观看视频网站| 国产精品久久久久av电视剧| 日韩一区二区麻豆国产| 国产高潮呻吟久久| 亚洲激情专区| 91免费观看网站| 国产精品免费观看| 亚洲成a人片在线不卡一二三区| 久久午夜夜伦鲁鲁一区二区| 风间由美中文字幕在线看视频国产欧美 | 5252色成人免费视频| 91片黄在线观看喷潮| 91麻豆精品一区二区三区| 狠狠干视频网站| 国产精品.xx视频.xxtv| 精品视频久久久久久| 1024手机在线视频| 蜜桃免费网站一区二区三区| 精品无人区一区二区三区竹菊 | 亚洲丝袜精品丝袜在线| 国语对白做受xxxxx在线中国| 一区二区三区四区精品视频 | 欧美性生交大片| 美女网站久久| 精品麻豆av| 日本大片在线播放| 欧美一区二区三区在线看| 无码少妇精品一区二区免费动态| 国产婷婷精品| 国语精品中文字幕| 免费在线观看av电影| 欧美电影在线免费观看| 特黄一区二区三区| 日韩专区欧美专区| 日本一区精品| 婷婷六月国产精品久久不卡| 日韩精品极品视频免费观看| 日本三级视频在线| jizz一区二区| 日韩少妇内射免费播放18禁裸乳| 视频一区日韩精品| 久久网福利资源网站| 国产又粗又猛又黄又爽| 国产精品福利影院| 91av视频免费观看| 91精品国产91久久久久久黑人| 国产日本欧美视频| 黄色一级大片在线免费看产| 欧美剧情片在线观看| 制服丨自拍丨欧美丨动漫丨| 久久精品国产免费| 中国 免费 av| 99ri日韩精品视频| 久久久免费观看视频| 可以免费观看的毛片| 午夜视频在线观看一区二区 | 久久999免费视频| 亚洲欧美另类视频| 精品成人av一区| 18禁裸乳无遮挡啪啪无码免费| 亚洲综合好骚| 午夜精品一区二区三区四区| 中文成人在线| 欧美黄网免费在线观看| 姝姝窝人体www聚色窝| 欧美日韩在线一区| 久久久久久成人网| 国产一区二区在线观看视频| 91在线播放视频| 免费男女羞羞的视频网站在线观看| 亚洲成人黄色网| 日本熟女毛茸茸| 国产精品麻豆网站| 欧美69精品久久久久久不卡| 99国产精品视频免费观看一公开| 欧美一区二区高清在线观看| 日韩综合久久| 韩国v欧美v日本v亚洲| 国产中文字幕在线| 欧美一级理论性理论a| 可以免费看的av毛片| 中文一区在线播放| 国产综合内射日韩久| 日韩一区精品字幕| 成年人视频网站免费| 深夜福利久久| 91久久国产综合久久蜜月精品| 国产一二三在线| 久久九九免费视频| 天堂а√在线8种子蜜桃视频 | 欧美丰满少妇xxxxx| 美州a亚洲一视本频v色道| 91精品久久久久久久91蜜桃| 欧美三日本三级少妇99| 欧美激情中文不卡| 中文字幕天堂网| 蜜桃在线一区二区三区| 国产精品国产亚洲精品看不卡| 日韩久久电影| 九九九久久久| 亚洲福利合集| 国产欧美日韩中文字幕| 欧美调教sm| 九九热精品视频| av资源网在线观看| 精品无码久久久久久国产| a天堂视频在线| 欧美影院一区二区| 亚洲婷婷综合网| 亚洲国产精品欧美一二99| 亚洲精品自拍视频在线观看| 久久免费偷拍视频| 国产精品入口麻豆| 粉嫩一区二区三区性色av| 国产又猛又黄的视频| 国产精品久久国产愉拍| 精品人妻人人做人人爽| 久久久久国产精品| 亚洲人成人77777线观看| 亚洲国产网址| 精品久久久久久一区| 999久久久精品一区二区| 亚洲综合第一页| 亚洲福利影视| 国产日韩在线看| 成人精品国产| 日韩av电影手机在线| 蜜桃视频在线观看免费视频| 久久久久久高潮国产精品视| 成人ww免费完整版在线观看| 日日噜噜噜夜夜爽亚洲精品 | 国产精品理论在线观看| 一区二区三区伦理片| www一区二区| 天天插天天射天天干| 成人免费va视频| 在线免费看黄色片| 丁香桃色午夜亚洲一区二区三区| 欧美日韩一区二区区别是什么| 精品一区二区免费在线观看| 97超碰成人在线| 国产一区激情在线| 第一页在线视频| 成人一区在线看| 欧美极品jizzhd欧美仙踪林| 国产成+人+日韩+欧美+亚洲| 亚洲911精品成人18网站| 国产大陆精品国产| 激情av中文字幕| av资源网一区| 国产麻豆xxxvideo实拍| 91一区一区三区| 四虎国产精品成人免费入口| 国产日韩欧美不卡在线| 青青青视频在线播放| 专区另类欧美日韩| 久久久久久久久毛片| 夜夜爽夜夜爽精品视频| 国产特黄大片aaaa毛片| 欧美日韩亚洲网| 老熟妇一区二区三区啪啪| 欧美日韩国产高清一区二区三区| 国产精品无码白浆高潮| 欧美成人video| 青青草免费观看免费视频在线| 国产亚洲一区二区在线| 毛片在线视频| 97国产精品视频| 三级成人在线| 2020国产精品久久精品不卡| 国产精品传媒| 五月婷婷综合色| 国产精品videosex极品| 无码人妻丰满熟妇区毛片18| 麻豆精品国产91久久久久久| 樱花草www在线| 91在线看国产| 国产白丝一区二区三区| 亚洲午夜在线电影| 波多野结衣视频在线观看| 制服视频三区第一页精品| 日本加勒比一区| 伊人久久男人天堂| 欧美wwww| 国产精品流白浆视频| **爰片久久毛片| 亚洲欧美日韩在线综合 | 欧美成a人免费观看久久| 日本视频一区二区在线观看| 欧美一区二区三区久久精品| 精品人妻一区二区三区四区在线| 久久精品国产网站| 懂色av粉嫩av蜜乳av| 亚洲日本乱码在线观看| 国偷自拍第113页| 日韩免费一区二区三区在线播放| 欧美日韩视频精品二区| 欧美成人全部免费| 成人黄色图片网站| 狠狠久久综合婷婷不卡| 在线一区电影| 日韩中文字幕组| 成人av手机在线观看| 99成人在线观看| 91精品福利视频| 四虎免费在线观看| 欧美成人在线免费| 国产精品成人国产| 欧美国产综合视频| 精品1区2区3区4区| 一区二区三区国产好的精华液| 久久久五月婷婷| 国产真实夫妇交换视频| 91麻豆精品国产综合久久久久久 | 国产玉足脚交久久欧美| 美女网站在线免费欧美精品| 鲁大师私人影院在线观看| 亚洲综合一区二区| 国产视频在线免费观看| 中文字幕久热精品在线视频| 忘忧草在线日韩www影院| 国产精品三区四区| 欧美日本一区二区高清播放视频| 黄色手机在线视频| 久久久精品人体av艺术| 国产尤物在线视频| 亚洲精品国精品久久99热| 性国产高清在线观看| 亚洲影院色无极综合| 97精品一区二区| 亚洲欧美自偷自拍另类| 中文字幕免费一区| 中国黄色一级视频| 中文字幕日韩欧美| 97欧美成人| 一本久道久久综合| 久久91精品国产91久久小草| 国产精品理论在线| 欧美日韩日日骚| 麻豆tv入口在线看| 91美女高潮出水| 国自产拍偷拍福利精品免费一| 中文字幕永久免费| 精品久久久视频| 色播色播色播色播色播在线 | 91在线一区二区三区| 日韩av片在线播放| 精品在线观看国产| 色老太综合网| 亚洲国产高清国产精品| 麻豆一区二区99久久久久| 亚洲av无一区二区三区| 欧美一级片在线看| 成人高潮aa毛片免费| 激情久久av| 日韩国产精品久久| 来吧亚洲综合网| 日韩一级大片在线观看| 丁香花视频在线观看| 久久久免费看| 免费观看久久久4p| 免费在线一级片| 欧美日韩中文字幕| 国产粉嫩一区二区三区在线观看 | 夜夜爽8888| 伦伦影院午夜日韩欧美限制| 成人自拍在线| 黄色片久久久久| 国产精品久久久久一区二区三区共 | 黄视频网站在线看| 国产精品一级久久久| 免费在线欧美黄色| 亚洲精品国产精品乱码在线观看| 日韩欧美一区二区免费| 激情黄产视频在线免费观看| 日产精品高清视频免费| 国产伦精一区二区三区| 亚洲精品午夜国产va久久成人| 伊人久久久久久久久久久| 伊人精品综合| 三级视频中文字幕| 亚洲国产欧美一区二区三区丁香婷| 青青草在线免费视频| 91欧美精品午夜性色福利在线| 99热精品在线| 三级黄色录像视频| 亚洲精品狠狠操| www.久久草.com| 国产精品97在线| 亚洲欧美日韩中文字幕一区二区三区 | 日韩欧美成人一区| 欧美性片在线观看| 加勒比成人在线|