Hadoop集群搭建

1、准备工作

  • 准备6台虚拟机,内存1G
  • 虚拟机节点分配情况
序号 机器 分配
1 Park01 Zookeeper、NameNode(active)、ResourceManager(active)
2 Park02 Zookeeper、NameNode(standby)
3 Park03 Zookeeper、ResourceManager(standby)
4 Park04 DataNode、NodeManager、JournalNode
5 Park05 DataNode、NodeManager、JournalNode
6 Park06 DataNode、NodeManager、JournalNode
  • 关闭每台虚拟机防火墙
  • 更改每台虚拟机主机名,例如CH0、CH1……参考
  • 配置每台机器的hosts
    127.0.0.1 localhost
    ::1 localhost
    192.168.6.20 CH0
    192.168.6.21 CH1
    ……
    192.168.6.25 CH5
  • 配置免秘钥登录
  • 安装JDK并配置环境变量

2、Zookeeper

[root@CH0 soft]# mkdir -p /usr/lib/zookeeper
[root@CH0 soft]# tar -zxvf zookeeper-3.4.7.tar.gz -C /usr/lib/zookeeper

2.1 zoo.cfg配置

[root@CH0 soft]# cd /usr/lib/zookeeper/zookeeper-3.4.7/conf/
[root@CH0 conf]# cp zoo_sample.cfg zoo.cfg
[root@CH0 conf]# vim zoo.cfg 
<!--完整的zoo.cfg配置如下-->
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/lib/zookeeper/zookeeper-3.4.7/tmp
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.6.20:2888:3888
server.2=192.168.6.21:2888:3888
server.3=192.168.6.22:2888:3888

2.2 tmp目录配置

[root@CH0 conf]# cd ..
[root@CH0 zookeeper-3.4.7]# mkdir tmp
[root@CH0 zookeeper-3.4.7]# cd tmp/
[root@CH0 tmp]# vim myid
<!--内容如下-->
1

2.3 其他两台虚拟机Zookeeper配置

<!-- Zookeeper目录发送给CH1、CH2 -->
[root@CH0 tmp]# cd ../../
[root@CH0 zookeeper]# cd ../
[root@CH0 lib]# scp -r zookeeper CH1:/usr/lib/
[root@CH0 lib]# scp -r zookeeper CH2:/usr/lib/

[root@CH1 ~]# cd /usr/lib/zookeeper/zookeeper-3.4.7/tmp/
[root@CH1 tmp]# ls
myid
[root@CH1 tmp]# vim myid 
[root@CH1 tmp]# cat myid 
2

[root@CH2 ~]# cd /usr/lib/zookeeper/zookeeper-3.4.7/tmp/
[root@CH2 tmp]# ls
myid
[root@CH2 tmp]# vim myid 
[root@CH2 tmp]# cat myid 
3

3、Hadoop安装配置

[root@CH0 soft]# mkdir -p /usr/lib/hadoop
[root@CH0 soft]# tar -zxvf hadoop-2.7.1.tar.gz -C /usr/lib/hadoop
[root@CH0 soft]# cd /usr/lib/hadoop/hadoop-2.7.1/etc/hadoop/

3.1、hadoop-env.sh配置

[root@CH0 hadoop]# vim hadoop-env.sh 
<!--配置如下-->
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
export HADOOP_CONF_DIR=/usr/lib/hadoop/hadoop-2.7.1/etc/hadoop

3.2、core-site.xml配置

[root@CH0 hadoop]# vim core-site.xml 
<!--配置如下-->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<!-- 用来指定hadoop运行时产生文件的存放位置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/lib/hadoop/hadoop-2.7.1/tmp</value>
</property>
<!-- 执行zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>CH0:2181,CH1:2181,CH2:2181</value>
</property>
</configuration>

3.3、hdfs-site.xml配置

[root@CH0 hadoop]# vim hdfs-site.xml 
<!--配置如下-->
<configuration>
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!-- ns下有两台namenode,分别是nn1,nn2  -->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>CH0:9000</value>
</property>
<!-- nn1的HTTP通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>CH0:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>CH1:9000</value>
</property>
<!-- nn2的HTTP通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>CH1:50070</value>
</property>
<!-- 指定namenode的元数据在JournalNode上的存放位置,这样,namenode2可以从集群jn
 里获取最新的namenode的信息,可以达到热备的效果 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://CH3:8485;CH4:8485;CH5:8485/ns</value>
</property>
<!-- 指定JournalNode的存放位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/lib/hadoop/hadoop-2.7.1/journal</value>
</property>
<!-- 开启namenode故障时自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置切换的实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!-- 配置隔离机制的SSH登录秘钥所在的位置 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!-- 配置namenode数据存放的位置,可以不配置,如果不配置,默认使用的是
 core-site.xml里的hadoop.tmp.dir的路径-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/lib/hadoop/hadoop-2.7.1/tmp/namenode</value>
</property>
<!-- 配置datanode数据存放的位置,可以不配置,如果不配置,默认使用的是
      core-site.xml里的hadoop.tmp.dir的路径-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/lib/hadoop/hadoop-2.7.1/tmp/datanode</value>
</property>
<!-- 配置block副本的数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

3.4、mapred-site.xml配置

[root@CH0 hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@CH0 hadoop]# vim mapred-site.xml
<!--配置如下-->
<configuration>
<!-- 指定mapreduce运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<!-- yarn是资源协调工具 -->
<value>yarn</value>
</property>
</configuration>

3.5、yarn-site.xml配置

[root@CH0 hadoop]# vim yarn-site.xml 
<!--配置如下-->
<configuration>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>

<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 配置rm1,rm2的主机 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>CH0</value>
</property>

<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>CH2</value>
</property>
<!-- 开启yarn恢复机制-->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 执行yarn恢复机制实现类-->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!-- 配置zookeeper的地址-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>CH0:2181,CH1:2181,CH2:2181</value>
<description>For multiple zk services,separate them with comm</description>
</property>
<!-- 指定yarn ha的名称-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarn-ha</value>
</property>

<!-- 指定yarn的老大,resourcemanager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<!-- CH0是主机名 -->
<value>CH0</value>
</property>
<!-- Site specific YARN configuration properties -->
<!-- nodemanager获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

3.6、slaves配置

[root@CH0 hadoop]# vim slaves 
CH3
CH4
CH5

3.7、目录创建

[root@CH0 hadoop]# cd ../..
[root@CH0 hadoop-2.7.1]# mkdir tmp
[root@CH0 hadoop-2.7.1]# mkdir journal
[root@CH0 hadoop-2.7.1]# cd tmp
[root@CH0 tmp]# mkdir namenode
[root@CH0 tmp]# mkdir datanode

3.8、发送给其他五台虚拟机

[root@CH0 hadoop-2.7.1]# cd ../../
[root@CH0 lib]# scp -r hadoop CH1:/usr/lib/
[root@CH0 lib]# scp -r hadoop CH2:/usr/lib/
[root@CH0 lib]# scp -r hadoop CH3:/usr/lib/
[root@CH0 lib]# scp -r hadoop CH4:/usr/lib/
[root@CH0 lib]# scp -r hadoop CH5:/usr/lib/

4、环境变量配置

[root@CH0 ~]# vim /etc/profile
#java env
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.1
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export JAVA_HOME PATH CLASSPATH HADOOP_HOME

4.1、配置文件发送其他五台虚拟机

[root@CH0 ~]# scp /etc/profile CH1:/etc/
[root@CH0 ~]# scp /etc/profile CH2:/etc/
[root@CH0 ~]# scp /etc/profile CH3:/etc/
[root@CH0 ~]# scp /etc/profile CH4:/etc/
[root@CH0 ~]# scp /etc/profile CH5:/etc/

<!-- 每台执行如下-->
[root@CH0 ~]# source /etc/profile

5、Hadoop分布式启动

5.1、zookeeper启动

Park01启动

[root@CH0 ~]# cd /usr/lib/zookeeper/zookeeper-3.4.7/bin/
[root@CH0 bin]# sh zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

Park02启动

[root@CH1 ~]# cd /usr/lib/zookeeper/zookeeper-3.4.7/bin/
[root@CH1 bin]# sh zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

Park03启动

[root@CH2 ~]# cd /usr/lib/zookeeper/zookeeper-3.4.7/bin/
[root@CH2 bin]# sh zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

Park01启动状态验证

[root@CH0 bin]# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Mode: follower

Park02启动状态验证

[root@CH1 bin]# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Mode: leader

Park03启动状态验证

[root@CH2 bin]# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/lib/zookeeper/zookeeper-3.4.7/bin/../conf/zoo.cfg
Mode: follower

5.2、format zkfc

[root@CH0 bin]# hdfs zkfc -formatZK
18/05/29 16:08:35 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/ywty in ZK.
18/05/29 16:08:35 INFO zookeeper.ZooKeeper: Session: 0x263aae518180000 closed

[root@CH1 bin]# hdfs zkfc -formatZK
18/05/29 16:09:45 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/ywty in ZK.
18/05/29 16:09:45 INFO zookeeper.ZooKeeper: Session: 0x263aae518180000 closed

5.3、JournalNode启动

[root@CH3 ~]# cd /usr/lib/hadoop/hadoop-2.7.1/sbin/
[root@CH3 sbin]# sh hadoop-daemon.sh start journalnode
[root@CH3 sbin]# jps
1464 JournalNode
1513 Jps

[root@CH4 sbin]# sh hadoop-daemon.sh start journalnode
[root@CH4 sbin]# jps
1445 JournalNode
1494 Jps

[root@CH5 sbin]# sh hadoop-daemon.sh start journalnode
[root@CH5 sbin]# jps
1449 JournalNode
1498 Jps

5.4、format NameNode

[root@CH0 bin]# hadoop namenode -format
18/05/29 16:21:00 INFO common.Storage: Storage directory /usr/lib/hadoop/hadoop-2.7.1/tmp/namenode has been successfully formatted.
18/05/29 16:21:00 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
18/05/29 16:21:00 INFO util.ExitUtil: Exiting with status 0
18/05/29 16:21:00 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************/

[root@CH0 ~]# cd /usr/lib/hadoop/hadoop-2.7.1/sbin/
[root@CH0 sbin]# sh hadoop-daemon.sh start namenode
starting namenode, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-namenode-CH0.out
[root@CH0 sbin]# jps
1604 NameNode
1676 Jps
1438 QuorumPeerMain

5.5、bootstrapStandby NameNode

[root@CH1 bin]# hdfs namenode -bootstrapStandby
18/05/29 16:29:12 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
18/05/29 16:29:12 INFO namenode.NameNode: createNameNode [-bootstrapStandby]
=====================================================
About to bootstrap Standby ID yy2 from:
       Nameservice ID: ywty
    Other Namenode ID: yy1
  Other NN's HTTP address: http://CH0:50070
  Other NN's IPC  address: CH0/192.168.6.20:9000
         Namespace ID: 1549916029
        Block pool ID: BP-605564131-192.168.6.20-1527582060609
           Cluster ID: CID-a2fc36bc-6fc9-4d5f-8d95-b1c3da1557bd
       Layout version: -63
   isUpgradeFinalized: true
=====================================================
18/05/29 16:29:13 INFO common.Storage: Storage directory /usr/lib/hadoop/hadoop-2.7.1/tmp/namenode has been successfully formatted.
18/05/29 16:29:14 INFO namenode.TransferFsImage: Opening connection to http://CH0:50070/imagetransfer?getimage=1&txid=0&storageInfo=-63:1549916029:0:CID-a2fc36bc-6fc9-4d5f-8d95-b1c3da1557bd
18/05/29 16:29:14 INFO namenode.TransferFsImage: Image Transfer timeout configured to 60000 milliseconds
18/05/29 16:29:14 INFO namenode.TransferFsImage: Transfer took 0.00s at 0.00 KB/s
18/05/29 16:29:14 INFO namenode.TransferFsImage: Downloaded file fsimage.ckpt_0000000000000000000 size 351 bytes.
18/05/29 16:29:14 INFO util.ExitUtil: Exiting with status 0
18/05/29 16:29:14 INFO namenode.NameNode: SHUTDOWN_MSG: 

5.6、NameNode start

[root@CH1 ~]# cd /usr/lib/hadoop/hadoop-2.7.1/sbin/
[root@CH1 sbin]# sh hadoop-daemon.sh start namenode
starting namenode, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-namenode-CH1.out
[root@CH1 sbin]# jps
1572 NameNode
1644 Jps
1406 QuorumPeerMain

5.7、DataNode start

[root@CH3 sbin]# sh hadoop-daemon.sh start datanode
starting datanode, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-datanode-CH3.out
[root@CH3 sbin]# jps
1617 Jps
1543 DataNode
1464 JournalNode

[root@CH4 sbin]# sh hadoop-daemon.sh start datanode
starting datanode, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-datanode-CH4.out
[root@CH4 sbin]# jps
1523 DataNode
1445 JournalNode
1597 Jps

[root@CH5 sbin]# sh hadoop-daemon.sh start datanode
starting datanode, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-datanode-CH5.out
[root@CH5 sbin]# jps
1601 Jps
1527 DataNode
1449 JournalNode

5.8、ZKFC Start

[root@CH0 sbin]# sh hadoop-daemon.sh start zkfc
starting zkfc, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-zkfc-CH0.out
[root@CH0 sbin]# jps
1987 Jps
1604 NameNode
1438 QuorumPeerMain
2240 DFSZKFailoverController

[root@CH1 sbin]# sh hadoop-daemon.sh start zkfc
starting zkfc, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/hadoop-root-zkfc-CH1.out
[root@CH1 sbin]# jps
1572 NameNode
1780 DFSZKFailoverController
1844 Jps
1406 QuorumPeerMain

5.9、Yarn Start

[root@CH0 sbin]# sh start-yarn.sh 
starting yarn daemons
starting resourcemanager, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/yarn-root-resourcemanager-CH0.out
CH5: starting nodemanager, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/yarn-root-nodemanager-CH5.out
CH4: starting nodemanager, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/yarn-root-nodemanager-CH4.out
CH3: starting nodemanager, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/yarn-root-nodemanager-CH3.out
[root@CH0 sbin]# jps
2240 DFSZKFailoverController
1604 NameNode
2356 ResourceManager
2621 Jps
1438 QuorumPeerMain

[root@CH2 sbin]# sh yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to /usr/lib/hadoop/hadoop-2.7.1/logs/yarn-root-resourcemanager-CH2.out
[root@CH2 sbin]# jps
1604 ResourceManager
1643 Jps
1439 QuorumPeerMain

6、浏览器访问

CH0 50070

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

推荐阅读更多精彩内容

  • hadoop集群HA环境搭建 准备工具 VMware12安装包, 破解序列号:5A02H-AU243-TZJ49-...
    485b1aca799e阅读 2,119评论 1 1
  • 为了能够在生产环境中搭建Hadoop集群,先决定在虚拟机中搭建一个测试环境,跑通整个流程。 一:安装环境 Cent...
    Kavim阅读 888评论 0 3
  • 目录 集群简介 服务器准备 环境和服务器设置 JDK环境安装 Hadoop安装部署 启动集群 测试 集群简介 在进...
    Singer_Au阅读 2,710评论 0 8
  • 1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig...
    NickYS阅读 514评论 1 50
  • 凌晨三点半醒来为女儿冲了奶粉,喂她吃完,轻轻地拍着哄她沉沉入睡,转过身来关了小夜灯,睡意全无,拿起手机翻看实修群里...
    Donny悠悠阅读 199评论 0 0