0
点赞
收藏
分享

微信扫一扫

Hadoop集群搭建管理(四节点集成)



文章目录

  • ​​Hadoop的安装与配置​​
  • ​​1、创建hadoop用户。​​
  • ​​2、设置Master节点机ssh无密码登录Slave节点机​​
  • ​​3、使用WinSCP上传hadoop-2.7.2.tar.gz软件包到node1节点机的root目录下。​​
  • ​​4、解压文件,安装文件。​​
  • ​​5、修改hadoop配置文件(共6个)​​
  • ​​6、修改“/home/hadoop/”文件用户主/组属性。​​
  • ​​7、将配置好的hadoop系统复制到其他节点机上。​​
  • ​​8、分别root用户登录node2,node3,node4节点机,修改 “/home/hadoop/”文件用户主/组属性。​​
  • ​​Hadoop的管理​​
  • ​​1、格式化NameNode。​​
  • ​​2、启动、停止hadoop服务。​​
  • ​​3、查看集群状态。​​
  • ​​4、查看文件块组成。​​
  • ​​5、使用浏览器浏览Master节点机 http://192.168.23.111:50070,查看NameNode节点状态。​​
  • ​​6、浏览Datanodes数据节点。​​
  • ​​7、使用浏览器浏览Master节点机 http://192.168.23.111:8088查看所有应用。​​
  • ​​8、浏览Nodes。​​
  • ​​Hadoop Shell命令​​
  • ​​1、在hdfs创建gdu目录​​
  • ​​2、在hdfs查看当前目录。​​
  • ​​3、在本地系统编辑文件jie.txt。​​
  • ​​4、从hdfs中下载文件。​​
  • ​​5、查看hdfs中/swvtc/jie.txt的内容。​​
  • ​​6、Hadoop常用的一些命令​​
  • ​​7、Hadoop其他一些命令​​

四台机分别为node1:192.168.23.111;node2:192.168.23.112;node3:192.168.23.113;node4:192.168.23.114

Hadoop的安装与配置

配置好网络、yum源及关闭防火墙和做好主机映射,并ssh免密互通

1、创建hadoop用户。

分别在四台节点机上创建用户hadoop,uid=660,密码都设置为123456

Hadoop集群搭建管理(四节点集成)_大数据

2、设置Master节点机ssh无密码登录Slave节点机

详细参考同专栏里的《密码学基础及ssh实现多节点间无密码访问》

Hadoop集群搭建管理(四节点集成)_hadoop_02

Hadoop集群搭建管理(四节点集成)_dfs_03

Hadoop集群搭建管理(四节点集成)_yarn_04

3、使用WinSCP上传hadoop-2.7.2.tar.gz软件包到node1节点机的root目录下。

如果hadoop软件包在node1节点机上编译,则把编译好的包拷贝到root目录下即可。

Hadoop集群搭建管理(四节点集成)_dfs_05

4、解压文件,安装文件。

[root@node1 ~]# tar xvzf hadoop-2.7.2.tar.gz 
[root@node1 ~]# cd hadoop-2.7.2/
[root@node1 hadoop-2.7.2]# mv * /home/hadoop

5、修改hadoop配置文件(共6个)

Hadoop配置文件主要有:hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。配置文件在/home/hadoop/etc/hadoop/目录下,进入该目录进行配置。


[root@node1 hadoop-2.7.2]# cd /home/hadoop/etc/hadoop/


1)修改hadoop-env.sh,将文件中的export JAVA_HOME=${JAVA_HOME}

修改为export JAVA_HOME=/usr/lib/jvm/java-1.8.0 。(可以利用java - version查看版本,若没有安装要先安装)

yum -y install java-1.8.0-openjdk*
#node1、node2、node3、node4都需要安装

Hadoop集群搭建管理(四节点集成)_yarn_06

Hadoop集群搭建管理(四节点集成)_hadoop_07

2)修改slaves,该文件登记DataNode节点主机名,本处添加node2,node3,node4三台节点主机名。

Hadoop集群搭建管理(四节点集成)_hadoop_08

3)修改core-site.xml,将文件中的 ​​<configuration></configuration>​​修改为如下内容。

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value> #其中node1为集群的NameNode(Master)节点机,node1可以使用IP地址表示。
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>

4)修改hdfs-site.xml,将文件中的​​<configuration></configuration>​​修改为如下内容。

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

第二个NameNode也使用node1节点机,NameNode产生的数据存放在/home/hadoop/dfs/name目录下,DataNode产生的数据存在/home/hadoop/dfs/data目录下,设置备份数量3份。

5)将文件mapred-site.xml.template改名为mapred-site.xml。

[root@node1 hadoop]# mv mapred-site.xml.template mapred-site.xml

将文件中的​​<configuration></configuration>​​修改为如下内容。

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>

6)修改yarn-site.xml,将文件中的​​<configuration></configuration>​​修改为如下内容。

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.23.111</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
</property>
</configuration>

6、修改“/home/hadoop/”文件用户主/组属性。

[root@node1 hadoop]# chown -R hadoop:hadoop /home/hadoop

7、将配置好的hadoop系统复制到其他节点机上。

[root@node1 hadoop]# scp -r * hadoop@node4:/home/hadoop
[root@node1 hadoop]# scp -r * hadoop@node3:/home/hadoop
[root@node1 hadoop]# scp -r * hadoop@node2:/home/hadoop

8、分别root用户登录node2,node3,node4节点机,修改 “/home/hadoop/”文件用户主/组属性。

chown -R hadoop:hadoop /home/hadoop #node2、node3、node4执行命令

Hadoop的管理

Hadoop系统搭建完成后,需要对NameNode节点进行格式化,启动相关服务,检查运行状态。

1、格式化NameNode。

登录node1节点机,以用户hadoop登录或su – hadoop登录,格式化NameNode。

[hadoop@node1 ~]$ hadoop namenode -format 
#不要多次格式化,如果出现bug,请按照配置文件路径删除缓存

Hadoop集群搭建管理(四节点集成)_dfs_09

最后显示有“successfully formatted.”表示格式化成功。

2、启动、停止hadoop服务。

进入/home/hadoop/sbin/,可以看到目录的脚本程序。

Hadoop集群搭建管理(四节点集成)_yarn_10

1)运行start-dfs.sh脚本程序。

2)运行yarn脚本程序。

Hadoop集群搭建管理(四节点集成)_dfs_11

3)分别检查每台节点机运行情况。

Hadoop集群搭建管理(四节点集成)_hdfs_12

Hadoop集群搭建管理(四节点集成)_hdfs_13

Hadoop集群搭建管理(四节点集成)_hadoop_14

Hadoop集群搭建管理(四节点集成)_hdfs_15

4)停止hadoop服务,停止服务后,后面操作无法进行,这步暂时不操作

stop-yarn.sh
stop-dfs.sh

5)可以使用all来启动关闭所有节点

[hadoop@node1 ~]$ vim .bash_profile

Hadoop集群搭建管理(四节点集成)_大数据_16

[hadoop@node1 ~]$ source .bash_profile

Hadoop集群搭建管理(四节点集成)_hadoop_17

3、查看集群状态。


[hadoop@node1 ~]$ hdfs dfsadmin -report #执行此条命令,显示内容如下,注意Live datanodes(3) 如果没有3则集成失败的
Configured Capacity: 54716792832 (50.96 GB)
Present Capacity: 48293249024 (44.98 GB)
DFS Remaining: 48293236736 (44.98 GB)
DFS Used: 12288 (12 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0



Live datanodes (3):

Name: 192.168.23.112:50010 (node2) Hostname: node2 Decommission Status Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 4096 (4

KB) Non DFS Used: 2141077504 (1.99 GB) DFS Remaining: 16097849344

(14.99 GB) DFS Used%: 0.00% DFS Remaining%: 88.26% Configured Cache

Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache

Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu

Jul 29 18:09:15 CST 2021 Name: 192.168.23.113:50010 (node3) Hostname: node3 Decommission Status Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 4096 (4

KB) Non DFS Used: 2141249536 (1.99 GB) DFS Remaining: 16097677312

(14.99 GB) DFS Used%: 0.00% DFS Remaining%: 88.26% Configured Cache

Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache

Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu

Jul 29 18:09:15 CST 2021 Name: 192.168.23.114:50010 (node4) Hostname: node4 Decommission Status Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 4096 (4

KB) Non DFS Used: 2141216768 (1.99 GB) DFS Remaining: 16097710080

(14.99 GB) DFS Used%: 0.00% DFS Remaining%: 88.26% Configured Cache

Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache

Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu

Jul 29 18:09:18 CST 2021

4、查看文件块组成。

Hadoop集群搭建管理(四节点集成)_大数据_18

5、使用浏览器浏览Master节点机 http://192.168.23.111:50070,查看NameNode节点状态。

注意:这个网址ip必须是你主节点的ip

Hadoop集群搭建管理(四节点集成)_yarn_19

6、浏览Datanodes数据节点。

Hadoop集群搭建管理(四节点集成)_大数据_20

7、使用浏览器浏览Master节点机 http://192.168.23.111:8088查看所有应用。

Hadoop集群搭建管理(四节点集成)_hdfs_21

8、浏览Nodes。

Hadoop集群搭建管理(四节点集成)_hdfs_22

Hadoop Shell命令

为方便对hdfs文件系统和作业提交的操作,hadoop提供了一些基本的shell操作,这些基本操作与linux下的操作有很多相似性。shell操作的基本命令格式为:hdfs dfs -cmd 其中,-cmd为为具体的操作命令如-cp(复制命令)。

1、在hdfs创建gdu目录

[hadoop@node1 ~]$ hdfs dfs -mkdir /gdu

2、在hdfs查看当前目录。

Hadoop集群搭建管理(四节点集成)_yarn_23

3、在本地系统编辑文件jie.txt。

[hadoop@node1 ~]$ vim jie.txt

Hadoop集群搭建管理(四节点集成)_大数据_24

[hadoop@node1 ~]$ hdfs dfs -put jie.txt /gdu

4、从hdfs中下载文件。

[hadoop@node1 ~]$ hdfs dfs -get /gdu/jie.txt

5、查看hdfs中/swvtc/jie.txt的内容。

Hadoop集群搭建管理(四节点集成)_yarn_25

6、Hadoop常用的一些命令

命令介绍如下:

> hdfs dfs -ls  <path>                #查看指定目录下文件
hdfs dfs -cat <path-file> #查看文件内容
hdfs dfs -put <local-file/path> <hdoop-path> #将本地文件或目录存储至hadoop
hdfs dfs -get <hadoop-path> <local> #将hadoop文件下载至本地
hdfs dfs -rm <hadoop-file> #删除hadoop文件
hdfs dfs -rmr <hadoop-path> #删除hadoop上指定文件夹(包含子目录等)
hdfs dfs -mkdir <hadoop-path> #在hadoop创建新目录
hdfs dfs -touchz <hadoop-path-file> #在hadoop新建一个空文件
hdfs dfs -mv <old-path-file> <new-path-file> #将hadoop文件重命名
hdfs dfs -getmerge <hadoop-path> <local-path-file> #将hadoop指定目录下所有内容
#保存为一个文件,同时下载至本地
hadoop job -kill <job-id> #将正在运行的hadoop作业杀掉
hadoop jar <jar> <mainClass] args... #运行jar文件
hadoop distcp <srcurl> <desturl> #递归地拷贝文件或目录

7、Hadoop其他一些命令

命令介绍如下:

1)运行HDFS文件系统检查工具(fsck tools)

用法:

hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
选项:

<path> 检查的起始目录。
-move 移动受损文件到/lost+found
-delete 删除受损文件。
-openforwrite 打印写打开的文件。
-files 打印正被检查的文件。
-blocks 打印块信息。
-locations 打印出每个块的位置信息。
-racks 打印出data-node的网络拓扑结构。

2)用于和Map Reduce作业交互的命令(jar)

用法:

hadoop job [GENERIC_OPTIONS] [-submit <job-file>] | [-status <job-id>] | [-counter <job-id><group-name><counter-name>] | [-kill <job-id>] | [-events <job-id><from-event-#><#-of-events>] | [-history [all] <jobOutputDir>] | [-list [all]] | [-kill-task <task-id>] | [-fail-task <task-id>]
选项:
-submit <job-file> 提交作业
-status <job-id> 打印map和reduce完成百分比和所有计数器。
-counter <job-id><group-name><counter-name> 打印计数器的值。
-kill <job-id> 杀死指定作业。
-events <job-id><from-event-#><#-of-events> 打印给定范围内jobtracker
接收到的事件细节。
-history [all] <jobOutputDir> -history <jobOutputDir> 打印作业的细节、失败
及被杀死原因的细节。更多的关于一个作业的细节比如成功的
任务,做过的任务尝试等信息可以通过指定[all]选项查看。
-list [all] -list all 显示所有作业。-list只显示将要完成的作业。
-kill-task <task-id> 杀死任务。被杀死的任务不会不利于失败尝试。
-fail-task <task-id> 使任务失败。被失败的任务会对失败尝试不利。

3)运行pipes作业

用法:

hadoop pipes [-conf<path>] [-jobconf<key=value>, <key=value>, ...] [-input <path>] [-output <path>] [-jar <jar file>] [-inputformat<class>] [-map <class>] [-partitioner<class>] [-reduce <class>] [-writer <class>] [-program <executable>] [-reduces <num>]
选项:
-conf<path> 作业的配置
-jobconf<key=value>, <key=value>, ... 增加/覆盖作业的配置项
-input <path> 输入目录
-output <path> 输出目录
-jar <jar file> Jar文件名
-inputformat<class> InputFormat类
-map <class> Java Map类
-partitioner<class> Java Partitioner
-reduce <class> Java Reduce类
-writer <class> Java RecordWriter
-program <executable> 可执行程序的URI
-reduces <num> reduce个数

4)运行一个HDFS的dfsadmin客户端

用法:

hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota<quota><dirname>...<dirname>] [-clrQuota<dirname>...<dirname>] [-help [cmd]]
选项:
-report 报告文件系统的基本信息和统计信息。
-safemode enter | leave | get | wait 安全模式维护命令。
-refreshNodes 重新读取hosts和exclude文件,更新允许连到Namenode的
或那些需要退出或入编的Datanode的集合。
-finalizeUpgrade 终结HDFS的升级操作。
-upgradeProgress status | details | force 请求当前系统的升级状态,
状态的细节,或者强制升级操作进行。
-metasave filename 保存Namenode的主要数据结构到hadoop.log.dir属性指定
的目录下的<filename>文件。
-setQuota<quota><dirname>...<dirname> 为每个目录 <dirname>设定配额<quota>
目录配额是一个长整型整数,强制限定了目录树下的名字个数。
-clrQuota<dirname>...<dirname> 为每一个目录<dirname>清除配额设定。
-help [cmd] 显示给定命令的帮助信息。

5)运行namenode。

用法:

hadoop namenode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]
选项:
-format 格式化namenode。
-upgrade 分发新版本的hadoop后,namenode应以upgrade选项启动。
-rollback 将namenode回滚到前一版本。
-finalize finalize 会删除文件系统的前一状态。
-importCheckpoint 从检查点目录装载镜像并保存到当前检查点目录,
检查点目录由fs.checkpoint.dir指定。



举报

相关推荐

0 条评论