<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
<div class="htmledit_views">
<h1><a name="t0"></a>一、准备</h1>
1、软件版本如下:
(1)JDK1.8
jdk-8u144-linux-x64.tar.gz
(2)Hadoop
hadoop-2.7.3.tar.gz
(3)CentOS
CentOS-7-x86_64-Everything-1708.iso
安装Hadoop集群前,我们需要提前安装三台Linux服务器,并在每个服务器上都安装和配置好JDK。
二、集群规划
我们分别搭建三种模式的Hadoop集群,各个模式的集群具体划分如下:
1、本地模式(Local Mode)
主机名 | IP地址 | Hadoop节点名称 |
bigdata111 | 192.168.189.111 | 无 |
2、伪分布式(Pseudo-Distributed Mode)
主机名 | IP地址 | Hadoop节点名称 |
bigdata111 | 192.168.189.111 | NameNode / SecondaryNameNode / DataNode / |
<p>ResourceManager / NodeManager</p>
</td>
</tr></tbody></table><h2><a name="t8"></a>3、全分布式(Fully-Distributed Mode)</h2>
主机名 | IP地址 | Hadoop节点名称 |
bigdata112 | 192.168.189.112 | NameNode / SecondaryNameNode / ResourceManager |
bigdata113 | 192.168.189.113 | DataNode / NodeManager |
bigdata114 | 192.168.189.114 | DataNode / NodeManager |
三、本地模式
本地模式没有HDFS,只能测试MapReduce程序,这里程序处理的本地文件系统的数据。
1、上传文件
将hadoop-2.7.3.tar.gz文件上传至bigdata111服务器的/root/tools下,如图:
2、解压文件
在当前目录,执行如下解压命令
tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
将文件解压到/root/training/目录下,如图:
可以执行如下tree命令(需要单独安装tree-1.6.0-10.el7.x86_64.rpm)
tree -d -L 3 hadoop-2.7.3/
查看hadoop的三层目录,如下:
3、配置环境变量
执行
vi ~/.bash_profile
命令,打开环境变量配置文件,添加如下配置
保存并退出文件,再执行
source ~/.bash_profile
命令,使配置生效。在命令窗口敲入start,然后按Tab键,如果出现如下界面表示配置成功:
4、配置hadoop-env.sh
进入Hadoop的配置文件目录,如下:
图中是Hadoop的所有配置文件。伪分布式只需要配置hadoop-env.sh,在该文件中配置JDK安装路径,如下:
保存退出文件。
5、测试
(1)单词计数
Hadoop中为我们提供了一个单词计数的MapReduce程序,详细目录如下:
(2)执行MapReduce程序
先在/root/input目录下创建一个data.txt文件,output目录不能提前创建,然后在程序所在目录执行如下命令:
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output/
成功后,会在output目录下生成两个文件,结果如下:
实际结果存在part-r-00000,_SUCCESS只是一个状态文件。
四、伪分布式
在单机上运行,模拟分布式环境,具有Hadoop的主要功能。伪分布式是在本地模式的基础之上安装的。在本地模式基础之上,再配置如下配置文件即可。分别配置如下:
1、hdfs-site.xml
-
<configuration>
-
<property>
-
<!-- HDFS数据冗余度,默认3 -->
-
<name>dfs.replication
</name>
-
<value>1
</value>
-
</property>
-
<property>
-
<!-- 是否开启HDFS权限检查,默认true -->
-
<name>dfs.permissions
</name>
-
<value>true
</value>
-
</property>
-
</configuration>
参数说明:
(1)dfs.replication
配置数据的副本数。因为这里是单机,所以副本数配置为1。
(2)dfs.permissions
配置HDFS的权限检查。默认是true,也就是开启权限检查。可以不配置,这里只是为了说明。
2、core-site.xml
-
<configuration>
-
<property>
-
<!-- 配置NameNode地址 -->
-
<name>fs.defaultFS
</name>
-
<value>hdfs://bigdata111:9000
</value>
-
</property>
-
<property>
-
<!-- 保存HDFS临时数据的目录 -->
-
<name>hadoop.tmp.dir
</name>
-
<value>/root/training/hadoop-2.7.3/tmp
</value>
-
</property>
-
</configuration>
参数说明:
(1)fs.defaultFS
配置NameNode的地址,通信端口号是9000。bigdata111为主机名,也可以使用IP地址。
(2)hadoop.tmp.dir
配置HDFS数据保存目录,默认是Linux系统的tmp目录,而Linux系统tmp目录重启后会被删除,所以这里需要配置为本地系统的其他目录。tmp目录需要用户自己创建,如图:
3、mapred-site.xml
Hadoop配置文件中默认没有这个文件,只提供了模板文件mapred-site.xml.template,需要先复制一份,如下:
cp mapred-site.xml.template mapred-site.xml
-
<configuration>
-
<property>
-
<name>mapreduce.framework.name
</name>
-
<value>yarn
</value>
-
</property>
-
</configuration>
参数说明:
(1)mapreduce.framework.name
配置mapreduce程序执行的框架名称:yarn。yarn是资源管理器框架。
4、yarn-site.xml
-
<configuration>
-
<property>
-
<name>yarn.resourcemanager.hostname
</name>
-
<value>bigdata111
</value>
-
</property>
-
<property>
-
<name>yarn.nodemanager.aux-services
</name>
-
<value>mapreduce_shuffle
</value>
-
</property>
-
</configuration>
参数说明:
(1)yarn.resourcemanager.hostname
配置yarn的主节点ResourceManager主机名
(2)yarn.nodemanager.aux-services
配置yarn的NodeManager运行MapReduce的方式
5、格式化HDFS
执行如下命令
hdfs namenode -format
格式化HDFS。格式化成功后,部分日志如下:
-
18/08/18 19:10:19 INFO namenode.NameNode: STARTUP_MSG:
-
/************************************************************
-
STARTUP_MSG: Starting NameNode
-
STARTUP_MSG: host = bigdata111/192.168.189.111
-
STARTUP_MSG: args = [-format]
-
STARTUP_MSG: version = 2.7.3
-
-
de4719c1c8af91ccff; compiled by 'root' on 2016-08-18T01:41ZSTARTUP_MSG: java = 1.8.0_144
-
************************************************************/
-
18/08/18 19:10:19 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
-
18/08/18 19:10:19 INFO namenode.NameNode: createNameNode [-format]
-
Formatting using clusterid: CID-64debde0-a2ea-4385-baf2-18e6b2d76c74
-
18/08/18 19:10:21 INFO namenode.FSNamesystem: No KeyProvider found.
-
18/08/18 19:10:21 INFO namenode.FSNamesystem: fsLock is fair:true
-
18/08/18 19:10:21 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
-
18/08/18 19:10:21 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostn
-
ame-
check=true18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec
-
is
set
to
000:
00:
00:
00.00018/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: The
block deletion will
start around
2018 Aug
-
18
19:
10:
2118/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map BlocksMap
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
2.0%
max
memory
966.7 MB =
19.3 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
21 =
2097152 entries
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=
false
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: defaultReplication =
1
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxReplication =
512
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: minReplication =
1
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxReplicationStreams =
2
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: replicationRecheckInterval =
3000
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: encryptDataTransfer =
false
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxNumBlocksToLog =
1000
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: fsOwner = root (auth:SIMPLE)
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: supergroup = supergroup
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: isPermissionEnabled =
true
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: HA Enabled:
false
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Append Enabled:
true
-
18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map INodeMap
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
1.0%
max
memory
966.7 MB =
9.7 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
20 =
1048576 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: ACLs enabled?
false
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: XAttrs enabled?
true
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: Maximum
size
of an xattr:
16384
-
18/
08/
18
19:
10:
21 INFO namenode.NameNode:
Caching
file
names occuring more
than
10 times
-
18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map cachedBlocks
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
0.25%
max
memory
966.7 MB =
2.4 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
18 =
262144 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct =
0.9990000128746
-
03318/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes =
0
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension =
30000
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets =
10
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users =
10
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes =
1,
5,
25
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Retry
cache
on namenode
is enabled
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Retry
cache will
use
0.03
of total
heap
and retry cac
-
he entry expiry
time
is
600000 millis18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map NameNodeRetryCache
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
0.029999999329447746%
max
memory
966.7 MB =
297.0 KB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
15 =
32768 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSImage: Allocated
new BlockPoolId: BP
-608361600
-192.168
.189
.111
-15
-
3459062172118/
08/
18
19:
10:
21 INFO common.Storage:
Storage
directory /root/training/hadoop
-2.7
.3/tmp/dfs/
name h
-
as been successfully formatted
.18/
08/
18
19:
10:
21 INFO namenode.FSImageFormatProtobuf: Saving image
file /root/training/hadoop
-2.7.
-
3/tmp/dfs/
name/
current/fsimage.ckpt_0000000000000000000
using
no compression18/
08/
18
19:
10:
22 INFO namenode.FSImageFormatProtobuf: Image
file /root/training/hadoop
-2.7
.3/tmp/d
-
fs/
name/
current/fsimage.ckpt_0000000000000000000
of
size
351
bytes saved
in
0 seconds
.18/
08/
18
19:
10:
22 INFO namenode.NNStorageRetentionManager: Going
to retain
1 images
with txid >=
0
-
18/
08/
18
19:
10:
22 INFO util.ExitUtil: Exiting
with
status
0
-
18/
08/
18
19:
10:
22 INFO namenode.NameNode: SHUTDOWN_MSG:
-
/************************************************************
-
SHUTDOWN_MSG: Shutting down NameNode at bigdata111/192.168.189.111
-
************************************************************/
tmp目录生成的数据如下:
6、启动集群
(1)start-all.sh
执行start-all.sh(这个命令已经过期,可以分别执行start-dfs.sh和start-yarn.sh命令)命令,正常启动后如下:
Hadoop节点如下:
a、NameNode
b、DataNode
c、SecondaryNameNode
yarn节点如下:
a、ResourceManager
b、NodeManager
(2)UI
在浏览器中输入地址http://192.168.189.111:50070(SecondaryNameNode端口默认是50090),即可打开Hadoop管理页面,如图:
打开Utilities,查看HDFS文件系统管理页面如下
输入http://192.168.189.111:8088/cluster,打开yarn应用管理页面,如图:
五、全分布式
真正的分布式环境,用于生产环境。
1、编辑hosts文件
执行vi /etc/hosts打开主机名配置文件,配置如下:
三台服务器都需要配置。
2、免密码登录
(1)生成公钥和私钥
三台服务器执行命令ssh-keygen -t rsa生成公钥和私钥,中间按Enter即可。
(2)拷贝私钥
将每台机器的私钥拷贝到其他机器(包括自己),例如在bigdata112上执行如下拷贝命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata112
将私钥拷贝给自己。
3、bigdata112配置
按照伪分布式配置,不同的配置如下:
(1)hdfs-site.xml
-
<configuration>
-
<property>
-
<!-- HDFS数据冗余度,默认3 -->
-
<name>dfs.replication
</name>
-
<value>2
</value>
-
</property>
-
<property>
-
<!-- 是否开启HDFS权限检查,默认true -->
-
<name>dfs.permissions
</name>
-
<value>true
</value>
-
</property>
-
</configuration>
数据副本数配置为2。
(2)core-site.xml
-
<configuration>
-
<property>
-
<!-- 配置NameNode地址 -->
-
<name>fs.defaultFS
</name>
-
<value>hdfs://bigdata112:9000
</value>
-
</property>
-
<property>
-
<!-- 保存HDFS临时数据的目录 -->
-
<name>hadoop.tmp.dir
</name>
-
<value>/root/training/hadoop-2.7.3/tmp
</value>
-
</property>
-
</configuration>
NameNode地址为bigdata112。
(3)yarn-site.xml
-
<configuration>
-
<property>
-
<name>yarn.resourcemanager.hostname
</name>
-
<value>bigdata112
</value>
-
</property>
-
<property>
-
<name>yarn.nodemanager.aux-services
</name>
-
<value>mapreduce_shuffle
</value>
-
</property>
-
</configuration>
ResourceManager节点主机名改为bigdata112。
(4)slaves
salvas配置文件内容如下:
别忘了格式化HDFS。
4、其他节点配置
(1)远程拷贝
将bigdata112的hadoop目录远程拷贝到bigdata113和bigdata114上,命令如下:
scp -r hadoop-2.7.3/ root@bigdata113:/root/training scp -r hadoop-2.7.3/ root@bigdata114:/root/training
5、测试
(1)start-all.sh
在bigdata112上执行集群启动命令start-all.sh,如图:
(2)UI
在浏览器中输入http://192.168.189.112:50070打开Hadoop管理页面,如下:
打开Utilities,查看HDFS文件系统管理页面如下
输入http://192.168.189.112:8088,打开yarn应用管理页面如下:
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
<div class="htmledit_views">
<h1><a name="t0"></a>一、准备</h1>
1、软件版本如下:
(1)JDK1.8
jdk-8u144-linux-x64.tar.gz
(2)Hadoop
hadoop-2.7.3.tar.gz
(3)CentOS
CentOS-7-x86_64-Everything-1708.iso
安装Hadoop集群前,我们需要提前安装三台Linux服务器,并在每个服务器上都安装和配置好JDK。
二、集群规划
我们分别搭建三种模式的Hadoop集群,各个模式的集群具体划分如下:
1、本地模式(Local Mode)
主机名 | IP地址 | Hadoop节点名称 |
bigdata111 | 192.168.189.111 | 无 |
2、伪分布式(Pseudo-Distributed Mode)
主机名 | IP地址 | Hadoop节点名称 |
bigdata111 | 192.168.189.111 | NameNode / SecondaryNameNode / DataNode / |
<p>ResourceManager / NodeManager</p>
</td>
</tr></tbody></table><h2><a name="t8"></a>3、全分布式(Fully-Distributed Mode)</h2>
主机名 | IP地址 | Hadoop节点名称 |
bigdata112 | 192.168.189.112 | NameNode / SecondaryNameNode / ResourceManager |
bigdata113 | 192.168.189.113 | DataNode / NodeManager |
bigdata114 | 192.168.189.114 | DataNode / NodeManager |
三、本地模式
本地模式没有HDFS,只能测试MapReduce程序,这里程序处理的本地文件系统的数据。
1、上传文件
将hadoop-2.7.3.tar.gz文件上传至bigdata111服务器的/root/tools下,如图:
2、解压文件
在当前目录,执行如下解压命令
tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
将文件解压到/root/training/目录下,如图:
可以执行如下tree命令(需要单独安装tree-1.6.0-10.el7.x86_64.rpm)
tree -d -L 3 hadoop-2.7.3/
查看hadoop的三层目录,如下:
3、配置环境变量
执行
vi ~/.bash_profile
命令,打开环境变量配置文件,添加如下配置
保存并退出文件,再执行
source ~/.bash_profile
命令,使配置生效。在命令窗口敲入start,然后按Tab键,如果出现如下界面表示配置成功:
4、配置hadoop-env.sh
进入Hadoop的配置文件目录,如下:
图中是Hadoop的所有配置文件。伪分布式只需要配置hadoop-env.sh,在该文件中配置JDK安装路径,如下:
保存退出文件。
5、测试
(1)单词计数
Hadoop中为我们提供了一个单词计数的MapReduce程序,详细目录如下:
(2)执行MapReduce程序
先在/root/input目录下创建一个data.txt文件,output目录不能提前创建,然后在程序所在目录执行如下命令:
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output/
成功后,会在output目录下生成两个文件,结果如下:
实际结果存在part-r-00000,_SUCCESS只是一个状态文件。
四、伪分布式
在单机上运行,模拟分布式环境,具有Hadoop的主要功能。伪分布式是在本地模式的基础之上安装的。在本地模式基础之上,再配置如下配置文件即可。分别配置如下:
1、hdfs-site.xml
-
<configuration>
-
<property>
-
<!-- HDFS数据冗余度,默认3 -->
-
<name>dfs.replication
</name>
-
<value>1
</value>
-
</property>
-
<property>
-
<!-- 是否开启HDFS权限检查,默认true -->
-
<name>dfs.permissions
</name>
-
<value>true
</value>
-
</property>
-
</configuration>
参数说明:
(1)dfs.replication
配置数据的副本数。因为这里是单机,所以副本数配置为1。
(2)dfs.permissions
配置HDFS的权限检查。默认是true,也就是开启权限检查。可以不配置,这里只是为了说明。
2、core-site.xml
-
<configuration>
-
<property>
-
<!-- 配置NameNode地址 -->
-
<name>fs.defaultFS
</name>
-
<value>hdfs://bigdata111:9000
</value>
-
</property>
-
<property>
-
<!-- 保存HDFS临时数据的目录 -->
-
<name>hadoop.tmp.dir
</name>
-
<value>/root/training/hadoop-2.7.3/tmp
</value>
-
</property>
-
</configuration>
参数说明:
(1)fs.defaultFS
配置NameNode的地址,通信端口号是9000。bigdata111为主机名,也可以使用IP地址。
(2)hadoop.tmp.dir
配置HDFS数据保存目录,默认是Linux系统的tmp目录,而Linux系统tmp目录重启后会被删除,所以这里需要配置为本地系统的其他目录。tmp目录需要用户自己创建,如图:
3、mapred-site.xml
Hadoop配置文件中默认没有这个文件,只提供了模板文件mapred-site.xml.template,需要先复制一份,如下:
cp mapred-site.xml.template mapred-site.xml
-
<configuration>
-
<property>
-
<name>mapreduce.framework.name
</name>
-
<value>yarn
</value>
-
</property>
-
</configuration>
参数说明:
(1)mapreduce.framework.name
配置mapreduce程序执行的框架名称:yarn。yarn是资源管理器框架。
4、yarn-site.xml
-
<configuration>
-
<property>
-
<name>yarn.resourcemanager.hostname
</name>
-
<value>bigdata111
</value>
-
</property>
-
<property>
-
<name>yarn.nodemanager.aux-services
</name>
-
<value>mapreduce_shuffle
</value>
-
</property>
-
</configuration>
参数说明:
(1)yarn.resourcemanager.hostname
配置yarn的主节点ResourceManager主机名
(2)yarn.nodemanager.aux-services
配置yarn的NodeManager运行MapReduce的方式
5、格式化HDFS
执行如下命令
hdfs namenode -format
格式化HDFS。格式化成功后,部分日志如下:
-
18/08/18 19:10:19 INFO namenode.NameNode: STARTUP_MSG:
-
/************************************************************
-
STARTUP_MSG: Starting NameNode
-
STARTUP_MSG: host = bigdata111/192.168.189.111
-
STARTUP_MSG: args = [-format]
-
STARTUP_MSG: version = 2.7.3
-
-
de4719c1c8af91ccff; compiled by 'root' on 2016-08-18T01:41ZSTARTUP_MSG: java = 1.8.0_144
-
************************************************************/
-
18/08/18 19:10:19 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
-
18/08/18 19:10:19 INFO namenode.NameNode: createNameNode [-format]
-
Formatting using clusterid: CID-64debde0-a2ea-4385-baf2-18e6b2d76c74
-
18/08/18 19:10:21 INFO namenode.FSNamesystem: No KeyProvider found.
-
18/08/18 19:10:21 INFO namenode.FSNamesystem: fsLock is fair:true
-
18/08/18 19:10:21 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
-
18/08/18 19:10:21 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostn
-
ame-
check=true18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec
-
is
set
to
000:
00:
00:
00.00018/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: The
block deletion will
start around
2018 Aug
-
18
19:
10:
2118/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map BlocksMap
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
2.0%
max
memory
966.7 MB =
19.3 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
21 =
2097152 entries
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=
false
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: defaultReplication =
1
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxReplication =
512
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: minReplication =
1
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxReplicationStreams =
2
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: replicationRecheckInterval =
3000
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: encryptDataTransfer =
false
-
18/
08/
18
19:
10:
21 INFO blockmanagement.BlockManager: maxNumBlocksToLog =
1000
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: fsOwner = root (auth:SIMPLE)
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: supergroup = supergroup
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: isPermissionEnabled =
true
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: HA Enabled:
false
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Append Enabled:
true
-
18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map INodeMap
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
1.0%
max
memory
966.7 MB =
9.7 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
20 =
1048576 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: ACLs enabled?
false
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: XAttrs enabled?
true
-
18/
08/
18
19:
10:
21 INFO namenode.FSDirectory: Maximum
size
of an xattr:
16384
-
18/
08/
18
19:
10:
21 INFO namenode.NameNode:
Caching
file
names occuring more
than
10 times
-
18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map cachedBlocks
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
0.25%
max
memory
966.7 MB =
2.4 MB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
18 =
262144 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct =
0.9990000128746
-
03318/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes =
0
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension =
30000
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets =
10
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users =
10
-
18/
08/
18
19:
10:
21 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes =
1,
5,
25
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Retry
cache
on namenode
is enabled
-
18/
08/
18
19:
10:
21 INFO namenode.FSNamesystem: Retry
cache will
use
0.03
of total
heap
and retry cac
-
he entry expiry
time
is
600000 millis18/
08/
18
19:
10:
21 INFO util.GSet: Computing
capacity
for
map NameNodeRetryCache
-
18/
08/
18
19:
10:
21 INFO util.GSet: VM
type =
64-
bit
-
18/
08/
18
19:
10:
21 INFO util.GSet:
0.029999999329447746%
max
memory
966.7 MB =
297.0 KB
-
18/
08/
18
19:
10:
21 INFO util.GSet:
capacity =
2^
15 =
32768 entries
-
18/
08/
18
19:
10:
21 INFO namenode.FSImage: Allocated
new BlockPoolId: BP
-608361600
-192.168
.189
.111
-15
-
3459062172118/
08/
18
19:
10:
21 INFO common.Storage:
Storage
directory /root/training/hadoop
-2.7
.3/tmp/dfs/
name h
-
as been successfully formatted
.18/
08/
18
19:
10:
21 INFO namenode.FSImageFormatProtobuf: Saving image
file /root/training/hadoop
-2.7.
-
3/tmp/dfs/
name/
current/fsimage.ckpt_0000000000000000000
using
no compression18/
08/
18
19:
10:
22 INFO namenode.FSImageFormatProtobuf: Image
file /root/training/hadoop
-2.7
.3/tmp/d
-
fs/
name/
current/fsimage.ckpt_0000000000000000000
of
size
351
bytes saved
in
0 seconds
.18/
08/
18
19:
10:
22 INFO namenode.NNStorageRetentionManager: Going
to retain
1 images
with txid >=
0
-
18/
08/
18
19:
10:
22 INFO util.ExitUtil: Exiting
with
status
0
-
18/
08/
18
19:
10:
22 INFO namenode.NameNode: SHUTDOWN_MSG:
-
/************************************************************
-
SHUTDOWN_MSG: Shutting down NameNode at bigdata111/192.168.189.111
-
************************************************************/
tmp目录生成的数据如下:
6、启动集群
(1)start-all.sh
执行start-all.sh(这个命令已经过期,可以分别执行start-dfs.sh和start-yarn.sh命令)命令,正常启动后如下:
Hadoop节点如下:
a、NameNode
b、DataNode
c、SecondaryNameNode
yarn节点如下:
a、ResourceManager
b、NodeManager
(2)UI
在浏览器中输入地址http://192.168.189.111:50070(SecondaryNameNode端口默认是50090),即可打开Hadoop管理页面,如图:
打开Utilities,查看HDFS文件系统管理页面如下
输入http://192.168.189.111:8088/cluster,打开yarn应用管理页面,如图:
五、全分布式
真正的分布式环境,用于生产环境。
1、编辑hosts文件
执行vi /etc/hosts打开主机名配置文件,配置如下:
三台服务器都需要配置。
2、免密码登录
(1)生成公钥和私钥
三台服务器执行命令ssh-keygen -t rsa生成公钥和私钥,中间按Enter即可。
(2)拷贝私钥
将每台机器的私钥拷贝到其他机器(包括自己),例如在bigdata112上执行如下拷贝命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata112
将私钥拷贝给自己。
3、bigdata112配置
按照伪分布式配置,不同的配置如下:
(1)hdfs-site.xml
-
<configuration>
-
<property>
-
<!-- HDFS数据冗余度,默认3 -->
-
<name>dfs.replication
</name>
-
<value>2
</value>
-
</property>
-
<property>
-
<!-- 是否开启HDFS权限检查,默认true -->
-
<name>dfs.permissions
</name>
-
<value>true
</value>
-
</property>
-
</configuration>
数据副本数配置为2。
(2)core-site.xml
-
<configuration>
-
<property>
-
<!-- 配置NameNode地址 -->
-
<name>fs.defaultFS
</name>
-
<value>hdfs://bigdata112:9000
</value>
-
</property>
-
<property>
-
<!-- 保存HDFS临时数据的目录 -->
-
<name>hadoop.tmp.dir
</name>
-
<value>/root/training/hadoop-2.7.3/tmp
</value>
-
</property>
-
</configuration>
NameNode地址为bigdata112。
(3)yarn-site.xml
-
<configuration>
-
<property>
-
<name>yarn.resourcemanager.hostname
</name>
-
<value>bigdata112
</value>
-
</property>
-
<property>
-
<name>yarn.nodemanager.aux-services
</name>
-
<value>mapreduce_shuffle
</value>
-
</property>
-
</configuration>
ResourceManager节点主机名改为bigdata112。
(4)slaves
salvas配置文件内容如下:
别忘了格式化HDFS。
4、其他节点配置
(1)远程拷贝
将bigdata112的hadoop目录远程拷贝到bigdata113和bigdata114上,命令如下:
scp -r hadoop-2.7.3/ root@bigdata113:/root/training scp -r hadoop-2.7.3/ root@bigdata114:/root/training
5、测试
(1)start-all.sh
在bigdata112上执行集群启动命令start-all.sh,如图:
(2)UI
在浏览器中输入http://192.168.189.112:50070打开Hadoop管理页面,如下:
打开Utilities,查看HDFS文件系统管理页面如下
输入http://192.168.189.112:8088,打开yarn应用管理页面如下: