Hadoop安装教程_分布式

Hadoop的分布式安装

hadoop安装伪分布式以后就可以进行启动和停止操作了。
首先需要格式化HDFS分布式文件系统。hadoop namenode -format
然后就可以启动了。start-all.sh
此时使用jps命令可以查看启动的5个守护进程
也可以通过web查看是否启动成功。
localhost:50070查看 NameNode 节点,localhost:50030查看 JobTracker 节点
停止命令。stop-all.sh

一、配置IP

这是使用了两台已经配置好 hadoop 单机环境的 Ubuntu
Ubuntu_master:192.168.1.3
ubuntu_slave:192.168.1.6

二、配置主机名及 hosts 文件

为了能使用 登录以及 ping 更简单
我们在这里配置地址及主机名到 hosts 文件
在 /etc/hosts 文件中添加以下内容:
192.168.1.3 master
192.168.1.6 slave
同时使用 nmtui 命令修改自己的主机名,重启生效

三、配置 hadoop 环境变量

使用 vim ~/.bashrc 编辑用户环境配置文件
在该文件中加入下列内容:
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
然后使用 source ~/.bashrc 使其生效
用 hadoop version 命令检查上述操作是否生效

四、配置 hadoop 配置文件

1、slaves 将数据节点主机名写入其中

2、core-site.xml 配置文件

配置文件

3、hdfs-site.xml 配置文件

配置文件

4、mapred-site.xml 配置文件

配置文件

5、yarn-site.xml 配置文件

配置文件

五、将配置文件拷贝至各 slave 节点

在 /usr/local/hadoop 目录下
tar -zcvf etc.tar.gz etc 将文件夹打包
scp etc.tar.gz slave:/home 传送

此时报权限错误而无法传送
原因是:当前用户没有在 /home 下的写权限
当我用 root 身份登录时,发现依然不行
一直报访问拒绝错误
原因是:ssh 设置不可使用 root 什么登录
解决办法:/etc/ssh/sshd_config 配置文件中
PermitRootLogin 的值改为 yes

这里我们使用 scp etc.tar.gz slave:/home/haojun 命令传送
然后 ssh slave 登录到 slave
然后 rm -rf /usr/local/hadoop/etc 删除原配置文件
然后 tar -zxvf etc.tar.gz -C /usr/local/hadoop 解压新配置文件
此时应确保解压后的权限与当前用户一致,否则应
sudo chown -R haojun:haojun /usr/local/hadoop/etc 更改权限

六、执行 NameNode 初始化并关闭防火墙

在 master 节点上 执行
hdfs namenode -format 即可
出现类似下面信息即表示成功:
初始化
如果没有,则查看上面的执行日志,以更改错误
多数错误是配置文件书写错误!也就是笔误!!

命令 作用
sudo ufw status 查看防火墙状态
sudo ufw enable 激活防火墙
sudo ufw disable 关闭防火墙

以上三条命令适用于发行版为 Ubuntu 的 Linux

七、启动 hadoop

start-dfs.sh 启动第一、二名称节点
start-yarn.sh 启动资源管理器
mr-jobhistory-daemon.sh start historyserver 启动工作历史服务
jps 查看节点启动情况
hdfs dfsadmin -report 查看数据节点启动情况

正常情况下,master 应该有如下图,slave 亦是。
启动hadoop 此时亦可通过web访问:http://master:50070/ 查看各节点启动情况
补充:如无法正常启动,还可通过删除 tmp、logs 等文件夹并重新初始化 NameNode 节点的方式排错。

网络访问

八、执行分布式实例

8.1创建 HDFS 上的用户目录
hdfs dfs -mkir -p /user/hadoop

8.2创建 input 文件夹
hdfs dfs -mkidr input
此处报文件不存在错误

再次开机时以及可以。
可能是之前某些操作没有执行成功,或者命令打错根本没有执行。

hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
拷贝样例文件

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output ‘dfs[a-z.]+’
执行命令
执行实例

hdfs dfs -cat output/*
即可查看如下图结果
运行结果

stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver
以上是关闭命令

原文地址:https://www.cnblogs.com/amnotgcs/p/12694393.html