hadoop学习记录

一、准备需要三台 linux 服务器

  1. ip ---------->hostname
  • 192.168.0.101 hadoop-ip-101
  • 192.168.0.102 hadoop-ip-102
  • 192.168.0.103 hadoop-ip-103
  1. 安装一台型新的 linu 虚拟机(centos7)
    • 1)创建用户 hadoop
      • useradd hadoop : 创建用户 hadoop
      • passwd hadoop : 给用户 hadoop 设置密码
      • 以 root 用户的身份将 hadoop 用户设置为管理员身份 
    • 2)以 root 用户将本机的 ip 设置为 192.168.0.101; 将本机的主机名设置为 hadoop-ip-101 (/etc/hostname); 修改 /etc/hosts 文件追加下列配置,并重启服务器
    		192.168.0.101		hadoop-ip-101
    		192.168.0.102		hadoop-ip-102
    		192.168.0.103		hadoop-ip-103
    
    • 3)使用 hadoop 用户登录
      • 创建 /home/hadoop/soft 与 /home/hadoop/module
        • /home/hadoop/soft : 存放安装包
        • /home/hadoop/module:存放解压文件
      • 安装 jdk 与 hadoop;安装结果如下 
    • 4)配置环境变量
    		#JAVA_HOME
    		export JAVA_HOME=/home/hadoop/module/jdk1.8.0_201
    		export PATH=$PATH:$JAVA_HOME/bin
    		#HADOOP_HOME
    		export HADOOP_HOME=/home/hadoop/module/hadoop-2.4.0
    		export PATH=$PATH:$HADOOP_HOME/bin
    		export PATH=$PATH:$HADOOP_HOME/sbin
    
    • 5) 切换 root 执行 source /etc/profile
    • 6) 创建数据存储目录 /home/hadoop/hadoop2.4.0/data/tmp
  2. 以 hadoop-ip-101 为基础克隆两台机器 (请自行修改 ip 和 hostname)
    • hadoop-ip-102
    • hadoop-ip-103

二、组件分配

Hadoop-ip-101			Hadoop-ip-102			Hadoop-ip-103

HDFS
NameNode							SecondaryNameNode
DataNode			DataNode			DataNode
	
YARN	
NodeManager			ResourceManager			NodeManager
				NodeManager

三、根据上述分配填写配置文件参数

  1. hadoop-env.sh、mapred-env.sh、yarn-env.sh 之需配置 JAVA_HOME 即可
  2. 配置 NameNode 与 DataNode: core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-ip-101:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/module/hadoop-2.4.0/data/tmp</value>
    </property>
</configuration>
  1. 配置数据备份个数及 SecondaryNameNode : hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>hadoop-ip-103:50090</value>
	</property>
</configuration>
  1. 配置 mapred-site.xml
<configuration>
	<!-- 指定mr运行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
  1. 配置 datanode 节点集群: slaves
hadoop-ip-101
hadoop-ip-102
hadoop-ip-103
  1. 配置 yarn 及 resourcemanager: yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
<!-- 指定YARN的ResourceManager的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop-ip-102</value>
	</property>
</configuration>

四、配置 SSH 免密登录

  1. 免密登录原理
     
  2. 配置要求配置
    • hadoop-ip-101 -->hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 的免密登录
    • hadoop-ip-102 -->hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 的免密登录
  3. 配置过程:
    • ssh-keygen -t rsa 一直按回车
    • ssh-copy-ip 主机名称,根据提示输入密码,结束及配置完成

五、启动 hadoop

  1. 在 hadoop-ip-101 下执行 hdfs namenode -format
  2. 在 hadoop-ip-101 下执行 start-dfs.sh
  3. 执行结束以后在 hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 上分别查看 jps (java 进程)
* 若 hadoop-ip-101显示:
[hadoop@hadoop-ip-101 ~]$ jps
4513 DataNode
4695 Jps
4397 NameNode
* 若 hadoop-ip-102显示:
[hadoop@hadoop-ip-102 ~]$ jps
3734 DataNode
3798 Jps
* 若 hadoop-ip-103显示:
[hadoop@hadoop-ip-103 ~]$ jps
3635 SecondaryNameNode
3673 Jps
3548 DataNode

若显示上述执行结果:则表示启动 hdfs 成功,若不是以上结果,则请先执行 stop-dfs.sh,然后分别在 hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 执行:

rm -rf /home/hadoop/module/hadoop-2.4.0/data/tmp/ /home/hadoop/module/hadoop-2.4.0/logs/
随后先检查配置文件是否争取以及/etc/hosts是否配置,ip是否修改,是否关闭防火墙
然后重新执行上述1,2
  1. 在 hadoop-ip-102 下执行 start-yarn.sh (由于 ResourceManager 配置在了 hadoop-ip-102 下故在该服务器下执行该命令)
  2. 执行结束以后在 hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 上分别查看 jps (java 进程)
* 若 hadoop-ip-101显示:
[hadoop@hadoop-ip-101 ~]$ jps
4513 DataNode
4805 Jps
4397 NameNode
4735 NodeManager
* 若 hadoop-ip-102显示:
[hadoop@hadoop-ip-102 ~]$ jps
3843 ResourceManager
3939 NodeManager
3734 DataNode
4137 Jps
* 若 hadoop-ip-103显示:
[hadoop@hadoop-ip-103 ~]$ jps
3729 NodeManager
3635 SecondaryNameNode
3548 DataNode
3820 Jps

若显示上述执行结果:则表示启动 hdfs,yarn 都启动成功,若不是以上结果,则请 hadoop-ip-102 下执行 stop-yarn.sh,然后在 hadoop-ip-101 下执行 stop-dfs.sh,最后分别在 hadoop-ip-101,hadoop-ip-102,hadoop-ip-103 执行:

rm -rf /home/hadoop/module/hadoop-2.4.0/data/tmp/ /home/hadoop/module/hadoop-2.4.0/logs/
随后先检查配置文件是否争取以及/etc/hosts是否配置,ip是否修改,是否关闭防火墙
然后重新执行上述1,2,3,4,5
一般情况下不会当配置文件及环境配置都正确时候,不会重复出现上述启动失败情况

六,浏览器查看


posted @ 2022-08-15 20:59  zrswheart  阅读(33)  评论(0编辑  收藏  举报