CM5和CDH5(5.13.1) 離線安裝Centos7

  • 概述
  • 文件下載
  • 環(huán)境搭建
  • 安裝Cloudera Manger
  • 日志查看
  • Q&A

概述

大數(shù)據(jù)時(shí)代,Hadoop是熱門的Apache開源項(xiàng)目逃糟,公司大多基于其商業(yè)化從而滿足自身的數(shù)據(jù)作業(yè)需求肛炮。CDH(Cloudera’s Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護(hù)二汛,整合Hadoop及一系列數(shù)據(jù)服務(wù),關(guān)于CDH拨拓,官網(wǎng)給予的解釋如下:

Critical Capabilities for Data Warehouse Database Management Systems

官網(wǎng)提供安裝包肴颊、部署手冊(cè)以及API說(shuō)明
安裝過(guò)程參考:
http://blog.csdn.net/jdplus/article/details/45920733
http://blog.csdn.net/a921122/article/details/51939692

基于其上,進(jìn)行適當(dāng)?shù)男薷暮屯晟?/p>

文件下載

  1. Cloudera Manager 地址:http://archive.cloudera.com/cm5/cm/5/
    這里下載的是5.13.1的版本渣磷,http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz
  2. CDH安裝包
    地址:http://archive.cloudera.com/cdh5/parcels
    本文基于CentOS7婿着,下載的parcels包及manifest文件對(duì)應(yīng)的版本為e17:
    CDH-5.13.1-1.cdh5.9.0.p0.23-el7.parcel
    CDH-5.13.1-1.cdh5.9.0.p0.23-el7.parcel.sha1
    manifest.json
  3. JDBC
    http://download.softagency.net/MySQL/Downloads/Connector-J/
    mysql-connector-java-5.1.39.tar.gz

    note : JDBC目前已經(jīng)有6.x,但與CDH 5.x存在不兼容醋界,這里提供5.1.39下載包

環(huán)境搭建


1. 網(wǎng)絡(luò)配置(所有節(jié)點(diǎn))

修改主機(jī)名:vim /etc/sysconfig/network

HOSTNAME=master

設(shè)置網(wǎng)絡(luò)為啟動(dòng)后自動(dòng)連接竟宋,相關(guān)的設(shè)置文件為vim /etc/sysconfig/network-scripts/ifcfg-ethXX/

ONBOOT=yes

修改IP與主機(jī)名的對(duì)應(yīng)關(guān)系:vim /etc/hosts

192.168.39.31 master
192.168.39.20 node1
192.168.39.23 node2

2. 設(shè)置SSH無(wú)密碼訪問(wèn)(所有節(jié)點(diǎn))

執(zhí)行一下命令,一路回車形纺,生成無(wú)密碼的密鑰對(duì)丘侠。

# ssh-keygen -t rsa

將公鑰添加到認(rèn)證文件中, 并設(shè)置authorized_keys的訪問(wèn)權(quán)限

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys

通過(guò)scp命令將各節(jié)點(diǎn)的認(rèn)證文件拷貝到所有其他節(jié)點(diǎn)使得各節(jié)點(diǎn)能夠相互訪問(wèn)。

3. 安裝Oracle Java(所有節(jié)點(diǎn))

Linux可能自帶OpenJDK逐样,但運(yùn)行CDH5需要使用Oracle的JDK蜗字,需要Java 7以上版本的支持。

1. 卸載自帶的OpenJDK 使用下述命令查詢相關(guān)的java包

# rpm -qa | grep java

使用-e選項(xiàng)填入包名卸載

# rpm -e --nodeps packageName

2. 安裝Oracle java Oracle的官網(wǎng)下載jdk的rpm安裝包脂新,并使用rpm -ivh packageName安裝
3. 配置java環(huán)境變量 修改環(huán)境變量挪捕,vim /etc/environment(和/etc/profile區(qū)別,大家可自行去網(wǎng)上查找) 添加如下(使用rpm安裝的java在/usr/java/jdk1.8XXXX)

export JAVA_HOME=/usr/java/jdk1.8XXXX

執(zhí)行命令使環(huán)境變量生效

# source /etc/environment

4. 安裝配置MySQL(主節(jié)點(diǎn))

安裝mysql

# yum -y install mysql mysql-server mysql-devel

啟動(dòng)mysqld

# service mysqld start

開機(jī)啟動(dòng)

# chkconfig mysqld on

設(shè)置root用戶密碼

# mysql -u root -p xxxxxx

進(jìn)入mysql命令行争便,創(chuàng)建以下數(shù)據(jù)庫(kù):

#hive 
> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity oozie (可選)
> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

授權(quán)root用戶在主節(jié)點(diǎn)擁有所有數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限

> grant all privileges on *.* to'root'@'master' identified by'xxxx'with grant option;
> flush privileges;
> 

5. 關(guān)閉防火墻和SELinux

關(guān)閉防火墻


1.關(guān)閉集群所有服務(wù)器的防火墻

[root@ip-172-31-6-148~]# chkconfig iptables off
[root@ip-172-31-6-148~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@ip-172-31-6-148 ~]# 

2.檢查集群所有服務(wù)器防火墻是否關(guān)閉

[root@ip-172-31-6-148~]# service iptables status
iptables: Firewall is not running.
[root@ip-172-31-6-148~]# 

禁用SELinux


1.在集群所有節(jié)點(diǎn)執(zhí)行如下命令

[root@ip-172-31-6-148~]# setenforce 0

2.修改集群所有節(jié)點(diǎn)配置文件/etc/selinux/config

[root@ip-172-31-6-148~]# vim /etc/selinux/config 

# This file controls the state ofSELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policyis enforced.
#     permissive - SELinux printswarnings instead of enforcing.
#     disabled - No SELinux policy isloaded.
SELINUX=disabled
# SELINUXTYPE= can take one of thesetwo values:
#     targeted - Targeted processes areprotected,
#     mls - Multi Level Securityprotection.
SELINUXTYPE=targeted

3.驗(yàn)證是否禁用成功

[root@ip-172-31-6-148~]# sestatus -v
SELinux status:                 disabled
[root@ip-172-31-6-148~]# 

6. 配置時(shí)鐘同步


如果企業(yè)有自己的NTP Server則可以集群中所有節(jié)點(diǎn)可配置企業(yè)NTP Server级零,如果沒有自己的NTP服務(wù)器則在集群中選用一臺(tái)服務(wù)器作為NTP Server,其它服務(wù)器與其保持同步始花,配置如下:

1.在集群所有節(jié)點(diǎn)安裝NTP服務(wù)

[root@ip-172-31-6-148~]# yum -y install ntp

2.選擇集群一臺(tái)服務(wù)器作為NTP Server妄讯,配置如下

[root@ip-172-31-6-148~]# vim /etc/ntp.conf

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server  127.127.1.0     #local clock
fudge   127.127.1.0 stratum 10

3.集群其它節(jié)點(diǎn)與其同步,配置如下:

[ip-172-31-5-190 ~]# vim /etc/ntp.conf

# Use public servers from thepool.ntp.org project.
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 172.31.6.148

4.完成以上配置后酷宵,在集群所有節(jié)點(diǎn)執(zhí)行如下命令

[root@ip-172-31-6-148~]# chkconfig --add ntpd
[root@ip-172-31-6-148~]# chkconfig ntpd on
[root@ip-172-31-6-148~]# service ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]
[root@ip-172-31-6-148~]# 

5.驗(yàn)證所有節(jié)點(diǎn)NTP是否同步

[root@ip-172-31-5-190~]# ntpq -p
     remote           refid      st t when pollreach   delay   offset jitter
==============================================================================
*ip-172-31-6-148210.23.25.77     2 u 448 1024  377    0.255   3.245   7.859
[root@ip-172-31-5-190~]# 

Cloudera Manager安裝與集群配置

1. 主節(jié)點(diǎn)CM安裝

解壓:tar xzvf cloudera-manager*.tar.gz將解壓后的cm-5.13.1和cloudera目錄放到/opt目錄下亥贸。 建立數(shù)據(jù)庫(kù):找到前面下載的mysql-connector-java-5.1.39.tar.gz,解壓后將mysql-connector-java-5.1.39-bin.jar放到每臺(tái)服務(wù)器/opt/cm-5.13.1/share/cmf/lib/和/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib/中浇垦。 初始化數(shù)據(jù)庫(kù):

# /opt/cm-5.9/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode1 -uroot -p123456 --scm-host node1 scm scm scm

note:在這里后面的參數(shù)分別是:數(shù)據(jù)庫(kù)類型 數(shù)據(jù)庫(kù)名稱 數(shù)據(jù)庫(kù)主機(jī)名 數(shù)據(jù)庫(kù)用戶名 密碼 --scm-host cmserver主機(jī)名 scm scm scm

2. Agent配置
修改/opt/cm-5.9/etc/cloudera-scm-agent/config.ini中的server_host為主節(jié)點(diǎn)的主機(jī)名炕置。 同步Agent到其他所有節(jié)點(diǎn): scp -r /opt/cm-5.9 root@node2:/opt/ 在所有節(jié)點(diǎn)創(chuàng)建cloudera-scm用戶

# useradd --system --home=/opt/cm-5.7.1/run/cloudera-scm-server/ --no -create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

3. 安裝CDH5
1. 準(zhǔn)備Parcels 將CHD5相關(guān)的Parcel包放到主節(jié)點(diǎn)的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動(dòng)創(chuàng)建)。
相關(guān)的文件如下:
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
manifest.json
最后執(zhí)行命令,重命名.sha文件

# mv CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha

2. 啟動(dòng)CM

# /opt/cm-5.7.1/etc/init.d/cloudera-scm-server start
# /opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start

其余命令還有stop(停止)朴摊, status(狀態(tài))默垄, restart(重啟)

4. CDH集群配置
Cloudera Manager Server和Agent都啟動(dòng)以后,就可以進(jìn)行CDH5的安裝配置甚纲。

打開瀏覽器口锭,訪問(wèn)master:7180/cmf/login

由于CM Server的啟動(dòng)需要花點(diǎn)時(shí)間,這里可能要等待一會(huì)才能訪問(wèn)成果介杆,可能需要3-5分鐘鹃操,默認(rèn)的用戶名和密碼均為admin

check:本機(jī)可以先curl -i master:7180/cmf/login測(cè)試,有返回結(jié)果后春哨,在瀏覽器端荆隘,輸入ip:7180/cmf/login進(jìn)行配置

note: 此處注意,若本機(jī)可curl連接上赴背,但其他主機(jī)連接不上椰拒,考慮:主機(jī)防火墻是否正常關(guān)閉;兩臺(tái)主機(jī)是否在同一個(gè)局域網(wǎng)

pic1 . 進(jìn)入頁(yè)

pic2. CDH版本(CDH Express免費(fèi)凰荚, Enterprise收費(fèi))

note:以下圖借用CM 5.7安裝圖

當(dāng)各Agent節(jié)點(diǎn)正常啟動(dòng)后燃观,可以在當(dāng)前管理的主機(jī)列表中看到對(duì)應(yīng)的節(jié)點(diǎn)。選擇要安裝的節(jié)點(diǎn)浇揩,點(diǎn)繼續(xù)仪壮。
下一步憨颠,出現(xiàn)parcel自檢測(cè)包名胳徽,如果本地Parcel包配置無(wú)誤,選目標(biāo)版本(例如CM5.7.1)爽彤,直接點(diǎn)繼續(xù)就可以了(若沒有出現(xiàn)對(duì)應(yīng)版本养盗,則重啟CM server和agent)。


pic3. parcel包版本檢測(cè)
繼續(xù)适篙,如果配置本地Parcel包無(wú)誤往核,那么下圖中的已下載,應(yīng)該是瞬間就完成了嚷节,然后就是耐心等待分配過(guò)程就行了聂儒,這個(gè)過(guò)程的速度就取決于節(jié)點(diǎn)之間的傳輸速度。



當(dāng)前受管:假如在安裝的時(shí)候出現(xiàn)問(wèn)題硫痰,如網(wǎng)絡(luò)連接中斷衩婚,機(jī)器死機(jī),繼續(xù)安裝的時(shí)候可能會(huì)出現(xiàn)查詢不到機(jī)器效斑,并且根據(jù)ip搜索機(jī)器的時(shí)候非春,出現(xiàn)“當(dāng)前受管”的狀態(tài)為“是”,安裝失敗的機(jī)器不能再選擇了。


至此奇昙,所有節(jié)點(diǎn)部署完成

下一步主機(jī)檢查护侮,遇到以下問(wèn)題:


Cloudera 建議將 /proc/sys/vm/swappiness 設(shè)置為 10。當(dāng)前設(shè)置為 60储耐。使用 sysctl 命令在運(yùn)行時(shí)更改該設(shè)置并編輯 /etc/sysctl.conf 以在重啟后保存該設(shè)置羊初。

# echo 10 > /proc/sys/vm/swappiness

第二個(gè)警告,提示執(zhí)行命令:

# echo never > /sys/kernel/mm/transparent_hugepage/defrag

執(zhí)行完畢什湘,重啟后凳忙,警告依然,暫時(shí)不處理禽炬。

繼續(xù)之后涧卵,進(jìn)入到安裝服務(wù)頁(yè)面

note:從這里開始,所有的服務(wù)腹尖,既可以通過(guò)下述自助來(lái)安裝一系列服務(wù)柳恐;也可以手動(dòng)在CM管理頁(yè)面一個(gè)一個(gè)添加

之前安裝時(shí)選擇一次性安裝一系列服務(wù),由于沒有新建hue數(shù)據(jù)庫(kù)導(dǎo)致hue服務(wù)安裝不上热幔,所以后面選擇一個(gè)一個(gè)安裝乐设,在前期搭建環(huán)境時(shí)這樣更好,起碼出現(xiàn)問(wèn)題可以鎖定是哪個(gè)服務(wù)绎巨。

分步安裝服務(wù)步驟為:
點(diǎn)擊頁(yè)面上Cloudera MANAGER近尚,回到主節(jié)點(diǎn)頁(yè)面



出現(xiàn)cluster1群集1,點(diǎn)擊下拉场勤,選擇“添加服務(wù)”



HDFS戈锻,HIVE, HUE,Oozie和媳, YARN, ZOOKEEPER是核心Hadoop的幾個(gè)服務(wù)格遭,分別安裝,由于這些節(jié)點(diǎn)存在依賴關(guān)系留瞳,需注意先后順序(當(dāng)然拒迅,安裝時(shí)CM會(huì)警告),順序是:
Zookeeper, hdfs, yarn, hive, oozie, hue

注意:在安裝hive, hue和oozie時(shí)她倘,要將mysql驅(qū)動(dòng)jar拷貝到相應(yīng)位置

# cp /opt/cm-5.9/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/  
# cp /opt/cm-5.9/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23 /lib/hue/lib/  
# cp /opt/cm-5.9  /share/cmf/lib/mysql-connector-java-*-bin.jar /var/lib/oozie/

按需安裝完服務(wù)后璧微,可在集群界面(即Cloudera MANAGER)看一下集群的狀況 [圖片上傳失敗...(image-73a4ff-1513586472070)]

綠色:良好
黃色:運(yùn)行不良
紅色:存在問(wèn)題

查看日志

CM雖然配置麻煩,但日志齊全硬梁,每個(gè)操作前硫,都能找到相應(yīng)的運(yùn)行日志,日志對(duì)于配合靶溜、調(diào)試和查看任務(wù)進(jìn)度都有很大的幫助

群集日志入口為


各服務(wù)節(jié)點(diǎn)也有日志入口开瞭,支持日志篩選
分為stdout(所有日志), stderr(錯(cuò)誤日志)懒震, 在細(xì)節(jié)上支持分級(jí)別(INFO, TRACE, DEBUG等)篩選

Q&A

ps. 這部分有截取網(wǎng)上的解決方案,也有自己遇到的問(wèn)題

  1. 在部署完成以后嗤详,會(huì)出現(xiàn)大量問(wèn)題个扰,其中有大量警告,是由于var/log/*的權(quán)限問(wèn)題造成的葱色。
    在master上递宅,運(yùn)行chmod -R 777對(duì)應(yīng)的文件夾修改權(quán)限即可。

  2. 出現(xiàn)oozie和hive不能成功啟動(dòng)
    一般是因?yàn)槿鄙賘dbc苍狰,復(fù)制到相應(yīng)位置即可办龄,位置請(qǐng)×苷眩或者是由于mysql數(shù)據(jù)庫(kù)中的表造成的俐填,可能是表已經(jīng)存在了

  3. service monitor和host monitor都無(wú)法啟動(dòng)
    一般也是由于var/log/*的權(quán)限問(wèn)題造成的

  4. service monitor和host monitor正常啟動(dòng),但是無(wú)法獲取到圖表數(shù)據(jù)
    注銷admin重新進(jìn)入翔忽,或者等一下

  5. hdfs不能正常啟動(dòng)
    可能是因?yàn)?dfs的權(quán)限原因英融,提高/目錄的權(quán)限

  6. hdfs和yarn的端口不再是9000和10020,默認(rèn)的是8020和8021

  7. 如果使用Windows遠(yuǎn)程調(diào)試歇式,請(qǐng)保證host文件(C:/Windows/System32/drivers/hosts)和集群上的host文件內(nèi)容一致驶悟。

  8. 主機(jī)崩潰怎么辦?
    一般來(lái)說(shuō)崩潰了,直接重啟就好材失。不過(guò)一定記得要再次啟動(dòng)cm的agent和server服務(wù)

  9. 通過(guò)CM啟動(dòng)Hive報(bào)錯(cuò) org.apache.hadoop.hive. metastore.HiveMetaException: Failed to load driver
    這種情況痕鳍,是缺少jdbc驅(qū)動(dòng),添加jdbc驅(qū)動(dòng)到相應(yīng)的lib下面龙巨。hive的lib路徑是/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib

  10. 放置好lib之后笼呆,啟動(dòng)hive,接著出現(xiàn)java.sql.SQLException:Column name pattern can not be NULL or empty.
    原因是恭应,一開始使用的jdbc lib是6.x的最新版本抄邀,但5.x和6.x在連接時(shí)針對(duì)某些默認(rèn)值的檢測(cè)值不同耘眨,將CM內(nèi)用到的所有jdbc lib修改為5.x之后解決了這個(gè)錯(cuò)誤

  11. 啟動(dòng)hdfs后昼榛,報(bào)警:群集中有704個(gè)副本不足的塊,百分比副本不足的塊:100%剔难。臨界閾值:40%
    解決方案:通過(guò)命令更改已經(jīng)上傳的文件的副本數(shù)(使用hdfs用戶)

12.python連接hive時(shí)胆屿, Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: no
安裝3個(gè)庫(kù)

cyrus-sasl-plain
cyrus-sasl-devel
cyrus-sasl-gssapi
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市偶宫,隨后出現(xiàn)的幾起案子非迹,更是在濱河造成了極大的恐慌,老刑警劉巖纯趋,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件憎兽,死亡現(xiàn)場(chǎng)離奇詭異冷离,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)纯命,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門西剥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人亿汞,你說(shuō)我怎么就攤上這事瞭空。” “怎么了疗我?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵咆畏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我吴裤,道長(zhǎng)旧找,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任麦牺,我火速辦了婚禮钦讳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘枕面。我一直安慰自己愿卒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布潮秘。 她就那樣靜靜地躺著音羞,像睡著了一般秦叛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天柿祈,我揣著相機(jī)與錄音,去河邊找鬼李丰。 笑死鱼辙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的矗烛。 我是一名探鬼主播辅柴,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瞭吃!你這毒婦竟也來(lái)了碌嘀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤歪架,失蹤者是張志新(化名)和其女友劉穎股冗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體和蚪,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡止状,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年烹棉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怯疤。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峦耘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旅薄,到底是詐尸還是另有隱情辅髓,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布少梁,位于F島的核電站洛口,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏凯沪。R本人自食惡果不足惜第焰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妨马。 院中可真熱鬧挺举,春花似錦、人聲如沸烘跺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)滤淳。三九已至梧喷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脖咐,已是汗流浹背铺敌。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屁擅,地道東北人偿凭。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像派歌,于是被迫代替她去往敵國(guó)和親弯囊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355