大数据技术 / 学习日志 · 2022年6月3日 0

Hdoop伪分布/完全分布搭建

1.前期准备

  • java环境(准备java安装包 jdk-8u162)
  • hadoop安装包(2.7.7版本)

一键下载:

也可自行下载其他版本:
hadoop官网https://hadoop.apache.org/
java官网https://developer.oracle.com/java/

2.解压

为方便下发目录到从节点(完全分布),在根目录新建/dsj
使用解压命令:tar -zxvf jdk-8u162-linux-x64.tar -C /dsj
tar -zxvf hadoop-2.7.7.tar -C /dsj

3.配置java环境变量

sudo vi /etc/profile
然后到最底部添加:
export PATH
export JAVA_HOME=/dsj/jdk1.8.0_162
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

4.部署Hadoop伪分布/完全分布配置文件

进入hadoop配置文件目录,如果根据教程就是:cd /dsj/hadoop-2.7.7/etc/hadoop

(1).配置 hadoop-env.sh

vi hadoop-env.sh
找到export JAVA_HOME=${JAVA_HOME}
修改为:JAVA_HOME=/dsj/jdk1.8.0_162           路径根据实际情况

(2).配置 core-site.xml

vi core-site.xml
在配置区内粘贴以下配置
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000/</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/hadoop-2.7.7/tmp</value>
 </property>
 <property>
  <name>hadoop.proxyuser.root.hosts</name>
  <value>*</value>
 </property>
 <property>
  <name>hadoop.proxyuser.root.groups</name>
  <value>*</value>
 </property>

(3).配置 hdfs-site.xml

vi hdfs-site.xml
在配置区内粘贴以下配置
 <property>
  <name>dfs.replication</name>
  <value>2</value>
 </property>
<!-- 下边配置可以不要,根据实际情况 -->
<!-- 可选,namnode web端口 -->

<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:50070</value>
</property>

<!-- 可选,namenode辅助节点 -->

<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>slave2:50090</value>
</property>

(4).配置 yarn-env.sh

vi yarn-env.sh
找到export JAVA_HOME=
修改为:JAVA_HOME=/dsj/jdk1.8.0_162           路径根据实际情况 

(5).配置 yarn-site.xml

vi yarn-site.xml
在配置区内粘贴以下配置
 <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
 </property>
 <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master</value>
 </property>
<!-- 关闭校验,否则flink任务会因为内存超标而被杀死集群 -->
<property>
 <name>yarn.nodemanager.pmem-check-enabled</name>
 <description>是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true</description>
 <value>false</value>
</property>
<property>
 <name>yarn.nodemanager.vmem-check-enabled</name>
 <value>false</value>
 <description>检测物理内存使用</description>
</property>
<!-- 下边配置可以不要,根据实际情况 -->
<!-- 可选,日志记录 -->
 <property>
  <name>yarn.log-aggregation-enable</name>
  <value>true</value>
 </property>

 <property>
  <name>yarn.log.server.url</name>
  <value>http://xxx</value>
 </property>

<!-- 可选,hadoop web端口 -->
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>0.0.0.0:8088</value>
</property>

(6).配置 mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
在配置区内粘贴以下配置
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>

(7).配置文件修改完成,格式化hadoop

回到hadoop主目录
cd /dsj.hadoop-2.7.7
bin/hdfs namenode -format

5.配置hosts

sudo vi /etc/hosts
然后根据实际情况修改节点,从节点为:slave1 slave2,主节点为:master
完全分布需要从节点,伪分布不需要
192.168.23.61 master
192.168.23.62 slave1
192.168.23.68 slave2

6.配置免密登录

如果已经启动了hadoop,请使用到hadoop主目录使用关闭指令:
hadoop sbin/stop-all.sh
cd ~/.ssh
ssh-keygen -t rsa
ssh-copy-id 主机名(主节点和从节点都要执行,1和2指令只需执行一次)

7.伪分布搭建完成,完善完全分布

(1).关闭SE

vi /etc/selinux/config
修改为:SE状态修改为disabled

(2).关闭防火墙

关闭防火墙命令:
sudo systemctl stop firewalld
sudo systemctl disable firewalld

(3).分发hadoop到从节点

主命令     scp -r 目录 root@节点:路径
例子:
scp -r /dsj root@slave1:/dsj
scp -r /dsj root@slave2:/dsj

(4).分发环境配置到从节点

主命令     scp 文件路径 root@节点:路径
例子:
scp /etc/profile root@slave1:/etc
scp /etc/profile root@slave2:/etc

(5).配置完全分布配置文件(节点)

回到hadoop配置文件目录主目录
cd /dsj.hadoop-2.7.7/etc/hadoop
vi slaves
master
slave1
slave2

(6).从节点配置

进入从节点机器(2台)
然后执行hadoop格式化命令
回到hadoop主目录
cd /dsj.hadoop-2.7.7
bin/hdfs namenode -format

8.配置完成,测试

到主节点机器,回到hadoop主目录
cd /dsj.hadoop-2.7.7
sbin/start-all.sh

等待启动,如有其他报错请查看log并复制查看翻译,根据本文章修改
启动完成后,执行:jps  命令
主节点一共是5个进程,从节点2个进程(除开jps)
则配置成功
配置成功截图:
主节点
从节点1,从节点2

9.箴言

如本文章有写错的,配置错的地方,可以评论指出错误,谢谢大家


微信扫描下方的二维码阅读本文