提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
jdk1.8.0_131、hadoop-2.9.2、CentOS-7-x86_64-DVD-2009.iso
1台主节点:master
2台从节点:slave1、slave2
vim /etc/sysconfig/network-scripts/ifcfg-ens33
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
注解:
① IPADDR为IP地址
② GATEWAY为网关
该步骤需要在Windows系统中操作!!!
网络配置管理——VNnet8——协议4——属性
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
** 不要设置和我的一模一样!!!**
注解:物理机中的网段和网关须与虚拟机中的设置相同,且IP地址(最后三位数)不可相互冲突。
service network restart
注意 :
① 如果完成以上操作后,网络依旧不能ping通,考虑查看虚拟机网络编译器,查看NAT网段是否与配置相同。
② 3台机器进行相同的操作,配置相同网段的IP地址(最后3位不同)和相同的网关。
vim /etc/hostname
reboot
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-clients
vim /etc/ssh/sshd_config
① 修改第43行内容:去掉符号#
② 在其上面添加:RSAAuthentication yes
systemctl restart sshd.service
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key
chmod 0600 ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
# 其中需要输入的密码是:root用户密码
注意 :此处只贴了一张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.jar
① 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<\font>
③ 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
# 输入:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.148.170:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop-2.9.2/hdfsdata</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
⑦ vim hdfs-site.xml
# 输入 :
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/data</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:/opt/software/hadoop-2.9.2/hdfsdata/dfs/namesecondary</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
⑧ vim mapred-site.xml
复制文件mapred-site.xml.template并命名为mapred-site.xml:
cp mapred-site.xml.template mapred-site.xml
# 输入:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.job.maps</name>
<value>2</value>
</property>
<property>
<name>mapreduce.job.reduces</name>
<value>1</value>
</property>
</configuration>
vim yarn-site.xml
输入:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>${hadoop.tmp.dir}/nm-local-dir</value>
</property>
</configuration>
⑨ vim slaves
# 删除localhost
# 输入:
slave1
slave2
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/
① start-dfs.sh
② start-yarn.sh
③ mr-jobhistory-daemon.sh start historyserver
① 主节点master:
② 从节点slave1、slave2: