1.文件目录介绍
bin :Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管 理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。
etc :Hadoop配置文件所在的目录。
sbin :Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/ 关闭脚本。
share :Hadoop各个模块编译后的jar包所在的目录,官方自带示例
2.配置hadoop
编辑hadoop-3.1.3/etc/hadoop/hadoop-env.sh
//最后一行添加
export JAVA_HOME=/opt/java/jdk1.8.0_401
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
编辑core-site.xml(记得要放在两个configuration中间)
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 设置Hadoop本地保存数据路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/data/hadoop-3.1.3</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive 用户代理设置 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!-- 垃圾桶文件保存时间 -->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
配置hdfs-site.xml(记得要放在两个configuration中间)
<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
配置mapred-site.xml(记得要放在两个configuration中间)
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop130:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop130:19888</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>
配置yarn-site.xml
<!-- 设置YARN集群主角色运行机器位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 是否将对容器实施物理内存限制 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 保存的时间7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
配置workers
//输入各主机地址
192.168.10.130
192.168.10.131
192.168.10.132
复制hadoop文件给另外两台文件到该路径下
scp -r hadoop-3.1.3 root@hadoop131:$PWD
scp -r hadoop-3.1.3 root@hadoop132:$PWD
3.初始化hadoop
初始化
hdfs namenode -format
format只能进行一次,只对hadoop130初始化即可,如果多次format除了造成数据丢失外,还会导致 hdfs集群主从角色之间互不识别。通过删除所有机 器hadoop.tmp.dir目录重新format解决。
4.集群启停
在hadoop130上,使用软件自带的shell脚本一键启动。
前提:配置好机器之间的SSH免密登录和workers文件。
HDFS集群 :start-dfs.sh
stop-dfs.sh
YARN集群 :start-yarn.sh
stop-yarn.sh
Hadoop集群 :start-all.sh
stop-all.sh
单个关闭:hdfs --daemon stop/start datanode
yarn --daemon stop/start nodemanager
启动完毕之后可以使用jps命令查看进程是否启动成功
hadoop130:NameNode,DateNode,NodeManager,ResourceManager
hadoop131:SecondaryNameNode,DateNode,NodeManager
hadoop132:DateNode,NodeManager
Hadoop启动日志路径:/opt/hadoop/hadoop-3.1.3/logs/
HDFS集群可视化界面:http://hadoop130:9870
YARN集群可视化界面:http://hadoop130:8088
Q1:网页拒绝连接
(1)防火墙没关
(2)windows的hosts未设置主机名,只能用IP地址登录,或者去配置hosts
C:\Windows\System32\drivers\etc\hosts
在里面添加虚拟机的IP地址,主机名称,之后可以在cmd中ping 主机名称来检测
(3)虚拟机网络连接不正常