三台虚拟机
192.168.79.132 master
192.168.79.133 slave1
192.168.79.134 slave2
1.修改主机名
hostnamectl set-hostname (name)
2.配置主机的映射(每台都要设置)
vi /etc/hosts
3.设置免密码登陆
ssh-keygen
输入上面的命令后,按三次回车即可
将密钥复制到其他机器(包括本机)
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
在复制密钥时会提示是否复制 输入 yes 并且要输入密码
每台机器都要复制
4.解压java和hadoop
tar -zxvf jdk-8u77-linux-x64.tar.gz -C /opt
tar -zxvf hadoop-2.7.5.tar.gz -C /opt
-C 指定解压到的目录
5.修改文件夹的名称(方便管理)
mv /opt/hadoop-2.7.5 /opt/hadoop
mv /opt/jdk1.8.0_77 /opt/jdk
6.配置环境变量
vi /etc/profile
在文件末尾加入
export JAVA_HOME=/opt/jdk
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile 使环境变量生效
验证
java -version
hadoop version
7.修改hadoop的配置文件
切换到hadoop的配置文件目录
cd /opt/hadoop/etc/hadoop/
vi hadoop-env.sh
export JAVA_HOME=/opt/jdk |
vi slaves
slave1 slave2 |
vi core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/tmp</value> </property> </configuration> |
vi hdfs-site.xml
<configuration> <!-- 设置namenode存放的路径 --> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/name</value> </property> <!-- 设置hdfs副本数量 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 设置datanode存放的路径 --> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/data</value> </property> </configuration> |
vi mapred-site.xml
<configuration> <!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>` </configuration> |
vi yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <!-- 设置 resourcemanager 在哪个节点--> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!-- reducer取数据的方式是mapreduce_shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> |
8.将hadoop和java和/etc/profile复制到另外两台机器
scp -r /opt/jdk /opt/hadoop @slave1:/opt/
scp -r /opt/jdk /opt/hadoop @slave2:/opt/
scp -r /etc/profile @slave1:/etc/profile
scp -r /etc/profile @slave2:/etc/profile
PS:在slave1和slave2上要使环境变量生效
source /etc/profile
9.启动hadoop
在启动之前要格式化hadoop
hdfs namenode -format
格式化成功后,就可以启动(两种启动方式)
1)分模块启动
start-dfs.sh
start-yarn.sh(启动yarn后会多出一个进程)
9.web界面的访问
关闭防火墙
systemctl stop firewalld
在浏览器中输入 192.168.79.133:50070 访问hdfs
在浏览器中输入 192.168.79.133:8088 查看hadoop应用
至此,hadoop分布式集群搭建完毕