一、前期环境准备
操作系统CentOS 7
四台虚拟机:(克隆最小安装版本的虚拟机)
master 192.168.174.110 主机
datanode1 192.168.174.111 子机
datanode2 192.168.174.112 子机datanode3 192.168.174.113 子机
软件包如下:
oracle官网下载 jdk-8u161-linux-x64.tar.gz
hadoop官网下载 hadoop-2.7.5.tar.gz
二、配置系统环境
1、登录到各虚拟机,修改对应的hostname名称:如下图 master
echo master >> /etc/hostname
echo datanode1 >> /etc/hostname
echo datanode2 >> /etc/hostname
echo datanode3 >> /etc/hostname
2、登录到各虚拟机,打开hosts文件写入各虚拟机的ip和名称
3、各台主机上相互ping,测试是否可以通过host连通
ping master
ping datanode1
ping datanode2
ping datanode3
4、分别在虚拟主机和子机器上创建hadoop用户
useradd hadoop #创建hadoop用户
passwd hadoop #修改hadoop密码
5、并为hadoop赋予sudo权限,打开/etc/sudoers文件添加如下代码:
hadoop ALL=(ALL) ALL
三、配置ssh无秘钥连接
1、在hadoop的.ssh目录下通过rsa算法生成公钥:
注:切换为hadoop用户,到~/.ssh下。如果没有.ssh目录,则执行ssh localhost生成.ssh目录
ssh-keygen -t rsa #master下执行
cp id_rsa.pub authorized_keys #master下执行
2、在master主机上分别远程拷贝给子机器
scp authorized_keys hadoop@datanode3:~/.ssh/
scp authorized_keys hadoop@datanode2:~/.ssh/
scp authorized_keys hadoop@datanode2:~/.ssh/
3、在master上测试连接子机就可以无密码登录了
四、安装配置jdk
1、主机创建opt文件夹,作为软件的安装目录,并将jdk上传到该目录下:
2、解压jdk安装包:
tar zxvf jdk-8u161-linux-x64.tar.gz
3、在hadoop目录下,打开.bashrc文件添加如代码配置环境变量:
export JAVA_HOME=/home/hadoop/opt/jdk1.8.0_161 #jdk安装的绝对路径
export PATH=$PATH:$JAVA_HOME/bin
4、执行如下代码,让该文件立即生效:
source .bashrc
5、测试如下:
java -version
6、将jdk安装包远程传送到子机的opt目录下:
scp jdk-8u161-linux-x64.tar.gz hadoop@datanode1:~/opt
五、安装配置hadoop
1、将hadoop安装包同样上传到opt目录下:
2、解压hadoop安装包:
tar vxzf hadoop-2.7.5.tar.gz
3、在hadoop目录下,打开.bashrc文件添加如代码配置环境变量:
#hadoop
export HADOOP_HOME=/home/hadoop/opt/hadoop-2.7.5 #hadoop安装的绝对路径
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
4、测试hadoop:
hadoop version
echo $PATH
5、将hadoop安装包远程传送到子机的opt目录下:
scp hadoop-2.7.5.tar.gz hadoop@datanode3:~/opt