在CentOS7下搭建Hadoop集群及踩坑记

1 准备工作

1.1 节点准备

在开始安装系统之前,我们需要先准备5个节点,他们均通过CentOS 7 Minimal方式安装。网络及系统规划如下:

主机名称 IP地址 操作系统 身份
master 192.168.137.100 CentOS 7 NameNode、ResourceManager、NtpServer
secondary 192.168.137.101 CentOS 7 SecondaryNameNode、NodeManager
slave1 192.168.137.102 CentOS 7 DataNode、NodeManager
slave2 192.168.137.103 CentOS 7 DataNode、NodeManager
slave3 192.168.137.104 CentOS 7 DataNode、NodeManager
主机 NN DN RM NM Hive
master Y Y Y
secondary Y Y Y
slave1 Y Y
slave2 Y Y
slave3 Y Y

1.2 系统架构

在开始配置master和slave节点之前,了解Hadoop集群的不同组件十分重要。

1.2.1 Master ——NameNode

主节点上主要包括了分布式文件系统、资源调度。它主要包括两个守护进程:

1、NameNode

主要用来管理分布式文件系统,保存HDFS的元数据信息,比如命名空间信息、块信息等。类似于Linux Ext4文件系统的inode信息,Windows FAT文件系统的文件分配表。

当它运行的时候,这些信息是放在内存中的,只有重启的时候,才会将这些信息持久化到磁盘中。

NameNode功能

2、ResourceManager

通过YARN来管理资源,让分布式系统中的任务,可以在各个slave节点上正常执行。

1.2.2 Secondary——NameNode

单从名字上,它好像是Master NameNode的备份,实际上不是,它是用来在系统中提供CheckPoint Node——辅助NameNode正常工作的。

Secondary NameNode功能

1.2.3 slave——数据节点

数据节点主要用来保存实际的数据,以及运行各种任务。一般也包括两个守护进程:

1、DataNode

从物理层面负责数据的存储。

2、NodeManager

管理节点上任务的执行。

2. 系统安装

为了方便,建议大家使用Vmware虚拟机安装——可以安装一个系统,装好必要的软件JDK并设置好环境变量之后,再克隆生成其他几个。

2.1 系统准备

CentOS下载: http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

VMware Workstation Pro v14.0下载: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.0.0-6661328.exe

 序列号:**FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA**

2.2 系统安装

2.2.1 安装CentOS 7

安装5台CentOS系统,名称分别为master、secondary、slave1、slave2和slave3。

5个VMware虚拟机系统安装完毕

2.2.2 创建用户并设置密码

在每台电脑上,分别执行以下指令创建用户,设置密码:

useradd -m hadoop -G hadoop -s /bin/bash
passwd hadoop

2.2.3 配置网络

我们通过手工方式来设置电脑的IP地址。注意:每台电脑的IP地址应该是不一致的。

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static           # 静态IP地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9b6a5e1f-fd3b-4324-ab4c-7b2be4846ca8
DEVICE=ens33
ONBOOT=yes                  # 开机自动启用
IPADDR="192.168.137.100"    # IP地址(同一网络中,每台应该不一致)
PREFIX="24"
GATEWAY="192.168.137.2"     # 网关
DNS1="61.128.192.68"        # DNS服务器
ZONE=public

2.2.4 配置主机名

编辑每台电脑上的/etc/hostname,依次设置为:

master

master

secondary

secondary

slave1

slave1

slave2

slave2

slave3

slave3

2.2.5 配置主机域名解析

将每台电脑上的/etc/hosts,全部按照以下设置(全都一样):

192.168.137.100 master
192.168.137.101 secondary
192.168.137.102 slave1
192.168.137.103 slave2
192.168.137.104 slave3

2.3 软件安装

2.3.1 Java安装

执行以下指令,安装JDK(Java Development Kit)——Hadoop运行必备。

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
yum install wget
yum install ntp

2.3.2 设置Java环境变量

先编辑/etc/profile,在文件最后加入以下内容:

 # Setting Java Home Environment
 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
 export PATH=$PATH:$JAVA_HOME/bin

然后执行:

source /etc/profile
java -version

如果看到以下信息,则说明JDK安装成功:


Java安装成功

2.4网络设置

2.4.1 关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

2.4.2 关闭SELinux

SELinux是用来加强Linux安全的一种机制,不过在使用hadoop的时候,最好在每台电脑上都关闭它:

1、临时关闭

命令行执行:

setenforce 0

2、永久关闭

编辑/etc/selinux/config文件,将:

SELINUX=enforcing

修改为:

SELINUX=disable

重启计算机之后,即永久生效。

2.4.3 设置免密登录

Hadoop集群的启动,是master来自动控制其他计算机的。为了达到这个目标,我们首先要在master上可以不用输入密码通过ssh登录secondary、slave1、slave2和slave3计算机。

1、设置密钥

在master电脑上,执行以下指令生成密钥(ssh-keygen的生成步骤比较多,可以直接按回车):

ssh-keygen -t rsa

2、分发密钥

接下来分发密钥到每台电脑上(包括本机的Master):

ssh-copy-id master
ssh-copy-id secondary
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

3、测试免密登录

在master电脑上,执行:

ssh master
ssh secondary
ssh slave1
ssh slave2
ssh slave3

如果可以全部不用输入密码访问,则大功告成。

3 安装Hadoop

绝大多数朋友采用的Hadoop安装方式,都是通过手工方式安装的,本文也是如此。

3.0 准备hadoop安装目录

在每台电脑上,执行以下指令准备hadoop安装目录:

sudo mkdir -p /opt/hadoop
sudo chown -R hadoop /opt/hadoop

3.1 下载hadoop

hadoop目前的最新版本,是3.0.1。所有的版本,都可以在 这里下载。

这个压缩包里面,已经包括了Hadoop HDFS、Yarn、Map Reduce等各种组件,我们不需要单独下载。

cd /home/hadoop
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.1/hadoop-3.0.1.tar.gz
sudo mkdir -p /opt/hadoop
sudo chown -R hadoop /opt/hadoop

3.2 解压缩

tar zxvf hadoop-3.0.1.tar.gz

这样一来,在/home/hadoop/下会出现一个hadoop-3.0.1子目录,Hadoop的所有组件都在这个目录中——它就是Hadoop系统的家目录,将它拷贝到/opt/hadoop下。

mv hadoop-3.0.1/* /opt/hadoop/

3.3 配置HDFS运行环境

同样,编辑/etc/profile。在文件的最后,加入以下内容:

 # Hadoop Environment Variables
 export HADOOP_HOME=/opt/hadoop/
 export HADOOP_INSTALL=$HADOOP_HOME
 export HADOOP_MAPRED_HOME=$HADOOP_HOME
 export HADOOP_COMMON_HOME=$HADOOP_HOME
 export HADOOP_HDFS_HOME=$HADOOP_HOME
 export YARN_HOME=$HADOOP_HOME
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
 export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/  lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*:$HADOOP_HOME/share/hadoop/mapreduce/*

3.4 配置Hadoop

hadoop的配置文件,都位于$HADOOP_HOME/etc/hadoop目录下。

3.4.1 hadoop-env.sh

用vi编辑hadoop-env.sh文件。

vi /opt/modules/hadoop/etc/hadoop/hadoop-env.sh

配置JAVA_HOME变量:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

3.4.1 core-site.xml

用vi编辑core-site.xml文件。

vi $HADOOP_HOME/etc/hadoop/core-site.xml

具体配置信息如下:

<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 <configuration>
     <!-- 指定HDFS老大(namenode)的通信地址 -->
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://master:9000</value>
     </property>

     <!-- 指定hadoop运行时产生文件的存储路径 -->
     <property>
         <name>hadoop.tmp.dir</name>
         <value>file:/home/hadoop/data/hadoop</value>
     </property>
 </configuration>

3.4.2 hdfs-site.xml

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

具体配置信息如下:

<!-- /opt/hadoop/etc/hadoop/hdfs-site.xml --> 
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <!-- 设置namenode的http通讯地址 -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master:50090</value>
        </property>
        <!-- 设置hdfs副本数量 -->
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
         <!-- 设置namenode存放的路径 -->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/home/hadoop/data/hadoop/dfs/name</value>
        </property>
         <!-- 设置datanode存放的路径 -->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/home/hadoop/data/hadoop/dfs/data</value>
        </property>
        <!-- 设置Secondary NameNode的地址 -->
        <property>
             <name>dfs.secondary.http.address</name>
             <value>secondary:50090</value>
         </property>
</configuration>

3.4.3 配置slaves

在/opt/hadoop/etc/hadoop/slaves(hadoop 2.x及以前的版本,文件名为slaves, 3.x之后为workers,hostname或者IP地址,一行一个:

vi $HADOOP_HOME/etc/hadoop/slaves
slave1
slave2
slave3

3.4.4 分发

1、创建需要分发配置文件的机器列表 /opt/hadoop/machines,包括如下内容:

secondary
slave1
slave2
slave3

2、分发hadoop

for  x  in  `cat /opt/hadoop/machines` ; \
    do  echo  $x ; \
        scp  -r /opt/hadoop/  $x:/opt/hadoop/ ; \
    done;

3.4.5 运行HDFS

1、格式化hdfs文件系统

在master上,执行:

hdfs  namenode  -format

格式化文件系统。

2、启动hdfs服务

在hadoop-master上,执行:

start-dfs.sh

你会看到启动了一个NameNode,一个Secondary NameNode和3个DataNode。

HDFS文件系统启动中

3.4.4 测试启动成功

在hadoop-master和各台计算机上,分别执行执行:

jps

你会看到程序的运行结果。

1、Hadoop-master

主要包括NameNode进程。

Master

2、Hadoop-Secondary

主要包括Secondary NameNode进程。

secondary

3、Hadoop-slave1、Hadoop-slave2和Hadoop-slave3

主要包括DataNode进程。


slave

3.5 配置YARN和Map Reduce

3.5.1 配置mapreduce

编辑mapred-site.xml 文件:

vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 <configuration>
         <!-- 通知框架MR使用YARN -->
         <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
         </property>
         <property>
                 <name>mapreduce.jobhistory.address</name>
                 <value>master:10020</value>
         </property>
         <property>
                 <name>mapreduce.jobhistory.webapp.address</name>
                 <value>master:19888</value>
         </property>
 </configuration>

3.5.2 配置YARN

编辑yarn-site.xml文件:

vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
<?xml version="1.0"?>
 <configuration>
  <!-- 设置 resourcemanager 在哪个节点-->
 <!-- Site specific YARN configuration properties -->
         <property>
          <name>yarn.resourcemanager.hostname</name>
                 <value>master</value>
         </property>
          <!-- reducer取数据的方式是mapreduce_shuffle -->
         <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
         </property>

 </configuration>

3.5.3 启动YARN

执行以下指令启动yarn:

start-yarn.sh
Yarn启动中

这将会启动ResourceManager和NodeManager。

其中,ResourceManager在NodeName上运行,NodeManager在Slave上运行。


NodeManager在slave上运行

4 安装ntp时间服务

hadoop服务,要求各个节点的时间严格同步,所以我们需要在master上创建一个ntp时间服务,其他节点跟它同步。

4.1 安装ntp服务

执行以下指令安装:

sudo yum install ntp

4.2 配置时间同步

我们使用,hadoop、hbase等服务时,要求各个节点的时间严格同步。这就需要用到时间同步服务器,不过我们常见的Internet时间同步服务器不太靠谱,所以我们需要搭建一个ntp时间服务——最好让其他节点与它同步。

4.2.1 最简单的方法

直接与Aliyun时钟服务器同步:

传送门: ntp时间同步配置

5 安装hive

5.1 安装hive

5.1.1 准备工作

​ 在master上下载、解压缩

wget wget http://mirrors.hust.edu.cn/apache/hive/hive-3.1.0/apache-hive-3.1.0-bin.tar.gz
tar zxvf apache-hive-3.1.0-bin.tar.gz

5.1.2 转移到Hive目录

在每台电脑上,创建hive目录:

sudo mkdir -p /opt/hive

在master电脑上,转移文件到Hive目录

sudo mv apache-hive-3.1.0-bin/* /opt/hive/

5.1.4 设置hive目录访问权限

chown -R hadoop:hadoop /opt/hive

5.1.4 分发Hive目录到所有节点

for  x  in  `cat /opt/hadoop/machines` ; \
    do  echo  $x ; \
        scp  /opt/hive/  $x:/opt/hive/ ; \
    done;

5.1.5 设置Hive环境变量

sudo vi /etc/profile
 export HIVE_HOME=/opt/hive
 export PATH=$PATH:$HIVE_HOME/bin
配置hive环境变量

5.2 配置hive目录及访问权限

在hadoop-master上,执行以下指令:

hadoop fs -mkdir /tmp
hadoop fs -mkdir /user
hadoop fs -mkdir /user/hive
hadoop fs -mkdir /user/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /user/hive/warehouse
创建Hive数据目录

5.3 配置hive

默认配置下的Hive,使用的是Derby元数据库,它只能从本地连接,并且只支持一个用户。所以我们就直接改为MySQL数据库作为元数据库。

5.3.1安装MySQL

sudo yum install mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

5.3.2 配置MySQL允许远程访问

MySQL默认配置下,不允许远程访问。我们要修改为允许远程访问。在Master主机上,执行以下指令登录MySQL:

mysql -u root

然后新建root可以从远程访问的账号,并授权:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5.3.1 设置环境变量

5.3.2 配置hive-env.sh

cd /opt/hive/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh

主要配置一个参数:指定HADOOP_HOME目录。如果本机已经安装了Hadoop,并且设置了HADOOP_HOME环境变量,则不需要配置。


指定hadoop家目录

5.3.2 设置hive-site.xml

修改hive配置文件

cd hive-2.3.3/conf 
cp hive-default.xml.template hive-site.xml
vi hive-site.xml
   <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
      <name>system:java.io.tmpdir</name>
      <value>/opt/hive/iotmp</value>
    </property>
    <property>
      <name>system:user.name</name>
      <value>${user.name}</value>
  </property>
  <!-- 数据库地址设置 -->
   <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
   </property>
  
   <!-- MySQL账号和密码设置 -->
   <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>root</value>
   </property>
   <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>All4Icode</value>
   </property>
</configuration>

5.3.6 准备MySQL驱动

sudo yum install unzip
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.zip
unzip mysql-connector-java-5.1.47.zip
cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/hive/lib

5.3.7 初始化MySQL元数据库

schematool -initSchema -dbType mysql

看下初始化的数据库信息:

schematool -dbType mysql -info
初始化数据库

5.4 启动

[hadoop@master ~]$ hive

hive> show databases;
OK
default
Time taken: 1.139 seconds, Fetched: 1 row(s)
hive> create table test(id int, name string);
OK
Time taken: 0.742 seconds
hive> show tables;
OK
test
Time taken: 0.082 seconds, Fetched: 1 row(s)
hive>

5.5 简单使用

5.5.1 看下hive在hdfs中创建的目录

hadoop fs -ls -R /user/hive
目录创建成功

5.5.2 看下hive在MySQL中创建的表

mysql> use metastore;
mysql> select * from TBLS;
MySQL中也有对应的数据库和表

6 安装HBase

6.0 HBase架构图

HBase架构图

6.1 准备工作

1、下载

wget http://mirrors.shu.edu.cn/apache/hbase/2.0.2/hbase-2.0.2-bin.tar.gz

2、解压缩

tar zxvf hbase-2.0.2-bin.tar.gz

3、设置目录

在Master电脑上:

sudo mkdir /opt/hbase
sudo chown -R hadoop:hadoop /opt/hbase
mv hbase-2.0.2/* /opt/hbase/

secondary、slave1、slave2、slave3电脑上:

sudo mkdir /opt/hbase
sudo chown -R hadoop:hadoop /opt/hbase

4、设置HBase环境变量
我们计划在master电脑启用HBase master、几台slave电脑上启用RegionServer。

在master电脑上,编辑/etc/profile文件,加入相关的环境变量:

sudo vi /etc/profile

在文件的最后加入以下信息:

export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin

分发到每台电脑上,执行以下指令使设置生效:

sudo scp /etc/profile root@slave1:/etc/profile
sudo scp /etc/profile root@slave2:/etc/profile
sudo scp /etc/profile root@slave3:/etc/profile

master、slave1、slave2、slave3电脑上分别执行以下指令:

source /etc/profile

6.2 配置

HBase的配置文件,都位于$HBASE_HOME下的conf目录中:

1、hbase-env.sh
主要用来设置JAVA_HOME环境变量,我们是集中在/etc/profile中进行设置——这里可以不用设置。

# 根据自己的实际JAVA_HOME目录配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

# 默认使用自带的Zookeeper,配置为false则使用我们部署的
export HBASE_MANAGES_ZK=false

2、 hbase-site.xml

     <property>
         <name>hbase.tmp.dir</name>
         <value>home/hadoop/data/hbase/tmp</value>
     </property>

      # HBase的hdfs根目录
     <property>
         <name>hbase.rootdir</name>
         <value>hdfs://master:9000/hbase</value>
     </property>

    #采用zookeeper分部署部署
     <property>
         <name>hbase.cluster.distributed</name>
         <value>true</value>
     </property>
    
    # zookeeper节点
     <property>
         <name>hbase.zookeeper.quorum</name>
         <value>slave1,slave2,slave3</value>
     </property>

3、 regionservers
编辑regionservers:

vi $HBASE_HOME/conf/regionservers

保证内容如下:

 slave1
 slave2
 slave3

6.3 分发文件

scp -r /opt/hbase/* slave1:/opt/hbase
scp -r /opt/hbase/* slave2:/opt/hbase
scp -r /opt/hbase/* slave3:/opt/hbase

6.3 启动HBase

执行start-hbase.sh。

start-hbase.sh

至此,包括hadoop、yarn、hive和HBase不适用HA的服务器集群搭建完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 说明:不少读者反馈,想使用开源组件搭建Hadoop平台,然后再部署Kylin,但是遇到各种问题。这里我为读者部署一...
    大诗兄_zl阅读 1,985评论 0 2
  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 3,668评论 0 14
  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 128,603评论 12 168
  • Hadoop、HBase、Hive、Spark分布式系统架构,本文通过全套部署方法来让大家深入系统内部以充分理解...
    0o失魂鱼o0阅读 2,767评论 0 30
  • 学习hadoop平台搭建也有一段时间了,期间也遇到很多问题,为了解决这些问题查了很多资料,浪费不少时间,今天写下这...
    zxcasongs阅读 1,149评论 0 4