准备工作:
1.映射、免密、三台虚拟机能够ping通
1.jdk安装完成,通过java -version命令查看能够正常反馈信息。
2.关闭防火墙 systemctl stop firewalld
查看防火墙状态:systemctl status firewalld
禁用防火墙:systemctl disable firewalld
3.修改安全策略:
# vi /etc/selinux/config
SELINUX=enforcing 修改为SELINUX=disabled
1.解压
# tar xf hadoop-2.7.1.tar.gz -C /usr/local/src/
解压的命令是tar,后面是参数xf -C 指定解压到哪一个目录下
2.重命名
(这一步可做可不做,但是解压完了的hadoop名字很长,为了方便还是做吧)
mv hadoop-2.7.1 hadoop
mv是重命名的操作,语法:mv 原来的名字 新的名字
3.配置环境变量
配置环境变量的文件是/etc/profile,也可以自己新建一个。我个人习惯把所有的配置文件都放在/etc/profile下面。
vi /etc/profile
进入之后,加入hadoop的环境变量
export HADOOP_HOME=/usr/local/src/Hadoop
【这里是hadoop的安装目录,就是tar -C指定的目录】
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
保存退出后,source /etc/profile 一定要生效!
4.修改配置文件
Hadoop的配置文件在 /usr/local/src/hadoop/etc/hadoop/目录下
需要修改hadoop-env.sh hdfs-site.xml core-sie.xml mapred-site.xml yarn-site.xml五个配置文件
①vi hadoop-env.sh
末尾添加
export JAVA_HOME=/usr/local/src/jdk (添加jdk的安装路径)
②vi hdfs-site.xml #在文件中和一对标签之间追加以下配置信息
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
③vi core-site.xml #在文件中和一对标签之间追加以下配置信息
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.150.81:9000</value> 【注意:这里是自己的ip】
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop/tmp</value>
</property>
</configuration>
④ vi mapred-site.xml
【在hadoop2中,需要将mapred-site.xml.template复制为mapred-site.xml 但是在hadoop3中不需要】
在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
⑤vi yarn.site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
5.修改master文件 【可不做】
vi masters
输入master的ip
6.修改slaves/workers文件
vi slaves/workers
编辑模式下输入slave1 和slave2的ip
【在hadoop2中,这个文件名叫slaves,在hadoop3中,叫workers】
7新建目录
mkdir /usr/local/src/hadoop/tmp
mkdir /usr/local/src/hadoop/dfs/name -p
mkdir /usr/local/src/hadoop/dfs/data -p
8.分发
scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
9.slave节点也需要配置环境变量!
配置完了一定要生效一定要生效! source /etc/profile
10 初始化hadoop
cd /usr/local/src/hadoop/ 进入这个目录
bin/hdfs namenode –format bin目录下有初始化的脚本
11 启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
12jps验证
jps
13start-all.sh全部启动
stop-all.sh全部停止