Hadoop 用户伪分布模式搭建
1、Hadoop 伪分布式模式的搭建
1、修改主机名
1.1 主机名修改为hadoop1。
hostnamectl set-hostname hadoop1
1.2 查看主机名
hostnamectl
1.3 确认是否修改成功
hostnamectl --static
重新登陆后主机名已更改
回到顶部
2添加hadoop用户
本次用hadoop用户部署,需要添加hadoop用户,密码也设置为hadoop。
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
登陆
ssh hadoop@hadoop1
输入密码登陆成功
回到顶部
2.1获取root权限
切换到root用户
ssh root@hadoop1
vi /etc/sudoers
具有root权限
修改 /etc/sudoers 文件,找到添加下面一行,
Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
3设置免密登陆
3.1 生成密钥
ssh-keygen -t rsa # 三次回车
ssh-copy-id hadoop@hadoop1 # 输入密码
现在尝试登录到该机器
3.2 修改/etc/hosts文件
sudo vi /etc/hosts
在第一行添加: 本机IP hadoop1 的映射,如下:
192.168.61.133 hadoop1
3.3 测试免密登陆成功
ssh hadoop@hadoop1
4.关闭防火墙
4.1查看防火墙状态
systemctl status firewalld
4.2停止firewall
systemctl stop firewalld
4.3禁止firewall开机启动
systemctl disable firewalld
5、JDK 和 Hadoop 的下载和配置
可以进入 Hadoop 官网下载地址 https://hadoop.apache.org/releases.html 下载,也可以
直接百度所需版本下载。
5.1解压JDK 和 Hadoop
分别解压到/opt/module 目录下(目录根据自己习惯确定)。
sudo tar ‐zxvf jdk‐8u144‐linux‐x64.tar.gz ‐C /opt/module/
sudo tar ‐zxvf hadoop‐2.6.0.tar.gz ‐C /opt/module/
5.2JDK 和 Hadoop配置
配置 JDK 和 Hadoop 环境变量。配置系统变量,配置之后可在全局任意地方使用 Java 和
Hadoop 命令。
sudo vi /etc/profile
在文件的末尾添加下列内容。
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
export HADOOP_HOME=/opt/module/hadoop‐2.6.0
export PATH=
P
A
T
H
:
PATH:
PATH:HADOOP_HOME/bin
export PATH=
P
A
T
H
:
PATH:
PATH:HADOOP_HOME/sbin
保存退出文件编辑之后执行下面的命令使得配置文件生效。
source /etc/profile
分别输入命令验证配置是否正确生效。
5.3、配置 hadoop‐env.sh
执行下面的命令切换到 Hadoop 配置文件所在的目录。
cd /opt/module/hadoop‐2.6.0/etc/hadoop/
执行下面的命令进行配置。
sudo vi hadoop‐env.sh
找到 # The java implementation to use. 将其下面的一行改为:
export JAVA_HOME=/opt/module/jdk1.8.0_144
5.4、配置 core‐site.xml
执行下面的命令进行配置。
sudo vi core‐site.xml
在元素中添加下面的内容。
hadoop.tmp.dir
/opt/module/hadoop‐2.6.0/tmp
fs.defaultFS
hdfs://192.168.61.133:8888
5.5、配置 hdfs‐site.xml
执行下面的命令进行配置。
sudo vi hdfs‐site.xml
在元素中添加下面的内容。
dfs.replication
1
dfs.namenode.name.dir
/opt/module/hadoop‐2.6.0/tmp/dfs/name
dfs.datanode.data.dir
/opt/module/hadoop‐2.6.0/tmp/dfs/data
5.6、启动与停止
普通用户没有权限,需要读写权限
sudo mkdir -p /opt/module/hadoop-2.6.0/tmp/dfs/name
sudo mkdir -p /opt/module/hadoop-2.6.0/tmp/dfs/data
sudo chmod -R 777 /opt/module/hadoop-2.6.0/tmp/dfs
第一次启动 hdfs 需要进行格式化,执行以下命令进行格式化:
hdfs namenode ‐format
成功的话会看到"successfully formatted" 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
启动:
start‐dfs.sh
正常启动完成后使用 jps 查看进程,可以看到启动了 NameNode、DataNode 和
SecondaryNameNode 三个进程。
启动之后报错 后来发现是文件夹权限不够
sudo chmod -R 777 /opt/module/hadoop-2.6.0/
停止:
stop‐dfs.sh
验证:
在浏览器输入:http://192.168.61.133:50070 查看运行在本机上的 Hadoop 的运行状态,
如下图所示。
5.7、配置 yarn
执行下面的命令切换当前目录为/opt/module/hadoop‐2.6.0/etc/hadoop/
cd /opt/module/hadoop‐2.6.0/etc/hadoop/
5.7.1 配置 mapred-site.xml
查看当前目录中的内容。
执行下面的命令,将 mapred‐site.xml.template 文件拷贝一份命名为 mapred‐site.xml
sudo cp mapred‐site.xml.template mapred‐site.xml
执行下面的命令编辑 mapred‐site.xml 文件
sudo vi mapred‐site.xml
在元素中添加下面的内容。
<!‐‐ 通知框架 MR 使用 YARN ‐‐>
mapreduce.framework.name
yarn
5.7.2 配置 yarn-site.xml
执行下面的命令编辑 yarn‐site.xml 文件
vi yarn‐site.xml
在元素中添加下面的内容。
<!‐‐ Site specific YARN configuration properties ‐‐>
<!‐‐ reducer 取数据的方式是 mapreduce_shuffle ‐‐>
yarn.nodemanager.aux‐services
mapreduce_shuffle
5.7.3 yarn 启动与停止
启动:
start‐yarn.sh
正常启动完成后使用 jps 查看进程,可以看到比之前多启动了 NodeManager、
ResourceManager 两个进程。
停止:
stop‐yarn.sh
验证:
在浏览器中输入:http://192.168.61.133:8088 查看 YARN 管理的集群状态,如下图所示。
至此,Hadoop 伪分布式模式就配置完成了!