主机设置
三台主机关闭防火墙
三台主机关闭SeLinux安全机制
给每台主机修改主机名
配置三台主机地址映射
设置免密登录
安装JDK
解压安装
配置jdk的环境变量
测试安装成功
分发JDK
安装配置 Hadoop
解压安装
Hadoop环境配置文件 - hadoop-env.sh
修改Hadoop配置文件core-site.xml
HDFS 配置文件hdfs-site.xml
YARN 配置文件yarn-site.xml
MapReduce 配置文件vim mapred-site.xml
配置worekers
进行初始化
sudo cp /etc/hosts /etc/hosts.bak
sudo nano /etc/hosts
主机设置
三台主机关闭防火墙
#关闭服务
systemctl stop firewalld
#关闭开机自启动
systemctl disable firewalld
三台主机关闭SeLinux安全机制
vim /etc/sysconfig/selinux
将enforcing改为disabled
给每台主机修改主机名
分别修改为master、slave1、slave2
hostnamectl set-hostname 主机名
配置三台主机地址映射
vim /etc/hosts
设置免密登录
cd /root/.ssh
master免密登录master、slave1和slave2
生成秘钥对
ssh-keygen -t rsa
输入连敲3次回车
拷贝三台主机公钥
ssh-copy-id root@主机名
免密登录
#登录
ssh 主机名
#登出
exit
安装JDK
解压安装
解压安装包到opt目录下
tar -zxvf jdk-8u162-linux-x64.tar.gz -C /opt/
修改目录名
mv jdk1.8.0_162 jdk1.8
配置jdk的环境变量
vim /etc/profile
export JAVA_HOME=/opt/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
保存配置
source /etc/profile
测试安装成功
java -version
分发JDK
scp -r $JAVA_HOME root@slave1:/opt
scp -r $JAVA_HOME root@slave2:/opt
安装配置 Hadoop
hadoop官方下载:Apache Hadoop
解压安装
解压安装包到opt目录下
tar -zxvf hadoop-3.1.3.tar.gz -C /opt
添加hadoop环境变量
vim /etc/profile
export HADOOP_HOME=/opt/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
注意:另外两台主机也要进行相应的环境变量设置
保存配置环境
source /etc/profile
测试安装成功
hadoop version
Hadoop环境配置文件 - hadoop-env.sh
cd $HADOOP_HOME/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8
export HADOOP_HOME=/opt/hadoop-3.1.3
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
修改Hadoop配置文件core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
写入如下内容
<configuration>
<!--用来指定hdfs的老大-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-3.1.3/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
HDFS 配置文件hdfs-site.xml
vim hdfs-site.xml
<configuration>
<!--设置名称节点的目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-3.1.3/tmp/namenode</value>
</property>
<!--设置数据节点的目录-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-3.1.3/tmp/datanode</value>
</property>
<!--设置辅助名称节点-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<!--注意如果使用hadoop2,默认为50070-->
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:9870</value>
</property>
<!--是否启用hdfs权限,当值为false时,代表关闭-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
YARN 配置文件yarn-site.xml
vim yarn-site.xml
<configuration>
<!--配置资源管理器:集群master-->
<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.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
MapReduce 配置文件vim mapred-site.xml
vim mapred-site.xml
<configuration>
<!--配置MR资源调度框架YARN-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
配置worekers
vim workers
slave1
slave2
分发配置好的Hadoop
scp -r $HADOOP_HOME root@slave1:/opt
scp -r $HADOOP_HOME root@slave2:/opt
进行初始化
hdfs namenode -format
使用启动命令启动hadoop
start-all.sh
主节点进程:
从节点进程: