1.上传hadoop的hadoop-3.1.1.tar.gz包,对文件进行解压
tar -zxvf hadoop-3.1.1.tar.gz
2.输入命令,配置java的环境
cd /opt/apps/hadoop-3.1.1/etc/hadoop/
vi hadoop-env.sh
进去后输入 /JAVA_HOME 回车后找到 # export JAVA_HOME=
然后将java的路径配置上去/opt/apps/jdk1.8
示例:export JAVA_HOME=/opt/apps/jdk1.8.0_141
注意:需要把最前面得#给删了 带注释等于没改
3.配置文件信息
vi hdfs-site.xml
-- 主要是配置namenode,secondarynamenode的位置和namenode存储元数据,datanode存储数据的位置
<configuration>
<!-- 集群的namenode的位置 datanode能通过这个地址注册-->
<property>
<name>dfs.namenode.rpc-address</name>
<value>linux01:8020</value>
</property>
<!-- namenode存储元数据的位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/data/hdpdata/name</value>
</property>
<!-- datanode存储数据的位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/data/hdpdata/data</value>
</property>
<!-- secondary namenode机器的位置-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>linux02:50090</value>
</property>
</configuration>
4.配置环境变量
# 命令:vi /etc/profile
# 进去后 shift+g 到最下方,加上export HADOOP_HOME=/opt/apps/hadoop-3.1.1
# 然后再原来的path后面加上hadoop的bin信息
# 配置完成后如下:
export JAVA_HOME=/opt/apps/jdk1.8.0_141
export HADOOP_HOME=/opt/apps/hadoop-3.1.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5.配置完成后将文件分发到另外两台机器上去
脚本命令:
for i in 2 3
do
scp /etc/profile linux0$i:/etc/
scp -r /opt/apps/hadoop3.1.1 linux0$i:$PWD
done
这个PWD需要在你向发到的目录下
分发配置完成了之后再每个节点上都source一下配置文件
source /etc/profile
6.单节点启动hadoop
初始化namenode
在/opt/apps/hadoop-3.1.1/bin/下输入
hadoop namenode -format
节点启动集群得方式
在/opt/apps/hadoop-3.1.1/sbin (启动namenode)
hadoop-daemon.sh namenode
start
在/opt/apps/hadoop-3.1.1/sbin (启动datanode)
hadoop-daemon.sh start datanode
配置一键启动
一键启动首先需要再linux01这台机器上(排至namenode的这台机器)
找到workers文件
在/opt/apps/hadoop-3.1.1/etc/hadoop下找到workers文件
vi /opt/apps/hadoop-3.1.1/etc/hadoop/workers
在里面配置上
linux01
linux02
linux03
用vi打开 start-dfs.sh 和stop-dfs.sh
然后将
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
复制进去
关闭防火墙才能在网页上验证
查看防火墙状态 firewall-cmd --state
关闭防火墙 systemctl stop firewalld.service
开启防火墙 systemctl start firewalld.service
关闭开机自启 systemctl disable firewalld.service
开启开机自启 systemctl enable firewalld.service
启动好了之后去网页上去验证
linux01:9870
是否登进去了,网页上是否有配置的信息
7.配置yarn
在/opt/apps/hadoop-3.1.1/etc/hadoop 目录下找到yarn-site.xml文件,
用命令vi yarn-site.xml 进入到文件中
<configuration>
<!-- resource,manager主节点所在机器 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>linux01</value>
</property>
<!-- 为mr程序提供shuffle服务 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 一台NodeManager的总可用内存资源 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<!-- 一台NodeManager的总可用(逻辑)cpu核数 -->
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>4</value>
</property>
<!-- 是否检查容器的虚拟内存使用超标情况 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 容器的虚拟内存使用上限:与物理内存的比率 -->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
</configuration>
8.在mapred-site.xml 文件中配置环境,插入
<configuration>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/app/hadoop-3.1.1</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/app/hadoop-3.1.1</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/app/hadoop-3.1.1</value>
</property>
</configuration>
9.再启动和停止脚本中添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
启动完成后登录 linux01:8088
有网页代表配置成功