可以到bilibili观看原作者视频
https://www.bilibili.com/video/BV1sE41197mi
创建用户名hadoop
提高hadoop权限,输入vim /etc/sudoers
添加hadoop ALL=(root) NOPASSWD:ALL
使用sudo可以不用输入密码
查看hadoop账号
设置网络
输入sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改文件
BOOTPROTO=dhcp 为动态分配的ip
修改结果如下图
//永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname hadoop000
修改hosts文件,将主机名与IP映射
免密登录
生成秘钥
查看秘钥生成位置
把公钥信息存在auhorized_keys:授权秘钥
“>”:功能为覆盖
“>>”:功能为追加
增加权限
测试免密登录
Xshell6
在Windows系统中的C:\Windows\System32\drivers\etc\hosts添加
(用管理员方式打开文本文档,在文档内打开)
在Windows中ping hadoop000,测试下
在xshell6中连接hadoop000主机
关闭防火墙
关闭开机自启
查看防火墙状态(不关闭防火墙,会导致一些端口用不了)
创建softwares目录与APP目录
把hadoop,jdk复制到softwares中
查看java是安装
卸载openjdk
解压hadoo,jdk到app中(进入softwares)
配置jdk,hadoop
让文件生效
查看配置是否生效
修改hadoop配置文件
进入hadoop目录
修改hadoop-env.sh
找到,并修改JAVA_HOME
修改hdfs-site.xml
把以下代码复制到文件中(1表示单机)
dfs.replication
1
dfs.permissions
false
修改core-site.xml并新建一个tmp目录
把以下代码复制到文件中
fs.defaultFS
hdfs://hadoop000:9000
hadoop.tmp.dir
/home/hadoop/app/tmp
添加mapred-site.xml
这个文件一开始没有,但官方提供了模板,拷贝即可
把以下代码复制到文件中(用yarn框架执行MapReduce,yarn为hadoop自带的资源调度框架)
mapreduce.frameworke.name
yarn
修改yarn-site.xml
把以下代码复制到文件中(shuffle为mapreduce的一个过程)
yarn.nodemanager.hostname
hadoop000
yarn.nodemanager.aux-services
mapreduce_shuffle
格式化:HDFS(NameNode)
hdfs namenode -format
出现表示格式化成功
查看hadoop文件下结构
启动hadoop环境
start-all.sh
格式化只能一次不要重复格式化,会损坏文件系统
如果已经解决方法:①重复格式化删除~/app下tmp文件,②改classID让NameNode和DateNode一致
测试
访问hadoop000:50070
案例测试
准备一个文件
word.txt文件内容
上传到分布式系统
创建文件夹
上传到input中
下载查看
运行官方示例(测试wordcount)
(output输出文件不能先创建,会出错,系统会以为里面有东西会覆盖它)
查看运行结果