Cloudera Manager 5.15.2离线安装笔记(一)
发布日期:2021-09-08 22:55:16 浏览次数:6 分类:技术文章

本文共 16723 字,大约阅读时间需要 55 分钟。

工欲善其事必先利其器,想要学好一门技术首先得有趁手的工具,要想学好大数据技术,还是得有比较好的工具才行。本笔记记录的是安装Cloudera Manager的过程。

CDH的全称是Cloudera’s Distribution Including Apache Hadoop,是hadoop众多发行版本中的一种,是由Cloudera维护,基于稳定版本的Apache Hadoop构建的。而Cloudera Manager是Cloudera用来管理CDH的工具,分为免费版和企业版,目前免费版已经取消了节点数的限制,对于大数据初学者来说是一个非常容易上手的工具。

1.准备工作

安装之前需要做一些准备工作,本笔记记录的是使用虚拟机进行安装的,由于Cloudera Manager(CM)运行hadoop的集群的时候非常耗内存,所以需要给虚拟机足够的内存才能够正常启动hadoop的集群节点。一般来说如果用来安装CM的电脑的内存小于8G的话就不要进行尝试了,因为安装后将无法启动。

1.1下载安装介质

操作系统,本笔记选择的操作系统是CentOS 7,选定操作系统之后在下载CM及CDH的介质的时候就可以选择与此操作系统版本匹配的文件,否则可能会遇到无法解决的问题。

4G 2017-Sep-06 10:59

 

需要到Cloudera官方网站上下载安装介质,本笔记需要用到的安装介质如下:

CM主程序安装包,是一个BS架构的系统,可以通过浏览器进行hadoop集群的管理:

2018-12-10 10:00 801.5 MB

 

CDH程序的安装包,包括hadoop家族中的hdfs,hive,hbase等安装程序,下面这两个文件都要下载:

2018-12-10 13:31 2.0 GB

2018-12-10 13:31 41.0 B

 

CM安装过程中给每个结点要安装的内容,这些安装文件要在CM安装前进行安装,否则CM安装过程中从网上自动下载并安装,会比较耗费时间:

2018-12-10 09:5 19.4 MB

2018-12-10 09:51 751.8 MB

2018-12-10 09:5 18.5 KB

2018-12-10 09:51 10.4 KB

2018-12-10 09:51 29.2 MB

2018-12-10 09:51 67.9 MB

2018-12-10 09:51 135.5 MB

 

Mysql:CM支持主流的数据库,本笔记选择的是mysql数据库社区版,

mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

这个需要到mysql官网上下载,CM支持的数据库版本在下面文档中有详细说明,可以参考下载。

CM与CDH连接mysql数据库需要jdbc,还需要下载mysql的jdbc驱动文件:

mysql-connector-java-5.1.27-bin.jar

 

1.2在虚拟机上安装操作系统

本笔记使用的虚拟机版本是VMware 12.5.1,当然也可以使用Virtual Box,两者都是可以的。

虚拟机内存和硬盘的分配如下:

结点名称 内存 硬盘

node1 6G 60GB

node2 2G 60GB

node3 2G 60GB

安装完成之后每个结点占用的硬盘空间在20GB左右,所以在安装虚拟机的时候硬盘分配不能少于30GB,否则会出现空间不足的错误。

 

2.系统环境配置

2.1 静态IP配置

为了方便通过ssh client或者SecureCRT连接服务器,我们需要将集群中的结点配置静态IP地址,这样可以通过固定的IP地址来访问服务器。

[root@node2 ~]# cd /etc/sysconfig/network-scripts/ [root@node2 network-scripts]# ls ifcfg-ens33  ifdown-ppp       ifup-eth     ifup-sit ifcfg-lo     ifdown-routes   ifup-ippp   ifup-Team ifdown       ifdown-sit       ifup-ipv6   ifup-TeamPort ifdown-bnep ifdown-Team     ifup-isdn   ifup-tunnel ifdown-eth   ifdown-TeamPort ifup-plip   ifup-wireless ifdown-ippp ifdown-tunnel   ifup-plusb   init.ipv6-global ifdown-ipv6 ifup             ifup-post   network-functions ifdown-isdn ifup-aliases     ifup-ppp     network-functions-ipv6 ifdown-post ifup-bnep       ifup-routes [root@node2 network-scripts]# vi ifcfg-ens33

该文件中修改的内容如下:

BOOTPROTO=static ONBOOT=yes IPADDR=192.168.246.160 NETMASK=255.255.255.0 GATEWAY=192.168.246.2 DNS1=192.168.246.2

修改完之后保存,并重启网络服务:

systemctl restart network

2.2 修改yum源

一般使用root用户在安装软件的时候都会使用yum工具,该工具可以很方面的查找到要安装的rpm的依赖包,并通过yum源自动下载安装。

首先将iso镜像挂载到虚拟机上,然后连接DVD虚拟设备。

下面的命令行操作可以在SecureCRT工具中进行:

[root@localhost ~]# mkdir -p /mnt/cdrom [root@localhost ~]# mount /dev/sr0 /mnt/cdrom mount: /dev/sr0 is write-protected, mounting read-only

上面两个命令就将镜像挂载到目录/mnt/cdrom里,查看一下:

[root@localhost ~]# ls /mnt/cdrom/ CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7 EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7 EULA             isolinux  repodata  TRANS.TBL

可以看到里面有光盘中的内容。下面修改本地的yum文件:

[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo CentOS-CR.repo   CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# mkdir -p backup [root@localhost yum.repos.d]# mv *.repo ./backup/ [root@localhost yum.repos.d]# ls backup [root@localhost yum.repos.d]# vi CentOS-Media.repo

然后输入如下内容:

[c7-media] name=CentOS-$releasever - Media baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1

保存后退出,然后用下面的命令清空和重建yum的缓存:

[root@localhost yum.repos.d]# yum clean Loaded plugins: fastestmirror Error: clean requires an option: headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all [root@localhost yum.repos.d]# yum makecache Loaded plugins: fastestmirror c7-media                                                 | 3.6 kB     00:00     (1/4): c7-media/group_gz                                   | 156 kB   00:00 (2/4): c7-media/filelists_db | 3.1 MB 00:00 (3/4): c7-media/primary_db | 3.1 MB 00:00 (4/4): c7-media/other_db | 1.2 MB 00:00 Determining fastest mirrors Metadata Cache Created

然后验证本地yum源是否可用:

[root@localhost yum.repos.d]# yum list|grep httpd httpd.x86_64                            2.4.6-67.el7.centos            @c7-media httpd-tools.x86_64                      2.4.6-67.el7.centos            @c7-media httpd-devel.x86_64                      2.4.6-67.el7.centos            c7-media httpd-manual.noarch                     2.4.6-67.el7.centos            c7-media libmicrohttpd.x86_64                   0.9.33-2.el7                   c7-media

能够看到相应的软件包的列表,说明本地yum源配置没有问题,可以正常使用yum命令安装相关的软件了。

2.3 复制虚拟机

将上面安装好的虚拟机再复制两份出来,三个虚拟机的名称分别为node1,node2和node3,其中node1的内存分配6个G,node2和node3分配2个G。三个结点的IP地址分配分别为:192.168.246.160,192.168.246.161和192.168.246.162。这三个结点组成一个简单的集群,后面会针对这个集群进行配置。

2.4 配置网络(所有结点)

修改主机名:

[root@localhost ~]# hostnamectl set-hostname node1 [root@localhost ~]# vi /etc/sysconfig/network

增加如下内容:

NETWORKING=yes HOSTNAME=node1

保存后用reboot命令重启虚拟机,用hostname命令查看主机名是否修改正确。

在每个结点上修改ip地址和主机名的对应关系:

[root@node1 ~]# vi /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ​ ​ 192.168.246.160 node1 192.168.246.161 node2 192.168.246.162 node3 ​

在每个结点上要能够用ping命令ping通其他的结点。

2.5 SSH免密码登录

所有结点执行:

[root@node1 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa Generating public/private dsa key pair. Created directory '/root/.ssh'. Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: SHA256:KJhZfIAUsY7FeWJOYCUHwyA/FZkaqXqiKdwxsiIwmRk root@node1 The key's randomart image is: +---[DSA 1024]----+ |***B++ | |o=B=o. | | .@o+ . | |EB.O . . | |o=* . . S | |O..o . | |+=+ o | |*o . | |+ | +----[SHA256]-----+ [root@node1 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

生成无密码密钥对,将生产的文件authorized_keys复制到node2和node3的相同目录里。然后测试通过ssh命令是否能够正在连接到另外两个结点。

[root@node1 ~]# ssh node2 Last login: Sat Jan 26 22:53:38 2019 from 192.168.246.160 [root@node2 ~]# exit logout Connection to node2 closed. [root@node1 ~]# ssh node3 Last login: Sat Jan 26 22:53:45 2019 from 192.168.246.160 [root@node3 ~]# exit logout Connection to node3 closed. [root@node1 ~]#

2.6 关闭防火墙

在所有结点上执行:

[root@node1 ~]# systemctl stop firewalld --停止防火墙 [root@node1 ~]# systemctl disable firewalld --禁止防火墙开机启动 [root@node1 ~]# systemctl status firewalld --查看防火墙的状态 ● firewalld.service - firewalld - dynamic firewall daemon    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)    Active: inactive (dead)      Docs: man:firewalld(1) ​ Jan 26 10:25:15 node1 systemd[1]: Starting firewalld - dynamic firewall dae..... Jan 26 10:25:17 node1 systemd[1]: Started firewalld - dynamic firewall daemon. Jan 26 10:25:18 node1 firewalld[700]: WARNING: ICMP type 'beyond-scope' is ...6. Jan 26 10:25:18 node1 firewalld[700]: WARNING: beyond-scope: INVALID_ICMPTY...e. Jan 26 10:25:18 node1 firewalld[700]: WARNING: ICMP type 'failed-policy' is...6. Jan 26 10:25:18 node1 firewalld[700]: WARNING: failed-policy: INVALID_ICMPT...e. Jan 26 10:25:18 node1 firewalld[700]: WARNING: ICMP type 'reject-route' is ...6. Jan 26 10:25:18 node1 firewalld[700]: WARNING: reject-route: INVALID_ICMPTY...e. Jan 26 22:57:02 node1 systemd[1]: Stopping firewalld - dynamic firewall dae..... Jan 26 22:57:03 node1 systemd[1]: Stopped firewalld - dynamic firewall daemon. Hint: Some lines were ellipsized, use -l to show in full.

2.7 关闭SELINUX

修改配置文件/etc/selinux/config( 重启生效): 将 SELINUX=enforcing 改为 SELINUX=disabled

修改配置文件后重启虚拟机,然后查看SELINUX是否关闭:

[root@node1 ~]# /usr/sbin/sestatus –v SELinux status:                 disabled

3.相关软件安装

3.1 安装jdk 1.7

将下载好的jdk rpm文件上传到虚拟机上的/opt/softs目录下进行安装:

[root@node1 ~]# cd /opt/softs/ [root@node1 softs]# ll total 134856 -rw-r--r-- 1 root root 138090286 Jan 27 01:26 jdk-7u80-linux-x64.rpm [root@node1 softs]# rpm -ivh jdk-7u80-linux-x64.rpm Preparing... ################################# [100%] Updating / installing... 1:jdk-2000:1.7.0_80-fcs ################################# [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar... [root@node1 softs]# java -version java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) [root@node1 softs]# ll total 138712 -rw-r--r-- 1 root root 142039186 Jan 27 01:32 oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm [root@node1 softs]# rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm warning: oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY Preparing... ################################# [100%] Updating / installing... 1:oracle-j2sdk1.7-1.7.0+update67-1 ################################# [100%]

说明:升级包oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm也要安装,否则在后面的步骤里会自动联网进行下载。

3.2 安装并设置ntp

所有节点安装 NTP: yum -y install ntp 配置开机启动: chkconfig ntpd on 检查是否设置成功: chkconfig --list ntpd ( 2-5 为 on 状态则成功) 设置同步: ntpdate -u ntp.sjtu.edu.cn(时钟服务器根据实际环境设置、 本文采用 210.72.145.44-国家授时 中心服务器 IP 地址)

在安装系统的时候如果没有选择时区的话,时间默认是美国时区的时间,所以需要将系统时区改为上海时间 (亦即CST时区),然后查看时间是否正确:

[root@node1 sysconfig]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@node1 sysconfig]# cd /etc/ [root@node1 etc]# ll localtime lrwxrwxrwx 1 root root 33 Jan 27 14:48 localtime -> /usr/share/zoneinfo/Asia/Shanghai [root@node1 etc]# date Sun Jan 27 14:48:23 CST 2019

3.3 安装并配置MySQL

由于5.6版本的MySQL不允许使用root用户来启动,所以我们需要新建一个用户来启动MySQL服务,否则会遇到一些不好解决的问题。将MySQL的安装文件mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz上传到/opt/mysql目录下,然后解压:

[root@node1 ~]# useradd mysql [root@node1 ~]# passwd mysql Changing password for user mysql. [root@node1 mysql]# cd /opt/mysql/ [root@node1 mysql]# tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

用mysql用户登录node1,增加如下环境变量到文件/home/mysql/.bash_profile:

export MYSQL_HOME=/opt/mysql/ export PATH=$MYSQL_HOME/bin:$PATH

由于mysql的安装脚本使用perl,所以还需要安装perl和autoconf软件:yum -y install perl autoconf

[mysql@node1 mysql]$ cd /opt/mysql [mysql@node1 mysql]$ ./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data Installing MySQL system tables...2019-01-27 15:14:27 0 [Warning] TIMESTAMP with ...... The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com New default config file was created as /opt/mysql/my.cnf and will be used by default by the server when you start it. You may edit this file to change server settings WARNING: Default config file /etc/my.cnf exists on the system This file will be read by default by the MySQL server If you do not want to use this, either remove it, or use the --defaults-file argument to mysqld_safe when starting the server

安装脚本执行完会生成my.cnf文件,根据需要修改该配置文件,然后可以启动mysql服务:

[mysql@node1 logs]$nohup mysqld_safe --defaults-file=/opt/mysql/my.cnf --user=mysql >mysql.out 2>&1 & [mysql@node1 logs]$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.42-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

修改mysql的root用户密码:

mysql> set password for root@localhost = password('123456'); Query OK, 0 rows affected (0.01 sec) ​ mysql> grant all privileges on *.* to root@'%' identified by "123456"; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to root@'localhost' identified by "123456"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

4.Cloudera Manager Server&Agent 安装

4.1 上传并解压Clouder Manager

拷贝 cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz到所有node1结点上的/opt目录下,然后解压:

[root@node1 opt]# tar -zxvf cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz [root@node1 opt]# ll total 0 drwxr-xr-x  4  1106  4001 36 Nov 11 17:15 cloudera drwxr-xr-x 9 1106 4001 88 Nov 11 17:15 cm-5.15.2 drwxr-xr-x 14 mysql mysql 256 Jan 27 15:25 mysql

安装依赖包:yum -y install perl autoconf chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb

 

4.2 新建cloudera-scm用户

执行:

[root@node1 opt]# useradd --system --home=/opt/cm-5.15.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4.3 配置CM Server数据库

拷贝mysql jar文件到目录 /usr/share/java/

注意jar包名称要修改为mysql-connector-java.jar

[root@node1 cm-5.15.2]# pwd /opt/cm-5.15.2 [root@node1 cm-5.15.2]# /opt/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456  --scm-host localhost scm scm scm JAVA_HOME=/usr/java/jdk1.7.0_80 Verifying that we can write to /opt/cm-5.15.2/etc/cloudera-scm-server Creating SCM configuration file in /opt/cm-5.15.2/etc/cloudera-scm-server Executing: /usr/java/jdk1.7.0_80/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cm-5.15.2/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.15.2/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. 2019-01-27 16:42:45,618 [main] INFO com.cloudera.enterprise.dbutil.DbCommandExecutor - Successfully connected to database. All done, your SCM database is configured correctly!

4.4创建Parcel目录

server:

[root@node1 cloudera]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo [root@node1 cloudera]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels [root@node1 cloudera]# ll total 0 drwxr-xr-x 2         1106 4001 6 Nov 11 17:15 csd drwxr-xr-x 2 cloudera-scm cloudera-scm 6 Nov 11 17:15 parcel-repo drwxr-xr-x 2 cloudera-scm cloudera-scm 6 Jan 27 17:24 parcels

agent:

[root@node2 cloudera]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels [root@node2 cloudera]# ll total 0 drwxr-xr-x 2 cloudera-scm cloudera-scm 6 Jan 27 17:28 parcels

4.5安装依赖包

node1:

[root@node1 opt]#yum -y install perl bind-utils mod_ssl psmisc openssl-devel cyrus-sasl-plain cyrus-sasl-gssapi portmap python-psycopg2 MySQL-python postgresql-server [root@node1 opt]# cd softs/ [root@node1 softs]# ll total 809396 -rw-r--r-- 1 root root 9859196 Jan 27 17:54 cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm -rw-r--r-- 1 root root 788327364 Jan 27 17:54 cloudera-manager-daemons-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm -rw-r--r-- 1 root root 8704 Jan 27 17:54 cloudera-manager-server-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm -rw-r--r-- 1 root root 10608 Jan 27 17:54 cloudera-manager-server-db-2-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm -rw-r--r-- 1 root root 30604196 Jan 27 17:54 enterprise-debuginfo-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm [root@node1 softs]# rpm -ivh *.rpm

node2~3:

[root@node2 softs]# yum -y install perl bind-utils mod_ssl psmisc openssl-devel lsb cyrus-sasl-plain cyrus-sasl-gssapi portmap python-psycopg2 MySQL-python postgresql-server [root@node2 softs]# ll total 779484 -rw-r--r-- 1 root root   9859196 Jan 27 18:12 cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm -rw-r--r-- 1 root root 788327364 Jan 27 18:12 cloudera-manager-daemons-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm [root@node2 softs]# rpm -ivh *.rpm warning: cloudera-manager-agent-5.15.2-1.cm5152.p0.2.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY Preparing... ################################# [100%] Updating / installing... 1:cloudera-manager-daemons-5.15.2-1################################# [ 50%] 2:cloudera-manager-agent-5.15.2-1.c################################# [100%]

 

4.6启动Server

[root@node1 lib]# /opt/cm-5.15.2/etc/init.d/cloudera-scm-server restart Stopping cloudera-scm-server: [  OK  ] Starting cloudera-scm-server: [  OK  ]

查看日志:

[root@node1 cloudera-scm-server]# cd /opt/cm-5.15.2/log/cloudera-scm-server [root@node1 cloudera-scm-server]# ls cloudera-scm-server.log  cloudera-scm-server.out  cmf-server-perf.log [root@node1 cloudera-scm-server]# tail -n 100 -f cloudera-scm-server.log ...... 2019-01-27 18:04:01,390 INFO SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: Num docs:221 2019-01-27 18:04:01,400 INFO SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: Constructing repo:2019-01-27T10:04:01.400Z 2019-01-27 18:04:01,635 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4 2019-01-27 18:04:01,641 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180 2019-01-27 18:04:01,641 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

说明Server已经正常启动,可以通过网址:进行登录。

更多有关大数据的内容请关注微信公众号:大数据与人工智能初学者

转载于:https://www.cnblogs.com/kakuma/p/10380547.html

转载地址:https://blog.csdn.net/weixin_34341229/article/details/93409415 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何成为一名优秀的程序员?
下一篇:48、面向对象中super的作用?

发表评论

最新留言

逛到本站,mark一下
[***.191.171.9]2022年08月16日 12时14分49秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章