本文档介绍如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。
使用hadoop版本:Apache Hadoop 2.6.5
使用4个虚拟机节点以及角色:
hadoop01(192.168.92.66) namenode
hadoop02(192.168.92.67) datanode、second namenode
hadoop03(192.168.92.68) datanode
hadoop04(192.168.92.69) datanode
2.1、依赖软件
yum install -y ssh rsync
2.2、ssh免密
现在检查您是否可以在没有密码的情况下ssh到localhost:
$ ssh localhost
如果在没有免密登录的情况下无法ssh到localhost,请执行以下命令:
[root@hadoop01 .ssh]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@hadoop01 .ssh]# cat id_dsa.pub >> ~/.ssh/authorized_keys
将hadoop01中的公钥分发到其他节点并将公钥添加到authorized_keys中,下面以hadoop02为例,其他操作一样
[root@hadoop01 .ssh]# scp id_dsa.pub root@hadoop02:`pwd`/hadoop01.pub
登录hadoop02
[root@hadoop02 opt]# cd ~/.ssh
[root@hadoop02 .ssh]# cat hadoop01.pub >> ~/.ssh/authorized_keys
hadoop03和hadoop04做同样操作
注意:需要配置 hadoop01(namenode) 需要免密登录自己和其他所有的datanode节点
2.3、 jdk安装并配置环境变量
使用rz命令将jdk安装包上传到每个节点 /opt目录下
cd /opt
安装jdk
[root@hadoop01 opt]# rpm -ivh jdk-7u67-linux-x64.rpm
配置环境变量
vi /etc/profile
追加两行
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
重新引入一下配置文件 source /etc/profile
注意 hadoop01 hadoop02 hadoop03 hadoop04都是同样的
2.4、 时间同步
[root@hadoop01 opt]# date
Mon Oct 29 19:27:14 CST 2018
验证每台虚拟机中的时间是否同步,如果不同步话需要执行下面操作将时间统一
https://blog.csdn.net/chuanxincui/article/details/83543669
2.5、 虚拟机主机名以及hosts文件配置(以hadoop01为例 其他节点操作相同)
修改主机名
[root@hadoop01 opt]# vi /etc/sysconfig/network
修改/etc/hosts文件如下
3.1、 安装hadoop
使用rz命令上传安装包到/opt目录
cd /opt
解压hadoop安装包
[root@hadoop01 opt]# tar -zxvf hadoop-2.6.5.tar.gz
将解压后文件复制到安装目录
[root@hadoop01 opt]# cp -r hadoop-2.6.5 /usr/local
3.2、 配置环境变量
[root@hadoop01 hadoop-2.6.5]# vi /etc/profile
修改如下:
修改完毕后重新引入配置文件
source /etc/profile
3.2、 修改配置文件
[root@hadoop01 hadoop]# cd /usr/local/hadoop-2.6.5/etc/hadoop
修改hdfs-site.html
[root@hadoop01 hadoop]# vi hdfs-site.xml
修改core-site.html
修改slaves(配置datanode)
vi slaves
修改jdk环境变量hadoop-env.sh
注意:已经配置了jdk的环境变量,为什么还要修改呢?
原因:ssh直接登录虚拟机的话会加载配置文件,但是如果从一台虚拟机上调用ssh登录另一台虚拟机的话,默认是不加载配置文件的,也就无法获取到我们配置的jdk环境变量,因此需要在此处修改
vi hadoop-env.sh
创建临时目录
[root@hadoop01 hadoop]# mkdir -p /var/sxt/hadoop/full
其他节点做相同操作,或者直接将hadoop01中的修改分发到其他机器(hadoop02,hadoop03,hadoop04)
分发结束后执行后续操作
namenode格式化
[root@hadoop01 hadoop-2.6.5]# hdfs namenode -format
结果如下表示格式化成功
启动
[root@hadoop01 current]# start-dfs.sh
输入结果如下表示启动成功
四、验证
创建虚拟目录
[root@hadoop01 opt]# hdfs dfs -mkdir /user
[root@hadoop01 opt]# hdfs dfs -mkdir /user/root
浏览器登录 http://hadoop01:50070/ 验证