0102-每特教育學(xué)院螞蟻課堂4期分布式日志收集elasticsearch高可用集群原理分析分片_第1頁(yè)
0102-每特教育學(xué)院螞蟻課堂4期分布式日志收集elasticsearch高可用集群原理分析分片_第2頁(yè)
0102-每特教育學(xué)院螞蟻課堂4期分布式日志收集elasticsearch高可用集群原理分析分片_第3頁(yè)
0102-每特教育學(xué)院螞蟻課堂4期分布式日志收集elasticsearch高可用集群原理分析分片_第4頁(yè)
0102-每特教育學(xué)院螞蟻課堂4期分布式日志收集elasticsearch高可用集群原理分析分片_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Elasticsearch 簡(jiǎn)單介紹Elasticsearch (ES)是一個(gè)基于Lucene 構(gòu)建的開(kāi)源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 還是一個(gè)分布式文檔數(shù)據(jù)庫(kù),其中每個(gè)字段均是被索引的數(shù)據(jù)且可被搜索,它能夠擴(kuò)展至數(shù)以百計(jì)的服務(wù)器以及處理 PB 級(jí)的數(shù)據(jù)。它可以在很短的時(shí)間內(nèi)在儲(chǔ)、搜索和分析大量的數(shù)據(jù)。它通常作為具有復(fù)雜搜索場(chǎng)景情況下的發(fā)。Elasticsearch 就是為高可用和可擴(kuò)展而生的??梢酝ㄟ^(guò)購(gòu)置性能更強(qiáng)的服務(wù)器來(lái)完成。Elasticsearch 優(yōu)勢(shì)橫向可擴(kuò)展性:只需要增加臺(tái)服務(wù)器,做一點(diǎn)兒配置,啟動(dòng)一下Elasticsearch 就可以并

2、入集群。分片機(jī)制提供更好的分布性:同一個(gè)索引分成多個(gè)分片(sharding),這點(diǎn)類(lèi)似于 HDFS 的塊機(jī)制;分而治之的方式可處理效率。高可用:提供(replica)機(jī)制,一個(gè)分片可以設(shè)置多個(gè),使得某臺(tái)服務(wù)器在宕機(jī)的情況下,集群仍舊可以照常運(yùn)行,并會(huì)把服務(wù)器宕機(jī)丟失的數(shù)據(jù)信息恢復(fù)到其他可用節(jié)點(diǎn)上??谑褂煤?jiǎn)單:共需一條命令就可以引擎。文件,然后很快就能搭建一一個(gè)站內(nèi)搜索Elasticsearch 應(yīng)用場(chǎng)景大型分布式日志分析系統(tǒng) ELK示數(shù)據(jù))大型商品搜索系統(tǒng)、網(wǎng)盤(pán)搜索引擎等。結(jié)構(gòu)ElasticsearchElasticsearch 是文件,Elasticsearch 是面向文檔型數(shù)據(jù)庫(kù),一條數(shù)據(jù)

3、在這里就是一個(gè)文檔,用 JSON 作為文檔序列化的格式,比如下面這條用戶(hù)數(shù)據(jù):關(guān)系數(shù)據(jù)庫(kù)Elasticsearch 數(shù)據(jù)庫(kù) 表 索引(Index) 行 列(Columns) 類(lèi)型(type) 文檔(Docments) 字段(Fields)Linux 環(huán)境安裝 Elasticsearch1、 安裝 JDK 環(huán)境變量2、elasticsearch 安裝包elasticsearch 安裝包文檔注意:linux 安裝內(nèi)存建議 1g 內(nèi)存以上3、 上傳 elasticsearch 安裝包4、 解壓 elasticsearchexport JAVA_HOME=/usr/local/jdk1.8.0_181

4、 export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarsource /etc/profilename :yushengjun,sex :0,age :25elasticsearch(日志)+logstash(收集日志)+kibana(展5、 修改 elasticsearch.ymlnetwork.host: 51http.port: 92006、 啟動(dòng) elasticsearch 報(bào)錯(cuò)Cd /usr/local/elasticsearch-6.4.3/bin

5、./elasticsearchcan not run elasticsearch as root解決方案:因?yàn)榘踩珕?wèn)題 elasticsearch不讓用 root 用戶(hù)直接運(yùn)行,所以要?jiǎng)?chuàng)建新用戶(hù)第一步:liunx 創(chuàng)建新用戶(hù) adduser然后給創(chuàng)建的用戶(hù)加passwd輸入兩次。第二步:切換剛才創(chuàng)建的用戶(hù) su然后執(zhí)行 elasticsearch 會(huì)顯示 Permisdenied 權(quán)限不足。第三步:給新建的賦權(quán)限,od 777 * 這個(gè)不行,因?yàn)檫@個(gè)用戶(hù)本身就沒(méi)限,肯定自己不能給自己付權(quán)限。所以要用 root 用戶(hù)登錄付權(quán)限。第四步:root 給賦權(quán)限,n -R/你的 elasticsearc

6、h 安裝目錄。然后執(zhí)行成功。創(chuàng)建一個(gè)分組groupadd esmayiktuseradd esyushengjun -g esmayikt -p 123456n -R esyushengjun:esmayikt elasticsearch-6 4 3 su esyushengjun 切換用戶(hù)繼續(xù)報(bào)錯(cuò)bootstrap checks failed max virtual memory areas vm max_map_count 65530 isvi /etc/sysctl confvm max_map_count=655360 sysctl pmax file descriptors 4096

7、 for elasticsearch pros is too low, increase toeast 65536 vi /etc/security/limits confsoft nofile 65536hard nofile 131072soft nproc 2048hard nproc 4096tar -zxvf elasticsearch-6.4.3.tar.gz7、elasticsearch關(guān)閉systemctlstopfirewalld.service9300 與 9200 區(qū)別9300 端口: ES 節(jié)點(diǎn)之間通訊使用9200 端口: ES 節(jié)點(diǎn) 和 外部 通訊使用Linux 環(huán)境

8、安裝 KibanaKibana 是一個(gè)開(kāi)源的分析和可視化你用 Kibana 來(lái)搜索,查看,并和,設(shè)計(jì)用于和Elasticsearch 一起工作。在Elasticsearch 索引中的數(shù)據(jù)進(jìn)行交互。你可以輕松地執(zhí)行高級(jí)數(shù)據(jù)分析,并且以各種圖標(biāo)、表格和地圖的形式可視化數(shù)據(jù)。 Kibana 使得理解大量數(shù)據(jù)變得很容易。它簡(jiǎn)單的、基于瀏覽器的界面使你能夠快速創(chuàng)建和共享動(dòng)態(tài)儀表板,實(shí)時(shí)顯示Elasticsearch 查詢(xún)的變化。重啟服務(wù)器即可Kibana 環(huán)境安裝Tar-zxvf kibana-6.4.3-linux-x86_64.tar.gzvim config/kibana.yml# 將默認(rèn)配置改成

9、如下:servort: 5601server.host: 51elasticsearch.url: http:/ 51:9200啟動(dòng) Kibana./bin/kibanaKibana 實(shí)現(xiàn)增刪改查#創(chuàng)建索引 PUT /mymayikt#查詢(xún)索引 GET /mymayikt#添加文檔 /索引名稱(chēng)/類(lèi)型/id PUT /mymayikt/user/1name:yushengjun, sex:0,age:22#查詢(xún)文檔GET /mymayikt/user/1本控制Elasticsearc1.為什么要進(jìn)行版本控制為了保證數(shù)據(jù)再多線(xiàn)程操作下的準(zhǔn)確性2.悲觀鎖和樂(lè)觀鎖悲觀鎖:假設(shè)會(huì)發(fā)生并發(fā),一切可能數(shù)據(jù)準(zhǔn)

10、確性的操作悲觀鎖:假設(shè)不會(huì)發(fā)生并發(fā),只在提交操作是檢查是否數(shù)據(jù)完整性。3.內(nèi)部版本控制和外部版本控制內(nèi)部版本控制:_ver自增長(zhǎng),修改數(shù)據(jù)后,_ver會(huì)自動(dòng)的加 1外部版本控制:為了保持_ver與外部版本控制的數(shù)值一致使用 ver_type=external 檢查數(shù)據(jù)當(dāng)前的 ver值是否小于請(qǐng)求中的ver值SpringBoot 整合 Elasticsearchmaven 依賴(lài).springframework.bootspring-boot-startarentPUT /mymayikt/user/1?ver=2name:yushengjun, sex:0,age:22#刪除索引 DELETE

11、/mymayiktapplication.yml實(shí)體類(lèi)層(indexName = mymayikt, type = user) Datapublic claserEntity Idprivate String id;spring:data:elasticsearch:#集群名稱(chēng) cluster-name: myes #地址cluster-nodes: 51:93002.0.0.RELEASE .springframework.bootspring-boot-starter-web.springframework.bootspring-boot-starter-data-elasticsearc

12、jectlomboklombok類(lèi)層控制器層啟動(dòng)項(xiàng)目SpringBootApplicationEnableElasticsearchReitories(basePackages = com.mayikt.reitory)public class AppEs RestControllerpublic class EsController Autowiredprivate UserReiory userReiory;RequestMap(/addUser)public UserEntity addUser(RequestBody UserEntity user) return userR

13、eiory.save(user);RequestMap(/findUser)public Optional findUser(String id) return userReiory.findById(id);publicerface UserReiory extends CrudReitory private String name;privatesex;privateage;報(bào)錯(cuò)以下錯(cuò)誤None of the configured nodes are available:解決方案:Vi /usr/local/elasticsearch-6.4.3/config/elasticsearch.

14、yml : myes9300 與 9200 區(qū)別9300 與 9200 區(qū)別9300 端口: ES 節(jié)點(diǎn)之間通訊使用9200 端口: ES 節(jié)點(diǎn) 和 外部 通訊使用9300 是 TCP 協(xié)議端,ES 集群之間通訊端ES RESTful 接口端9200 端,調(diào)用 RESTful 創(chuàng)建文檔/索引/類(lèi)型/id注意發(fā)送請(qǐng)求為t 類(lèi)型查詢(xún)文檔發(fā)送 get 請(qǐng)求name:mayikt, age:30,sex:0public sic void main(String args) SpringApplication.run(AppEs.class, args);查詢(xún)某類(lèi)型全部文檔發(fā)送 get 請(qǐng)求 searc

15、h倒排索引正向索引倒排索引正排索引是從文檔到關(guān)鍵字的(已知關(guān)鍵字求文檔)。(已知文檔求關(guān)鍵字),倒排索引是從關(guān)鍵字到文檔的倒排表以字或詞為關(guān)鍵字進(jìn)行索引,表中關(guān)鍵字所對(duì)應(yīng)的 表項(xiàng) 了出現(xiàn)這個(gè)字或詞的所有文檔,一個(gè)表項(xiàng)就是一個(gè)字表段,它 該文檔的 ID 和字符在該文檔中出現(xiàn)的位置情況。由于每個(gè)字或詞對(duì)應(yīng)的文檔數(shù)量在動(dòng)態(tài)變化,所以倒排表的建立和 都較為復(fù)雜,但是在查詢(xún)的時(shí)候由于可以一次得到查詢(xún)關(guān)鍵字所對(duì)應(yīng)的所有文檔,所以效率高于正排表。在全文檢索中,檢索的快速響應(yīng)是一個(gè)最為關(guān)鍵的性能,而索引建立由于在 進(jìn)行,盡管效率相對(duì)低一些,但不會(huì)影響整個(gè)搜索引擎的效率。正排表是以文檔的 ID 為關(guān)鍵字,表中文

16、檔中每個(gè)字的位置信息,查找時(shí)掃描表中每個(gè)文檔中字的信息直到找出所有包含查詢(xún)關(guān)鍵字的文檔。這種組織方法在建立索引的時(shí)候結(jié)構(gòu)比較簡(jiǎn)單,建立比較方便且易于;因?yàn)樗饕腔谖臋n建立的,若是有新的文檔加入,直接為該文檔建立一個(gè)新的索引塊,掛接在原來(lái)索引文件的后面。若是有文檔刪除,則直接找到該文檔號(hào)文檔對(duì)應(yīng)的索引信息,將其直接刪除。但是在查詢(xún)的時(shí)候需對(duì)所有的文檔進(jìn)行掃描以確保沒(méi)有遺漏,這樣就使得檢索時(shí)間大大延長(zhǎng),檢索效率低下。盡管正排表的工作原理非常的簡(jiǎn)單,但是由于其檢索效率太低,除非在特定情況下,否則實(shí)用性?xún)r(jià)值不大。文檔內(nèi)容:倒排索引會(huì)對(duì)以上文檔內(nèi)容進(jìn)行分詞,可以使用關(guān)鍵次直接定位到文檔內(nèi)容。高級(jí)查詢(xún)根

17、據(jù) id 進(jìn)行查詢(xún)GET /mymayikt/user/12查詢(xún)當(dāng)前所有類(lèi)型的文檔GET /mymayikt/user/_search單詞 ID單詞倒排列表 docId1小1,2,3,4,52一家1,2,4,53科技公司1,2,4,54開(kāi)發(fā)4,55汽車(chē)1,2,4,56奧迪1,47爽1,3,48保時(shí)捷2,39保時(shí)捷 9112105序號(hào)文檔內(nèi)容1是一家科技公司創(chuàng)始汽車(chē)是奧迪 a8l,爽。2是一家科技公司的前臺(tái),開(kāi)的汽車(chē)是保時(shí)捷 9113買(mǎi)了的保時(shí)捷 911,爽。4是一家科技公司開(kāi)發(fā)主管,開(kāi)的汽車(chē)是奧迪 a6l,爽。5是一家科技公司開(kāi)發(fā),開(kāi)的汽車(chē)是速銳,有點(diǎn)慢根據(jù)多個(gè) ID 批量查詢(xún)查詢(xún)多個(gè) id

18、分別為 1、2 GET /mymayikt/user/_mgetids:1,2復(fù)雜條件查詢(xún)查詢(xún)?yōu)?1 歲GET /mymayikt/user/_search?q=age:21查詢(xún)30 歲-60 歲之間GET /mymayikt/user/_search?q=age30 TO 60注意:TO 一定要大寫(xiě)查詢(xún)30 歲-60 歲之間 并且降序、從 0 條數(shù)據(jù)到第 1 條數(shù)據(jù)GET /mymayikt/user/_search?q=age30 TO 60&sort=age:desc&from=0&size=1查詢(xún)30 歲-60 歲之間 并且降序、從 0 條數(shù)據(jù)到第 1 條數(shù)據(jù),展示 name 和 ag

19、e 字段GET /mymayikt/user/_search?q=age30 TO 60&sort=age:desc&from=0&size=1&_source=name,ageDsl 語(yǔ)言查詢(xún)與過(guò)濾什么是 DSL 語(yǔ)言es 中的查詢(xún)請(qǐng)求有兩種方式,一種是簡(jiǎn)易版的查詢(xún),另外一種是使用 JSON 完整的請(qǐng)求體,叫做結(jié)構(gòu)化查詢(xún)(DSL)。由于 DSL 查詢(xún)更為直觀也更為簡(jiǎn)易,所以大都使用這種方式。DSL 查詢(xún)是T 過(guò)去一個(gè)json,由于有很多形式。t 的請(qǐng)求是 json 格式的,所以存在很多靈活性,也根據(jù)名稱(chēng)精確查詢(xún)#term 是代表完全匹配,即不進(jìn)行分詞器分析,文檔中必須包含整個(gè)搜索的詞匯根據(jù)汽

20、車(chē)名稱(chēng)模糊查詢(xún)#match 查詢(xún)相當(dāng)于模糊匹配,只包含其中一部分就行Term 查詢(xún)不會(huì)對(duì)字段進(jìn)行分詞查詢(xún),會(huì)采用精確匹配。Match 會(huì)根據(jù)該字段的分詞器,進(jìn)行分詞查詢(xún)。Term 與 Match 區(qū)別GET /mymayikt/user/_searchfrom: 0,size: 2,query: match: car: 奧迪GET mymayikt/user/_searchquery: term: name: xiaoming使用 filter 過(guò)濾分詞器什么是分詞器因?yàn)?Elasticsearch 中默認(rèn)的標(biāo)準(zhǔn)分詞器分詞器對(duì)中文分詞不是很友好,會(huì)將中文詞語(yǔ)拆分成一個(gè)一個(gè)中文的漢子。因此引入中

21、文分詞器-es-ik 插件GET /mymayikt/user/_searchquery: bool: must: match_all: ,filter: range: age: gt: 21,lte: 51,from: 0,size: 10,_source: name, age演示傳統(tǒng)分詞器地址:/medcl/elasticsearch-ysis-ik/releases注意: es-ik 分詞插件版本一定要和 es 安裝的版本對(duì)應(yīng)第一步:es 的 IK 插件(資料中有)命名改為 ik 插件第二步: 上傳到/usr/local/elasticsearch-6.4.3/plugins第三步: 重

22、啟 elasticsearch 即可yze yzer: standard, text: 奧迪a4ltokens: token: 奧,start_offset: 0,end_offset: 1,type: ,ition: 0,token: 迪,start_offset: 1,end_offset: 2,type: ,ition: 1,token: a4l,start_offset: 2,end_offset: 5,type: ,ition: 2自定義擴(kuò)展字典在/usr/local/elasticsearch-6.4.3/plugins/ik/config 目錄下vi custom/new_wor

23、d.dic老鐵王者榮耀洪荒之力共有產(chǎn)權(quán)房yzeyzer: ik_smart,text: 奧迪tokens: token: 奧迪, start_offset: 0,end_offset: 2, type: CN_WORD,ition: 0,token: a4l, start_offset: 2,end_offset: 5, type: LETTER,ition: 1vi IKyzer.cfg.xml文檔已經(jīng)把 ElasticSearch 的概念和關(guān)系數(shù)據(jù)庫(kù)做了一個(gè)對(duì)比,索引(index)相當(dāng)于數(shù)據(jù)庫(kù),類(lèi)型(type)相當(dāng)于數(shù)據(jù)表,(Map)相當(dāng)于數(shù)據(jù)表的表結(jié)構(gòu)。ElasticSearch 中的(

24、Map)用來(lái)定義一個(gè)文檔,可以定義所包含的字段以及字段的類(lèi)型、分詞器及屬性等等。文檔就是給文檔中的字段指定字段類(lèi)型、分詞器。使用 GET /mymayikt/user/_map的分類(lèi)動(dòng)態(tài)知道,在關(guān)系數(shù)據(jù)庫(kù)中,需要事先創(chuàng)建數(shù)據(jù)庫(kù),然后在該數(shù)據(jù)庫(kù)實(shí)例下創(chuàng)建數(shù)據(jù)表,然后才能在該數(shù)據(jù)表中數(shù)據(jù)。而 ElasticSearch 中不需要事先定義(Map),文檔。寫(xiě)入 ElasticSearch 時(shí),會(huì)根據(jù)文檔字段自動(dòng)識(shí)別類(lèi)型,這種機(jī)制稱(chēng)之為動(dòng)態(tài)IKyzer 擴(kuò)展配置custom/new_word.dic!- words_location -!- words_location -靜態(tài)在 ElasticSea

25、rch 中也可以事先定義好,包含文檔的各個(gè)字段及其類(lèi)型等,這種方式稱(chēng)之為靜態(tài)。ES 類(lèi)型支持基本類(lèi)型符串:string,string 類(lèi)型包含 text 和 keyword。text:該類(lèi)型被用來(lái)索引長(zhǎng)文本,在創(chuàng)建索引前會(huì)將這些文本進(jìn)行分詞,轉(zhuǎn)化為詞的組合,建立索引;允許 es 來(lái)檢索這些詞,text 類(lèi)型不能用來(lái)排序和聚合。keyword:該類(lèi)型不需要進(jìn)行分詞,可以被用來(lái)檢索過(guò)濾、排序和聚合,keyword 類(lèi)型自讀那只能用本身來(lái)進(jìn)行檢索(不可用 text 分詞后的模糊檢索)。注意: keyword 類(lèi)型不能分詞,Text 類(lèi)型可以分詞查詢(xún)數(shù)指型:long、eger、short、byte、d

26、ouble、float日期型:date型:二進(jìn)制型:binary數(shù)組類(lèi)型(Array daype)復(fù)雜類(lèi)型地理坐標(biāo)類(lèi)型(Geo-po地理形狀類(lèi)型(Geo-Shdadaype):geo_po用于坐標(biāo)ype):geo_sh用于類(lèi)似于多邊形的復(fù)雜形狀特定類(lèi)型(Spelised daypes)Pv4 類(lèi)型(IPv4 daype):ip 用于 IPv4 地址Completion 類(lèi)型(Completion daToken count 類(lèi)型(Token count daype):completion 提供自動(dòng)補(bǔ)全建議ype):token_count 用于統(tǒng)計(jì)做子標(biāo)記的字段的 index數(shù)目,該值會(huì)一直增加

27、,不會(huì)因?yàn)檫^(guò)濾條件而減少mapper-murmur3附加類(lèi)型(Atta索引,例如類(lèi)型:通過(guò)插件,可以通過(guò)_murmur3_來(lái)計(jì)算 index 的哈希值ent daype):采用 mapper-attaents 插件,可支持_attaents_office 格式,Open Documnet 格式, ePub,HTML 等地理位置類(lèi)型(Geo daypes)yzer 索引分詞器,索引創(chuàng)建的時(shí)候使用的分詞器 比如 ik_smartSearch_yzer 搜索字段的值時(shí),指定的分詞器創(chuàng)建文檔類(lèi)型并且指定類(lèi)型T /mymayikt/_map/useruser: properties:age:type:e

28、ger,sex:type:eger,name: type:text,yzer:ik_smart, search_yzer:ik_smart,car:type:keyword請(qǐng)求地址/索引/_settingsES 集群管理ES 是如何解決高并發(fā)ES 是一個(gè)分布式全文檢索框架,隱藏了復(fù)雜的處理機(jī)制,分片負(fù)載均衡請(qǐng)求路由。內(nèi)容 分片機(jī)制、集現(xiàn)、ES 基本概念名詞Cluster代表一個(gè)集群,集群中有多個(gè)節(jié)點(diǎn),其中有一個(gè)為主節(jié)點(diǎn),這個(gè)主節(jié)點(diǎn)是可以通過(guò)產(chǎn)生的,主從節(jié)點(diǎn)是對(duì)于集群內(nèi)部來(lái)說(shuō)的。es 的一個(gè)概念就是去中心化,字面上理解就是無(wú)中心節(jié)點(diǎn),這是對(duì)于集群外部來(lái)說(shuō)的,因?yàn)閺耐獠縼?lái)看 es 集群,在邏輯上是個(gè)整體,你與任何一個(gè)節(jié)點(diǎn)的通信和與整個(gè) es 集群通信是等價(jià)的。Shards代表索引分片,es 可以把一個(gè)完整的索引分成多個(gè)分片,這樣的好處是可以把一個(gè)大的索引拆分成多個(gè),分布到不同的節(jié)點(diǎn)上。并且索引創(chuàng)建后不能更改。分布式搜索。分片的數(shù)量只能在索引創(chuàng)建前指定,replicas代表索引副本,es 可以設(shè)置多個(gè)索引的副本,副本的作用一是提高系統(tǒng)的容錯(cuò)性,當(dāng)某個(gè)節(jié)點(diǎn)某個(gè)分片損壞或丟失時(shí)可以從副本中恢復(fù)。二是提高 es 的查詢(xún)效率,es 會(huì)自動(dòng)對(duì)搜索請(qǐng)求進(jìn)行負(fù)載均衡。Recovery代表數(shù)據(jù)恢復(fù)或叫數(shù)據(jù)重新分布,es 在有節(jié)點(diǎn)加入或退出時(shí)會(huì)根據(jù)機(jī)器的負(fù)載對(duì)索

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論