Hadoop下几个重要的目录
hadoop安装在/opt/module/文件夹下
1、sbin目录:存放启动或停止hadoop相关服务的脚本
2、bin目录:存放对hadoop相关服务(HDFS,YARN)进行操作的脚本
3、etc目录:hadoop的配置文件目录,存放hadoop的配置文件
4、share目录:存放hadoop的依赖jar包和文档,文档可以被删除掉
5、lib目录:存放hadoop的本地库(对数据进行压缩解压缩功能
Hadoop安装详见教程
集群分发脚本
1.scp(secure copy)安全拷贝
基本语法
scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
例子:在hadoop101上,将hadoop101中/opt/module目录下的软件拷贝到hadoop102上。
[atguigu@hadoop101/]$ scp -r /opt/module root@hadoop102:/opt/module
2.rsync远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
1)基本语法
rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
选项功能 -a归档拷贝 -v显示复制过程
(2)案例实操
把hadoop101机器上的/opt/software目录同步到hadoop102服务器的root用户下的/opt/目录
[atguigu@hadoop101opt]$ rsync -av /opt/software/ hadoop102:/opt/software
3.xsync集群分发脚本
循环复制文件到所有节点的相同目录下。把一台虚拟机上的文件复制到所有集群下的虚拟机
例子:
xsync/opt/module/hadoop-3.1.3/etc/hadoop/
脚本实现详见教程
SSH无密登录配置
登录另外一台虚拟机: ssh 虚拟机名
需要配置免密登录公钥与私钥。详见教程
Hadoop集群配置
注意:NameNode和SecondaryNameNode不要安装在同一台服务器
注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置
具体配置方式详见教程
修改/opt/module/hadoopxxx/etc/hadoop下面几个文件
(1)core-site.xml 核心文件配置 指定HDFS中NameNode的地址
(2)配置hdfs-site.xml指定HDFS中2NameNode的地址
(3)配置yarn-site.xml 配置yarn文件
(4)配置mapred-site.xml 配种mapreduce文件
配置完成后 在集群上分发配置好的Hadoop配置文件
xsync/opt/module/hadoop-3.1.3/etc/hadoop/
Hadoop群起集群
配置workers
vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
在该文件中增加如下内容:
Localhost删除
增加节点名称
hadoop102
hadoop103
hadoop104
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
同步所有节点配置文件
xsync /opt/module/hadoop-3.1.3/etc
启动集群
(1)如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
hdfs namenode -format
(2)启动HDFS
start-dfs.sh
stop-dfs.sh
(3)在配置了ResourceManager的节点(hadoop103)启动YARN
start-yarn.sh
WEB端查看Hadoop
查看NN: http://zy100:9870/
查看2NN:http://zy102:9868/
查看RM: http://zy101:8088/ 查看运行mp的程序
打开Hadoop安装文件夹
cd $HADOOP_HOME
配置启动历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。详见教程
zy100上启动历史服务器
mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
之后jps查看是否启动JobHistoryServer
zy101:8088上查看提交计算的history
4
Wordcount程序例子:
https://blog.csdn.net/alexwym/article/details/82497582
把里面的hdfs dfs 改为hadoop fs即可。
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /data/input/wordcount.txt /data/out/wordcount
SD