活动介绍
file-type

HDP蓝图教程:构建和管理Hadoop集群的实践

ZIP文件

下载需积分: 50 | 75KB | 更新于2025-01-18 | 193 浏览量 | 0 下载量 举报 收藏
download 立即下载
本教程详细介绍了如何使用Hortonworks Data Platform (HDP) 蓝图来建立和配置一个Hadoop集群。HDP蓝图是一种描述性工具,它能够定义集群的配置和所需的服务,便于用户快速搭建和部署Hadoop集群。本教程通过一系列步骤,指导用户如何从头开始创建一个集群,并且在遇到问题时进行重置。 1. 建立集群:本教程首先介绍了通过HDP蓝图来构建集群的基本步骤。这包括了如何使用蓝图定义集群的结构、服务和配置。用户可以利用预先定义的蓝图快速部署出一个运行Hadoop的集群。 2. 使用重置集群:在集群搭建过程中难免会遇到错误或需要重新配置的情况,本教程讲解了如何使用重置集群的功能来清除错误配置或不满足要求的集群,从而可以重新开始一个新的设置。 3. 配置pdsh主机:pdsh是并行shell工具,可以用于同时在多台服务器上执行命令。本教程中的脚本是为在已经配置了主机组的pdsh主机上运行设计的,以将配置应用到指定的主机集合上。 4. 删除目录和软件包:教程中提到了修改目录文本文件以遍历所有需要删除的目录,并使用脚本删除所有yum包。这一步骤通常在重置集群时执行,以便移除所有旧的配置和软件包。 5. 数据库配置:在尝试安装蓝图之前,需要为Ambari(集群管理工具)、Hive(数据仓库)、Oozie(工作流调度器)和Ranger(安全组件)配置相应的数据库。本教程还涉及了创建数据库和数据库用户,以及赋予相应的权限。 6. 家庭HA集群示例:本教程提供了一个7节点家庭高可用性集群的配置示例。其中包括了2个主节点和5个工作节点。1个工作站在配置中充当了第三个ZooKeeper和Journal节点的角色,而其他四个工作节点则根据业务需求配置了Storm Supervisor和HBase区域服务器。 7. 蓝图编辑和“提取”:教程最后提到了对蓝图进行大量的“提取”编辑,使其能在特定环境中正常工作。这表明在实际部署中,用户可能需要对标准蓝图进行微调以适应特定的集群设置。 8. 标签和文件结构:通过给定的标签“Shell”,我们知道这个教程可能涉及到Shell脚本的编写和使用。文件列表中的“hdp-blueprints-tutorial-master”表明了教程的主体文件可能是一个包含多个组件和示例脚本的压缩包。 本教程适合那些希望通过蓝图快速搭建Hadoop集群的用户,以及对HDP蓝图编辑感兴趣的中级到高级系统管理员和DevOps工程师。它不仅教会了用户如何从零开始创建集群,还包括了对集群进行管理和后期维护的技巧。

相关推荐

filetype

Line 282775: 08-05 17:58:18.787 18414 18414 W Zygote : Unable to open libbeluga.so: dlopen failed: library "libbeluga.so" not found. Line 282779: 08-05 17:58:18.789 18414 18414 I Zygote : seccomp disabled by setenforce 0 Line 282790: 08-05 17:58:18.794 18414 18414 I service.atsmod: Late-enabling -Xcheck:jni Line 282872: 08-05 17:58:18.816 18414 18414 I service.atsmod: Unquickening 15 vdex files! Line 282945: 08-05 17:58:18.833 1104 22303 D ActivityManager: Set 18414 com.adayo.service.atsmode adj 0: exec-service Line 282991: 08-05 17:58:18.849 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@16b1f32: old config is {1.0 ?mcc?mnc [zh_CN] ldltr ?swdp ?wdp ?hdp 160dpi ?lsize ?long ?ldr ?wideColorGamut ?orien ?uimode ?night ?touch ?keyb/?/? ?nav/? winConfig={ mBounds=Rect(0, 0 - 0, 0) mAppBounds=null mWindowingMode=undefined mDisplayWindowingMode=undefined mActivityType=undefined mAlwaysOnTop=undefined mRotation=undefined}} old compat is {160dpi always-compat} Line 283000: 08-05 17:58:18.850 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@16b1f32: new config is {1.0 ?mcc?mnc [zh_CN] ldltr sw1080dp w1920dp h936dp 160dpi xlrg long land car finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1920, 1080) mAppBounds=Rect(0, 0 - 1920, 1000) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0} s.1339} new compat is {160dpi always-compat} Line 283001: 08-05 17:58:18.851 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@16b1f32: final config is {1.0 ?mcc?mnc [zh_CN] ldltr sw1080dp w1920dp h936dp 160dpi xlrg long land car finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1920, 1080) mAppBounds=Rect(0, 0 - 1920, 1000) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0} s.1339} final compat is {160dpi always-compat} Line 283031: 08-05 17:58:18.860 18414 18414 I service.atsmod: The ClassLoaderContext is a special shared library. Line 283035: 08-05 17:58:18.861 18414 18414 D nativeloader: classloader namespace configured for unbundled vendor apk. library_path=/vendor/app/ATSMode/lib/arm64:/vendor/app/ATSMode/ATSMode.apk!/lib/arm64-v8a:/vendor/lib64 Line 283037: 08-05 17:58:18.865 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@d6e53fa: old config is {1.0 ?mcc?mnc ?localeList ?layoutDir ?swdp ?wdp ?hdp ?density ?lsize ?long ?ldr ?wideColorGamut ?orien ?uimode ?night ?touch ?keyb/?/? ?nav/? winConfig={ mBounds=Rect(0, 0 - 0, 0) mAppBounds=null mWindowingMode=undefined mDisplayWindowingMode=undefined mActivityType=undefined mAlwaysOnTop=undefined mRotation=undefined}} old compat is {160dpi always-compat} Line 283038: 08-05 17:58:18.865 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@d6e53fa: new config is {1.0 ?mcc?mnc [zh_CN] ldltr sw1080dp w1920dp h936dp 160dpi xlrg long land car finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1920, 1080) mAppBounds=Rect(0, 0 - 1920, 1000) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0} s.1339} new compat is {160dpi always-compat} Line 283039: 08-05 17:58:18.865 18414 18414 I Resources: **** Updating config of android.content.res.ResourcesImpl@d6e53fa: final config is {1.0 ?mcc?mnc [zh_CN] ldltr sw1080dp w1920dp h936dp 160dpi xlrg long land car finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1920, 1080) mAppBounds=Rect(0, 0 - 1920, 1000) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0} s.1339} final compat is {160dpi always-compat} Line 283051: 08-05 17:58:18.874 18414 18414 D NetworkSecurityConfig: No Network Security Config specified, using platform default Line 283065: 08-05 17:58:18.879 18414 18414 D NetworkSecurityConfig: No Network Security Config specified, using platform default Line 283120: 08-05 17:58:18.900 18414 18414 D ATS_SWITCH_MODE: lambda$new$10(ATSControlService.java:345)init System service conection result = true Line 283124: 08-05 17:58:18.901 18414 18414 D ATS_SWITCH_MODE: connectCarService(CarServiceManager.java:220)[[==== connectCarService() Begin Line 283128: 08-05 17:58:18.903 18414 18414 D ATS_SWITCH_MODE: connectCarService(CarServiceManager.java:224)[[==== connectCarService() mCar =========== android.car.Car@9133420 Line 283132: 08-05 17:58:18.905 18414 18414 D ATS_SWITCH_MODE: connectCarService(CarServiceManager.java:227)[[==== connectCarService() end Line 283133: 08-05 17:58:18.905 18414 18414 D ATS_SWITCH_MODE: initConfig(ATSControlService.java:307)ATSControlService Started! Line 283169: 08-05 17:58:18.920 18414 18414 D AAOP_DeviceService: <init>(AAOP_DeviceServiceManager.java:37)AAOP_DeviceServiceManager BcmManager() begin Line 283173: 08-05 17:58:18.920 18414 18414 D AAOP_DeviceService: getServiceConnection(AAOP_DeviceServiceManager.java:74)AAOP_DeviceServiceManager getServiceConnection() begin Line 283182: 08-05 17:58:18.921 18414 18414 D ServiceOperation: serviceConnected AAOP_SERVICE_DEVICE, flag: true Line 283186: 08-05 17:58:18.921 18414 18414 D ServiceOperation: serviceConnected AAOP_SERVICE_DEVICE, mServiceConnectListeners size: 0 Line 283191: 08-05 17:58:18.921 18414 18414 D AAOP_DeviceService: getServiceConnection(AAOP_DeviceServiceManager.java:113)AAOP_DeviceServiceManager getServiceConnection() end ret = true Line 283196: 08-05 17:58:18.921 18414 18414 D AAOP_DeviceService: <init>(AAOP_DeviceServiceManager.java:43)AAOP_DeviceServiceManager BcmManager() end Line 283200: 08-05 17:58:18.921 18414 18414 D DEMO_AudioManager: new AudioManager adjust type: 0, volMax: 39, volMin: 0 Line 283212: 08-05 17:58:18.924 18414 18414 E ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant). Line 283216: 08-05 17:58:18.931 18414 18414 I service.atsmode: type=1400 audit(0.0:64913): avc: denied { call } for scontext=u:r:system_app:s0 tcontext=u:r:hal_fgecomservice_default:s0 tclass=binder permissive=1 Line 283223: 08-05 17:58:18.937 18414 18414 I android_os_HwBinder: HwBinder: Starting thread pool for getting: [email protected]::IFgeComService/default Line 283235: 08-05 17:58:18.941 18414 18414 E ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant). Line 283251: 08-05 17:58:18.944 18414 18414 D ATS_SWITCH_MODE: initView(ModeSwitchVideoView.kt:69)init view by modeSwitchVideoView Line 283255: 08-05 17:58:18.949 18414 18414 I [LiveEventBus]: observe observer: com.jeremyliao.liveeventbus.core.LiveEventBusCore$ObserverWrapper@d98f13(com.adayo.service.atsmode.-$$Lambda$ATSControlService$4_X7albmyNSNYqqccJFIzWvtmdI@1ebe550) on owner: com.adayo.service.atsmode.ATSControlService@7cf21d9 with key: ATS_requested_mode Line 283259: 08-05 17:58:18.949 18414 18414 I [LiveEventBus]: observe observer: com.jeremyliao.liveeventbus.core.LiveEventBusCore$ObserverWrapper@22f444e(com.adayo.service.atsmode.-$$Lambda$ATSControlService$4D0kxYppS8OoeVuB8flJRTq4DhA@744096f) on owner: com.adayo.service.atsmode.ATSControlService@7cf21d9 with key: ATS_confirmed_mode Line 283263: 08-05 17:58:18.949 18414 18414 I [LiveEventBus]: observe observer: com.jeremyliao.liveeventbus.core.LiveEventBusCore$ObserverWrapper@2aebb05(com.adayo.service.atsmode.-$$Lambda$ATSControlService$fO2qS2WoPIByTLaz3YnRTMsEgJc@c3f575a) on owner: com.adayo.service.atsmode.ATSControlService@7cf21d9 with key: ATS_reset_counter Line 283267: 08-05 17:58:18.949 18414 18414 I [LiveEventBus]: observe observer: com.jeremyliao.liveeventbus.core.LiveEventBusCore$ObserverWrapper@f570e68(com.adayo.service.atsmode.-$$Lambda$ATSControlService$Ghir-lAaMGIbvTauu8gkl9U40yQ@ae50281) on owner: com.adayo.service.atsmode.ATSControlService@7cf21d9 with key: single_pedal_switcher Line 283269: 08-05 17:58:18.950 18414 18414 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1669 android.content.ContextWrapper.startService:720 com.adayo.service.atsmode.ATSControlService.onCreate:165 android.app.ActivityThread.handleCreateService:4196 android.app.ActivityThread.access$1500:237 Line 283271: 08-05 17:58:18.952 18414 18414 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1748 android.content.ContextWrapper.bindService:756 com.adayo.service.atsmode.ATSControlService.onCreate:167 android.app.ActivityThread.handleCreateService:4196 android.app.ActivityThread.access$1500:237 Line 283283: 08-05 17:58:18.956 18414 18414 D ATS_SWITCH_MODE: onStartCommand(ATSControlService.java:176)ATSControlService ServiceStartCommand Line 283285: 08-05 17:58:18.956 18414 18414 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1748 android.content.ContextWrapper.bindService:756 com.adayo.service.atsmode.ATSControlService.onStartCommand:179 android.app.ActivityThread.handleServiceArgs:4330 android.app.ActivityThread.access$1800:237 Line 283296: 08-05 17:58:18.959 18414 18414 D ATS_SWITCH_MODE: lambda$new$10(ATSControlService.java:345)init System service conection result = true Line 283308: 08-05 17:58:18.960 18414 18414 D ATS_SWITCH_MODE: onServiceConnected(CarServiceManager.java:164)[[==== mCar.isConnected() = true Line 283430: 08-05 17:58:18.992 18414 18414 D ATS_SWITCH_MODE: onServiceConnected(CarServiceManager.java:169)[[==== success to connect car service ====]] Line 283435: 08-05 17:58:18.993 18414 18414 D ATS_SWITCH_MODE: onStartCommand(ATSControlService.java:176)ATSControlService ServiceStartCommand Line 283437: 08-05 17:58:18.993 18414 18414 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1748 android.content.ContextWrapper.bindService:756 com.adayo.service.atsmode.ATSControlService.onStartCommand:179 android.app.ActivityThread.handleServiceArgs:4330 android.app.ActivityThread.access$1800:237 Line 283442: 08-05 17:58:18.996 18414 18414 D ATS_SWITCH_MODE: lambda$new$10(ATSControlService.java:345)init System service conection result = true Line 283444: 08-05 17:58:18.997 1104 1670 D ActivityManager: Set 18414 com.adayo.service.atsmode adj 500: started-services Line 283459: 08-05 17:58:18.999 18414 18414 D ATS_SWITCH_MODE: onServiceConnected(ATSControlService.java:145)connect with com.adayo.service.atsmode.ATSRemoteGuardService$ATSRemoteBinder Line 283460: 08-05 17:58:18.999 18414 18414 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1748 android.content.ContextWrapper.bindService:756 com.adayo.service.atsmode.ATSControlService$1.onServiceConnected:146 android.app.LoadedApk$ServiceDispatcher.doConnected:1978 android.app.LoadedApk$ServiceDispatcher$RunConnection.run:2010 Line 283487: 08-05 17:58:19.006 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557846278,__getValue=0 Line 283488: 08-05 17:58:19.006 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283489: 08-05 17:58:19.006 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557845040,__getValue=255 Line 283490: 08-05 17:58:19.006 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283491: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557845041,__getValue=255 Line 283492: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283493: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557842951,__getValue=2 Line 283494: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283495: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557842952,__getValue=2 Line 283496: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283497: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557848092,__getValue=2 Line 283498: 08-05 17:58:19.007 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283499: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557846066,__getValue=0 Line 283500: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283502: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557846067,__getValue=0 Line 283503: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283504: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557846068,__getValue=0 Line 283505: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283506: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557846069,__getValue=0 Line 283507: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:248)isOnPowerMode=false,return !!!!!!!!!! Line 283508: 08-05 17:58:19.008 18414 18414 D ATS_SWITCH_MODE: onChangeEvent(CarServiceManager.java:234)___propertyId=557845078,__getValue=2 Line 291572: 08-05 17:58:21.943 18414 18440 E ATS_SWITCH_MODE: lambda$initConfig$7$ATSControlService(ATSControlService.java:295)ATSControlService init carModelConfig ====>>5,configuration ====>>2 Line 291573: 08-05 17:58:21.944 18414 18440 E ATS_SWITCH_MODE: setCarModelConfig(ATSContainerView.java:166)ATSContainerView init carModelConfig byte value is ====>>5 Line 291574: 08-05 17:58:21.944 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:268)SvgPathView init carModelConfig ====>> B60VS Line 291577: 08-05 17:58:21.946 18414 18440 E ATS_SWITCH_MODE: setConfiguration(ATSContainerView.java:268)ATSContainerView init configuration byte value is ====>>2 Line 291701: 08-05 17:58:21.999 18414 18445 E ATS_SWITCH_MODE: lambda$initConfig$7$ATSControlService(ATSControlService.java:295)ATSControlService init carModelConfig ====>>5,configuration ====>>2 Line 291703: 08-05 17:58:21.999 18414 18445 E ATS_SWITCH_MODE: setCarModelConfig(ATSContainerView.java:166)ATSContainerView init carModelConfig byte value is ====>>5 Line 291704: 08-05 17:58:21.999 18414 18445 E ATS_SWITCH_MODE: setConfiguration(ATSContainerView.java:185)ATSContainerView init configuration byte value is ====>>2 Line 291818: 08-05 17:58:22.032 18414 18450 E ATS_SWITCH_MODE: lambda$initConfig$7$ATSControlService(ATSControlService.java:295)ATSControlService init carModelConfig ====>>5,configuration ====>>2 Line 291822: 08-05 17:58:22.032 18414 18450 E ATS_SWITCH_MODE: setCarModelConfig(ATSContainerView.java:166)ATSContainerView init carModelConfig byte value is ====>>5 Line 291823: 08-05 17:58:22.032 18414 18450 E ATS_SWITCH_MODE: setConfiguration(ATSContainerView.java:185)ATSContainerView init configuration byte value is ====>>2 Line 291878: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> conf Line 291882: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> snow Line 291894: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> eco Line 291898: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> sport Line 291902: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> wad Line 291903: 08-05 17:58:22.083 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> rock Line 291905: 08-05 17:58:22.084 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> mud Line 291909: 08-05 17:58:22.084 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> sand Line 291913: 08-05 17:58:22.084 18414 18498 E ATS_SWITCH_MODE: run(SvgPathView.java:325)SvgPathView path bean data ====>> cross Line 296386: 08-05 17:58:23.902 18414 18437 I service.atsmod: Waiting for a blocking GC ProfileSaver Line 296394: 08-05 17:58:23.911 18414 18437 I service.atsmod: WaitForGcToComplete blocked ProfileSaver on ClassLinker for 9.057ms Line 346558: 08-05 17:58:42.899 1648 1928 I Process : Sending signal. PID: 18414 SIG: 9 Line 346562: 08-05 17:58:42.899 1648 1928 I Process : Sending signal. PID: 18414 SIG: 9 Line 347141: 08-05 17:58:42.923 376 376 I Zygote : Process 18414 exited due to signal 9 (Killed) Line 347152: 08-05 17:58:42.924 1104 1155 I libprocessgroup: Successfully killed process cgroup uid 1000 pid 18414 in 0ms

DeepIndaba
  • 粉丝: 43
上传资源 快速赚钱