jdk1.8.0_131、hadoop-2.9.2、CentOS-7-x86_64-DVD-2009.iso
二、创建3台虚拟机1台主节点:master
2台从节点:slave1、slave2
vim /etc/sysconfig/network-scripts/ifcfg-ens33
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
注解:
① IPADDR为IP地址
② GATEWAY为网关
该步骤需要在Windows系统中操作!!!
网络配置管理——VNnet8——协议4——属性
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
service network restart4. 打开windows终端(Windows+R),查看是否可以ping通外网 5. 查看Centos是否可以ping通www.baidu.com
注意 :
① 如果完成以上操作后,网络依旧不能ping通,考虑查看虚拟机网络编译器,查看NAT网段是否与配置相同。
② 3台机器进行相同的操作,配置相同网段的IP地址(最后3位不同)和相同的网关。
vim /etc/hostname2. 重启
reboot3. 再次查看主机名是否更改
hostname
注意 :此处主机名分别对应3台不同的机子:master、slave1、slave2,3台机子都要改主机名!否则无法完成后续的映射!
vim /etc/hosts
添加3台机子的IP地址和主机名
注意 :3台机子进行相同操作
注意 :此处只贴了一张master ping slave1的图,一定要试验每一台机都能ping同其他两台,且ping通自己。
rpm -qa | grep ssh
如上图:若已安装,则可直接使用;若未安装则使用命令 :
yum -y install openssh yum -y install openssh-server yum -y install openssh-clients2. 配置ssh配置文件
vim /etc/ssh/sshd_config
① 修改第43行内容:去掉符号#
② 在其上面添加:RSAAuthentication yes
systemctl restart sshd.service5. 使用命令ssh-keygen生成公钥和密钥(中间敲3次回车) 6. 复制公钥到密钥文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key7. 修改密钥文件权限
chmod 0600 ~/.ssh/authorized_keys8. 共享公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1 # 其中需要输入的密码是:root用户密码9. 当每一台机器都对每一个用户执行了共享公钥命令后,查看是否可以相互登录。
注意 :此处只贴了一张master免密登录slave1的图,一定要试验每一台机都能免密登录同其他两台,且免密登录自己。
mkdir /opt/module 放压缩包
mkdir /opt/software 放解压后的软件包
tar -zxvf jdk-linux-x64.tar.gz -C /opt/software/
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/software/
在文件最后一行添加:
export JAVA_HOME=/opt/software/jdk1.8.0_131 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar7. 重启配置文件:source /etc/profile 8. 验证java是否安装:java -version 八、安装hadoop 1. 配置文件:
① vim /etc/profile
在最后一行添加:
export HADOOP_HOME=/opt/software/hadoop-2.9.2 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
之后重启文件:source /etc/profile
② vim /etc/profile.d/hadoop.sh
此为新建文件,添加内容:
export HADOOP_HOME=/opt/software/Hadoop-2.9.2 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
之后重启文件:source /etc/profile.d/hadoop.sh
剩余配置文件需切换此路径:cd /opt/software/Hadoop-2.9.2/etc/hadoop
③ vim hadoop-env.sh
#在第25行修改
export JAVA_HOME=/opt/software/jdk1.8.0_131
#在第26行添加
export HADOOP_SSH_OPTS='-o StrictHostKeyChecking=no'
#在第113行修改
export HADOOP_PID_DIR=${HADOOP_PID_DIR}/pids
④ vim mapred-env.sh
# 在第16行修改
export JAVA_HOME=/opt/software/jdk1.8.0_131
# 在第28行修改
export HADOOP_MAPRED_PID_DIR=${HADOOP_HOME}/pids
⑤ vim yarn-env.sh
# 在第23行修改
export JAVA_HOME=/opt/software/jdk1.8.0_131
# 在最后一行添加
export YARN_PID_DIR=${HADOOP_HOME}/pids
⑥ vim core-site.xml
# 输入:fs.defaultFS hdfs://192.168.148.170:9000 hadoop.tmp.dir /opt/software/hadoop-2.9.2/hdfsdata io.file.buffer.size 131072
⑦ vim hdfs-site.xml
# 输入 :dfs.namenode.name.dir file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/name dfs.datanode.data.dir file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/data dfs.namenode.checkpoint.dir file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/namesecondary dfs.blocksize 134217728 dfs.replication 3 dfs.namenode.http-address 0.0.0.0:50070
⑧ vim mapred-site.xml
复制文件mapred-site.xml.template并命名为mapred-site.xml:
cp mapred-site.xml.template mapred-site.xml
# 输入: vim yarn-site.xml 输入: mapreduce.framework.name yarn mapreduce.jobhistory.webapp.address master:19888 mapreduce.job.maps 2 mapreduce.job.reduces 1 yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.scheduler.class org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler yarn.resourcemanager.webapp.address ${yarn.resourcemanager.hostname}:8088 yarn.nodemanager.local-dirs ${hadoop.tmp.dir}/nm-local-dir
⑨ vim slaves
# 删除localhost # 输入: slave1 slave22. 复制配置完成后的所有文件到其他两台机器上:
scp /opt/software/hadoop-2.9.2/etc/hadoop/* root@slave1:/opt/software/hadoop-2.9.2/etc/hadoop/ scp /opt/software/hadoop-2.9.2/etc/hadoop/* root@slave2:/opt/software/hadoop-2.9.2/etc/hadoop/3. 关闭防火墙(永久关闭):systemctl disable firewalld.service 4. 重启:reboot 5. 查看防火墙是否关闭:systemctl status firewalld.service 九、启动Hadoop 1. 格式化文件系统:hdfs namenode -format 2. 启动Hadoop:
① start-dfs.sh
② start-yarn.sh
③ mr-jobhistory-daemon.sh start historyserver
① 主节点master:
② 从节点slave1、slave2:
注意 :链接IP为自己设置的IP



