Hdoop伪分布/完全分布,搭建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 slave26.配置免密登录
如果已经启动了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) 则配置成功 配置成功截图:


9.箴言
如本文章有写错的,配置错的地方,可以评论指出错误,谢谢大家
微信扫描下方的二维码阅读本文


