配置Elasticsearch

配置Elasticsearch

Elasticsearch船只具有良好的默認(rèn)值,并且只需要很少的配置。可以在運(yùn)行的集群上使用集群更新設(shè)置API更改大多數(shù)設(shè)置。
配置文件應(yīng)該包含特定于節(jié)點(diǎn)的設(shè)置(例如node.name和路徑),或者節(jié)點(diǎn)為了能夠加入集群而需要的設(shè)置,例如cluster.namenetwork.host

配置文件位置

Elasticsearch有三個(gè)配置文件:

  • elasticsearch.yml for configuring Elasticsearch
  • jvm.options for configuring Elasticsearch JVM settings
  • log4j2.properties for configuring Elasticsearch logging

這些文件位于config目錄中,其默認(rèn)位置取決于安裝是來自存檔分發(fā)版(tar.gz或zip)還是包分發(fā)版(Debian或RPM包)。
對(duì)于存檔發(fā)行版,config目錄位置默認(rèn)為$ES_HOME/config。配置目錄的位置可以通過ES_PATH_CONF環(huán)境變量改變,如下所示:

ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch

或者,您可以通過命令行或shell配置文件導(dǎo)出ES_PATH_CONF環(huán)境變量。

對(duì)于包分發(fā),配置目錄位置默認(rèn)為/etc/elasticsearch。配置目錄的位置也可以通過ES_PATH_CONF環(huán)境變量更改,但是請(qǐng)注意,僅在shell中設(shè)置是不夠的。相反,這個(gè)變量來源于/etc/default/elasticsearch(用于Debian包)和/etc/sysconfig/elasticsearch(用于RPM包)。您需要相應(yīng)地在其中一個(gè)文件中編輯ES_PATH_CONF=/etc/elasticsearch條目,以更改配置目錄的位置。

配置文件格式

配置格式為YAML。下面是更改數(shù)據(jù)和日志目錄路徑的示例:

path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch

設(shè)置也可以扁平化如下:

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

在YAML中,你可以將非標(biāo)量值格式化為序列:

discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11
   - seeds.mydomain.com

雖然不太常見,但你也可以將非標(biāo)量值格式化為數(shù)組:

discovery.seed_hosts: ["192.168.1.10:9300", "192.168.1.11", "seeds.mydomain.com"]

環(huán)境變量替換

使用${…}符號(hào)將被替換為環(huán)境變量的值。例如:

node.name:    ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}

環(huán)境變量的值必須是簡(jiǎn)單字符串。使用逗號(hào)分隔的字符串來提供Elasticsearch將解析為列表的值。例如,Elasticsearch將以下字符串分割為${HOSTNAME}環(huán)境變量的值列表

export HOSTNAME=“host1,host2"

集群和節(jié)點(diǎn)設(shè)置類型

集群和節(jié)點(diǎn)設(shè)置可以根據(jù)配置方式進(jìn)行分類:

Dynamic

您可以使用集群更新設(shè)置API在運(yùn)行的集群上配置和更新動(dòng)態(tài)設(shè)置。您還可以使用elasticsearch.yml在未啟動(dòng)或關(guān)閉的節(jié)點(diǎn)上本地配置動(dòng)態(tài)設(shè)置。

使用集群更新設(shè)置API進(jìn)行的更新可以是持久的(跨集群重啟應(yīng)用),也可以是短暫的(在集群重啟后重置)。您還可以通過使用API為臨時(shí)或持久設(shè)置賦值為空來重置它們。

如果您使用多個(gè)方法配置相同的設(shè)置,Elasticsearch將按照以下優(yōu)先順序應(yīng)用這些設(shè)置:

  • 1.Transient setting(瞬態(tài)設(shè)置)
  • 2.Persistent setting(持續(xù)設(shè)置)
  • 3.elasticsearch.yml setting
  • 4.Default setting value

例如,您可以應(yīng)用瞬變?cè)O(shè)置來覆蓋持久設(shè)置或elasticsearch.yml設(shè)置。然而,對(duì)elasticsearch.yml的更改,不會(huì)覆蓋已定義的瞬態(tài)或持久設(shè)置。

最好使用集群更新設(shè)置API設(shè)置動(dòng)態(tài)的集群范圍設(shè)置,并使用elasticsearch.yml僅用于本地配置。使用集群更新設(shè)置API可以確保所有節(jié)點(diǎn)上的設(shè)置是相同的。如果您不小心在elasticsearch.yml中配置了不同的設(shè)置。在不同的節(jié)點(diǎn)上,很難注意到差異。

Static

靜態(tài)設(shè)置只能在未啟動(dòng)或關(guān)閉的節(jié)點(diǎn)上使用elasticsearch.yml進(jìn)行配置。

必須在集群中的每個(gè)相關(guān)節(jié)點(diǎn)上設(shè)置靜態(tài)設(shè)置

重要Elasticsearch配置

Elasticsearch開始時(shí)只需要很少的配置,但是在生產(chǎn)環(huán)境中使用集群之前,有很多方面需要考慮:

Path settings[路徑設(shè)置]

Elasticsearch將創(chuàng)建索引的數(shù)據(jù)寫入索引,將數(shù)據(jù)流寫入數(shù)據(jù)目錄。Elasticsearch將自己的應(yīng)用程序日志(其中包含關(guān)于集群運(yùn)行狀況和操作的信息)寫入日志目錄

對(duì)于macOS .tar.gz、Linux .tar.gz和Windows .zip安裝,數(shù)據(jù)和日志默認(rèn)是$ES_HOME的子目錄。但是,在升級(jí)過程中,$ES_HOME中的文件有被刪除的風(fēng)險(xiǎn)

In production, we strongly recommend you set the path.data and path.logs in elasticsearch.yml to locations outside of $ES_HOME. Docker, Debian, RPM, macOS Homebrew, and Windows .msi installations write data and log to locations outside of $ES_HOME by default.

To avoid errors, only Elasticsearch should open files in the path.data directory. Exclude the path.data directory from other services that may open and lock its files, such as antivirus or backup programs.

Supported path.data and path.logs values vary by platform

Linux and macOS installations support Unix-style paths:

path:
  data: /var/data/elasticsearch
  logs: /var/log/elasticsearch

Windows installations support DOS paths with escaped backslashes:

path:
  data: "C:\\Elastic\\Elasticsearch\\data"
  logs: "C:\\Elastic\\Elasticsearch\\logs"

Cluster name setting[集群名稱設(shè)置]

只有當(dāng)一個(gè)節(jié)點(diǎn)與集群中的所有其他節(jié)點(diǎn)共享cluster.name時(shí),該節(jié)點(diǎn)才能加入集群。默認(rèn)名稱是elasticsearch,但是您應(yīng)該將其更改為描述集群用途的適當(dāng)名稱。

cluster.name: logging-prod

不要在不同的環(huán)境中重用相同的集群名稱。否則,節(jié)點(diǎn)可能會(huì)加入錯(cuò)誤的集群

Node name setting[節(jié)點(diǎn)名稱設(shè)置]

Elasticsearch使用 node.name 作為Elasticsearch特定實(shí)例的人類可讀標(biāo)識(shí)符。這個(gè)名稱包含在許多api的響應(yīng)中。當(dāng)Elasticsearch啟動(dòng)時(shí),節(jié)點(diǎn)名默認(rèn)為機(jī)器的主機(jī)名,但是可以在 elasticsearch.yml 中顯式配置

node.name: prod-data-2

Network host setting[網(wǎng)絡(luò)主機(jī)設(shè)置]

缺省情況下,Elasticsearch只綁定到127.0.0.1[::1]等環(huán)回地址。這對(duì)于在單個(gè)服務(wù)器上運(yùn)行一個(gè)或多個(gè)節(jié)點(diǎn)的集群進(jìn)行開發(fā)和測(cè)試已經(jīng)足夠了,但是彈性生產(chǎn)集群必須包含其他服務(wù)器上的節(jié)點(diǎn)。有許多網(wǎng)絡(luò)設(shè)置,但通常你只需要配置network.host:

network.host: 192.168.1.10

當(dāng)你為network.host 提供值時(shí)。Elasticsearch假定您正在從開發(fā)模式轉(zhuǎn)向生產(chǎn)模式,并將一些系統(tǒng)啟動(dòng)檢查從警告升級(jí)到異常。看看開發(fā)和生產(chǎn)模式之間的區(qū)別。

Discovery and cluster formation settings[發(fā)現(xiàn)和集群形成設(shè)置]

在投入生產(chǎn)之前,配置兩個(gè)重要的發(fā)現(xiàn)和集群形成設(shè)置,以便集群中的節(jié)點(diǎn)能夠相互發(fā)現(xiàn)并選擇一個(gè)主節(jié)點(diǎn)。

discovery.seed_hosts

Elasticsearch可以開箱即用,無需任何網(wǎng)絡(luò)配置,它將綁定到可用的環(huán)回地址,并掃描本地端口 93009305,以便與運(yùn)行在同一服務(wù)器上的其他節(jié)點(diǎn)連接。這種行為提供了一種無需進(jìn)行任何配置的自動(dòng)集群體驗(yàn)。

當(dāng)您希望與其他主機(jī)上的節(jié)點(diǎn)形成集群時(shí),使用 靜態(tài) discovery.seed_hosts 設(shè)置. This setting provides a list of other nodes in the cluster that are master-eligible and likely to be live and contactable to seed the discovery process.
此設(shè)置接受集群中所有符合主節(jié)點(diǎn)的地址的YAML序列或數(shù)組。每個(gè)地址可以是一個(gè)IP地址,也可以是通過DNS解析為一個(gè)或多個(gè)IP地址的主機(jī)名。

discovery.seed_hosts:
  - 192.168.1.10:9300 
  - 192.168.1.11
  - seeds.mydomain.com 
  - [0:0:0:0:0:ffff:c0a8:10c]:9301
  • 192.168.1.11 該端口是可選的,默認(rèn)為9300,但可以覆蓋。
  • seeds.mydomain.com 如果一個(gè)主機(jī)名解析為多個(gè)IP地址,該節(jié)點(diǎn)將嘗試在所有解析地址上發(fā)現(xiàn)其他節(jié)點(diǎn)。
  • [0:0:0:0:0:ffff:c0a8:10c]:9301 IPv6地址必須用方括號(hào)括起來。
    如果符合主節(jié)點(diǎn)條件的節(jié)點(diǎn)沒有固定的名稱或地址,則使用替代主機(jī)提供程序動(dòng)態(tài)查找它們的地址。
cluster.initial_master_nodes

當(dāng)您第一次啟動(dòng)Elasticsearch集群時(shí),集群引導(dǎo)步驟將確定在第一次選舉中計(jì)票的符合主資格的節(jié)點(diǎn)集。在開發(fā)模式下,如果沒有配置發(fā)現(xiàn)設(shè)置,這個(gè)步驟將由節(jié)點(diǎn)自己自動(dòng)執(zhí)行。

因?yàn)樽詣?dòng)引導(dǎo)本身就不安全,,所以在生產(chǎn)模式下啟動(dòng)新集群時(shí),必須顯式列出符合主資格的節(jié)點(diǎn),這些節(jié)點(diǎn)的投票應(yīng)該在第一次選舉中計(jì)算。您可以使用集群設(shè)置此列表。initial_master_nodes設(shè)置。

在集群第一次成功形成之后,刪除每個(gè)節(jié)點(diǎn)配置中的Initial_master_nodes設(shè)置。在重新啟動(dòng)集群或向現(xiàn)有集群添加新節(jié)點(diǎn)時(shí),不要使用此設(shè)置。

discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11
   - seeds.mydomain.com
   - [0:0:0:0:0:ffff:c0a8:10c]:9301
cluster.initial_master_nodes: 
   - master-node-a 
   - master-node-b 
   - master-node-c
  • cluster.initial_master_nodes

通過節(jié)點(diǎn)的node.name標(biāo)識(shí)初始主節(jié)點(diǎn), 該節(jié)點(diǎn)默認(rèn)為主節(jié)點(diǎn)的主機(jī)名。請(qǐng)確保cluster.initial_master_nodes值 與node.name完全匹配如果您使用完全限定的域名(FQDN),例如master-node-a.example.com作為您的節(jié)點(diǎn)名,那么您必須在此列表中使用FQDN。相反,如果node.name是沒有任何尾隨限定符的裸主機(jī)名,您也必須省cluster.initial_master_nodes中的尾隨限定符如果您使用完全限定的域名(FQDN),例如 master-node-a.example.com 作為您的節(jié)點(diǎn)名, 那么您必須在此列表中使用FQDN。相反,如果f node.name 是沒有任何尾隨限定符的裸主機(jī)名,您也必須省略 cluster.initial_master_nodes 中的尾隨限定符。

請(qǐng)參見 bootstrapping a cluster 以及發(fā)現(xiàn)和集群形成設(shè)置.

Heap size settings[堆大小設(shè)置]

默認(rèn)情況下,Elasticsearch會(huì)根據(jù)節(jié)點(diǎn)的角色和總內(nèi)存自動(dòng)設(shè)置JVM堆大小。對(duì)于大多數(shù)生產(chǎn)環(huán)境,我們建議使用默認(rèn)大小。

自動(dòng)堆大小需要 bundled JDK ,如果使用自定義JRE位置,則需要Java 14或更高版本的JRE。

如果需要,您可以通過手動(dòng)設(shè)置JVM堆大小來覆蓋默認(rèn)大小

JVM heap dump path setting[JVM堆轉(zhuǎn)儲(chǔ)路徑設(shè)置]

默認(rèn)情況下,Elasticsearch將JVM配置為將堆內(nèi)存溢出異常轉(zhuǎn)儲(chǔ)到默認(rèn)數(shù)據(jù)目錄。在RPM和Debian軟件包中,數(shù)據(jù)目錄是/var/lib/elasticsearch。在Linux、MacOS和Windows發(fā)行版上,數(shù)據(jù)目錄位于Elasticsearch安裝的根目錄下。

如果此路徑不適合接收堆轉(zhuǎn)儲(chǔ),請(qǐng)修改 -XX:HeapDumpPath=… jvm.options

  • 如果您指定了一個(gè)目錄,那么JVM將根據(jù)運(yùn)行實(shí)例的PID為堆轉(zhuǎn)儲(chǔ)生成一個(gè)文件名
  • 如果指定固定的文件名而不是目錄,那么當(dāng)JVM需要對(duì)內(nèi)存不足異常執(zhí)行堆轉(zhuǎn)儲(chǔ)時(shí),該文件一定不存在。否則,堆轉(zhuǎn)儲(chǔ)將失敗

GC logging settings[GC日志記錄設(shè)置]

默認(rèn)情況下,Elasticsearch啟用垃圾收集(GC)日志。這些是在jvm中配置的 jvm.options 并輸出到與Elasticsearch日志相同的默認(rèn)位置。默認(rèn)配置每64mb輪換一次日志,最多可以消耗2gb的磁盤空間。

您可以使用JEP 158: Unified JVM Logging中描述的命令行選項(xiàng)重新配置JVM日志。除非您更改了默認(rèn)jvm。選項(xiàng)文件,Elasticsearch默認(rèn)配置將應(yīng)用于您自己的設(shè)置之外。要禁用默認(rèn)配置,首先通過提供 -Xlog:disable選項(xiàng)禁用日志記錄,然后提供您自己的命令行選項(xiàng)。這將禁用所有JVM日志記錄,因此一定要檢查可用選項(xiàng)并啟用所需的所有內(nèi)容。

要查看原始JEP中未包含的其他選項(xiàng),請(qǐng)參見使用 JVM統(tǒng)一日志框架啟用日志記錄.

Examples

Change the default GC log output location to /opt/my-app/gc.log by creating $ES_HOME/config/jvm.options.d/gc.options with some sample options:

# Turn off all previous logging configuratons
-Xlog:disable

# Default settings from JEP 158, but with `utctime` instead of `uptime` to match the next line
-Xlog:all=warning:stderr:utctime,level,tags

# Enable GC logging to a custom location with a variety of options
-Xlog:gc*,gc+age=trace,safepoint:file=/opt/my-app/gc.log:utctime,pid,tags:filecount=32,filesize=64m

Configure an Elasticsearch Docker container to send GC debug logs to standard error (stderr). This lets the container orchestrator handle the output. If using the ES_JAVA_OPTS environment variable, specify:

MY_OPTS="-Xlog:disable -Xlog:all=warning:stderr:utctime,level,tags -Xlog:gc=debug:stderr:utctime"
docker run -e ES_JAVA_OPTS="$MY_OPTS" # etc

Temporary directory settings[臨時(shí)目錄設(shè)置]

默認(rèn)情況下,Elasticsearch使用啟動(dòng)腳本直接在系統(tǒng)臨時(shí)目錄下創(chuàng)建的私有臨時(shí)目錄。

在某些Linux發(fā)行版上,如果最近沒有訪問過/tmp中的文件和目錄,系統(tǒng)實(shí)用程序?qū)⑶宄鼈儭H绻枰R時(shí)目錄的特性長(zhǎng)時(shí)間不使用,那么在Elasticsearch運(yùn)行時(shí),這種行為會(huì)導(dǎo)致私有臨時(shí)目錄被刪除。如果隨后使用需要此目錄的特性,則刪除私有臨時(shí)目錄會(huì)導(dǎo)致問題。

如果您使用.deb或.rpm包安裝Elasticsearch,并在systemd下運(yùn)行它,那么Elasticsearch使用的私有臨時(shí)目錄將被排除在定期清理之外。

如果您打算在Linux或MacOS上長(zhǎng)時(shí)間運(yùn)行.tar.gz發(fā)行版,請(qǐng)考慮為Elasticsearch創(chuàng)建一個(gè)專用的臨時(shí)目錄,該目錄不在將舊文件和目錄清除的路徑下。這個(gè)目錄應(yīng)該設(shè)置權(quán)限,以便只有作為Elasticsearch運(yùn)行的用戶才能訪問它。然后,在啟動(dòng)Elasticsearch之前,設(shè)置$ES_TMPDIR環(huán)境變量指向這個(gè)目錄。

JVM fatal error log setting[JVM致命錯(cuò)誤日志設(shè)置]

默認(rèn)情況下,Elasticsearch將JVM配置為將致命錯(cuò)誤日志寫入默認(rèn)日志目錄。對(duì)于 RPMDebian 軟件包, 這個(gè)目錄是 /var/log/elasticsearch. On Linux and MacOS and Windows 發(fā)行版, logs目錄位于Elasticsearch安裝根目錄下。

這些日志是JVM遇到致命錯(cuò)誤(例如分段錯(cuò)誤)時(shí)產(chǎn)生的。如果此路徑不適合接收日志,請(qǐng)修改-XX:ErrorFile=...jvm.options條目。

Cluster backups[集群備份]

在災(zāi)難中,快照可以防止數(shù)據(jù)永久丟失。快照生命周期管理是對(duì)集群進(jìn)行定期備份的最簡(jiǎn)單方法。有關(guān)更多信息,請(qǐng)參見備份集群。

在災(zāi)難中, 快照可以防止數(shù)據(jù)永久丟失. 快照生命周期管理 是對(duì)集群進(jìn)行定期備份的最簡(jiǎn)單方法. 有關(guān)更多信息, 請(qǐng)參見備份集群

備份集群的唯一可靠和受支持的方法是使用快照。您不能通過復(fù)制Elasticsearch集群節(jié)點(diǎn)的數(shù)據(jù)目錄來備份該集群。不支持從文件系統(tǒng)級(jí)備份恢復(fù)任何數(shù)據(jù)的方法。如果試圖從這樣的備份恢復(fù)集群,可能會(huì)出現(xiàn)損壞、丟失文件或其他數(shù)據(jù)不一致的報(bào)告,或者看起來已經(jīng)成功地悄無聲息地丟失了一些數(shù)據(jù)。

Secure settings安全設(shè)置

有些設(shè)置是敏感的,僅依靠文件系統(tǒng)權(quán)限來保護(hù)它們的值是不夠的。對(duì)于這個(gè)用例,Elasticsearch提供了一個(gè)密鑰存儲(chǔ)庫(kù)和elasticsearch -keystore工具來管理密鑰存儲(chǔ)庫(kù)中的設(shè)置。

只有一些設(shè)置被設(shè)計(jì)為從密鑰存儲(chǔ)庫(kù)中讀取。但是,密鑰存儲(chǔ)庫(kù)沒有驗(yàn)證來阻止不支持的設(shè)置。向密鑰存儲(chǔ)庫(kù)添加不支持的設(shè)置會(huì)導(dǎo)致Elasticsearch啟動(dòng)失敗。要查看密鑰存儲(chǔ)庫(kù)中是否支持某個(gè)設(shè)置,請(qǐng)查找設(shè)置引用的“Secure”限定符。

只有重新啟動(dòng)Elasticsearch后,對(duì)keystore的所有修改才會(huì)生效。

這些設(shè)置就像elasticsearch中的常規(guī)設(shè)置一樣。Yml配置文件,需要在集群中的每個(gè)節(jié)點(diǎn)上指定。目前,所有安全設(shè)置都是特定于節(jié)點(diǎn)的設(shè)置,在每個(gè)節(jié)點(diǎn)上必須具有相同的值。

Reloadable secure settings可寫安全設(shè)置

Just like the settings values in elasticsearch.yml, 對(duì)密鑰存儲(chǔ)庫(kù)內(nèi)容的更改不會(huì)自動(dòng)應(yīng)用到運(yùn)行的Elasticsearch節(jié)點(diǎn)。重新讀取設(shè)置需要重新啟動(dòng)節(jié)點(diǎn)。但是,某些安全設(shè)置被標(biāo)記為可重新加載。. Such settings can be re-read and applied on a running node.

所有安全設(shè)置的值(無論是否可重新加載)必須在所有集群節(jié)點(diǎn)上相同。在進(jìn)行所需的安全設(shè)置更改后,使用 bin/elasticsearch-keystore add 命令, call:

POST  _nodes/reload_secure_settings  
{  
  "secure_settings_password":  "keystore-password" 
}

keystore-password : 用于加密Elasticsearch密鑰庫(kù)的密碼

此API在每個(gè)集群節(jié)點(diǎn)上解密并重新讀取整個(gè)密鑰存儲(chǔ)庫(kù),但只應(yīng)用可重新加載的安全設(shè)置。對(duì)其他設(shè)置的更改直到下次重啟才會(huì)生效。一旦調(diào)用返回,重新加載就完成了,這意味著依賴于這些設(shè)置的所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)都已更改。所有的設(shè)置都應(yīng)該從一開始就具有新值。

當(dāng)更改多個(gè)可重新加載的安全設(shè)置時(shí),在每個(gè)集群節(jié)點(diǎn)上修改所有安全設(shè)置,然后發(fā)出reload_secure_settings調(diào)用,而不是在每次修改后重新加載。

有可重新加載的安全設(shè)置:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,441評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,475評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,834評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,009評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,559評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,516評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,728評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評(píng)論 1 295
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,249評(píng)論 3 399
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,484評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容