赞
踩
1.NameNode和SecoundNameNode不要安装在同一台服务器
2.ResourceManager也很消耗内存,不要和NameNode、SecoundNameNode配置在同一台机器上
hadoop102 | hadoop103 | hadoop104 | |
---|---|---|---|
HDFS | NameNode DataNode | DataNode | SecoundNameNode DataNode |
yarn | NodeManager | ResourceManager NodeManager | NodeManager |
<configuration> <!--指定nodename地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:8020</value> </property> <!-- ָ指定hadoop数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-3.3.1/data</value> </property> <!-- 配置hsfs网页登录使用的静态用户--> <!-- <property> --> <!-- <name>hadoop.http.staticuser.user</name> --> <!-- <value>howey</value> --> <!-- </property> --> </configuration>
<configuration>
<!-- nn 外部访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!-- 2nn 外部访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
</configuration>
<configuration> <!-- nn 指定mr走shuffle--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定resourcemanager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop103</value> </property> <!-- 指定环境变量的继承--> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> <!-- 开启日志聚集功能--> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置日志聚集服务器地址 --> <property> <name>yarn.log-server.url</name> <value>http://hadoop102:19888/jobhistory/logs</value> </property> <!-- 设置日志保留时间为7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> </configuration>
/opt/module/hadoop-3.3.1/etc/hadoop/mapred-site.xml
<configuration> <!-- 指定MapReduce程序运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop102:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop102:19888</value> </property> </configuration>
/opt/module/hadoop-3.3.1/etc/hadoop/workers
注意:
第一次启动需要格式化,一定要注意自己使用的那个账号在操作,不要一会root 一会普通账号
检查/opt/module/hadoop-3.3.1/data
文件夹的文件所属
格式化之前先删除/opt/module/hadoop-3.3.1/logs
和/opt/module/hadoop-3.3.1/data
格式化:
hdfs namenode -format
启动:
/opt/module/hadoop-3.3.1/sbin/start-dfs.sh
停止:
/opt/module/hadoop-3.3.1/sbin/stop-dfs.sh
检查:
jps
根据顶部图可判断需要在服务器103上启动yarn
/opt/module/hadoop-3.3.1/sbin/start-yarn.sh
mapred --daemon start historyserver
开启停止各服务组件(kill -9 进程号)
hdfs --daemon start/stop namenode/datanode/secondarynamenode
yarn的重启服务
yarn --daemon start/stop resourcemanager/nodemanager
web端查看
HDFS存储信息
http://hadoop102:9870/
yarn的resourcemanager
http://hadoop103:8088/
hadoop fs -mkdir /wcinput
hadoop fs -put /opt/software/jdk-8u331-linux-x64.tar.gz /wcinput
查看web
http://hadoop102:9870/explorer.html#/
文件存储位置 core-site.xml
ll data/dfs/data/current/BP-15966323-192.168.10.102-1650898590994/current/finalized/subdir0/subdir0/
表示三个副本
hdfs namenode -format
#!/bin/bash #集群启停脚本 if [ $# -lt 1 ] then echo "no args input..." exit; fi case $1 in "start" ) echo "============================启动hadoop集群=================" echo "============================启动hdfs======================" ssh hadoop102 "/opt/module/hadoop-3.3.1/sbin/start-dfs.sh" echo "============================启动yarn======================" ssh hadoop103 "/opt/module/hadoop-3.3.1/sbin/start-yarn.sh" echo "======================启动historyserver======================" ssh hadoop102 "/opt/module/hadoop-3.3.1/bin/mapred --daemon start historyserver" ;; "stop" ) echo "=========================关闭hadoop集群=================" echo "======================关闭historyserver===================" ssh hadoop102 "/opt/module/hadoop-3.3.1/bin/mapred --daemon stop historyserver" echo "============================关闭yarn======================" ssh hadoop103 "/opt/module/hadoop-3.3.1/sbin/stop-yarn.sh" echo "============================关闭hdfs======================" ssh hadoop102 "/opt/module/hadoop-3.3.1/sbin/stop-dfs.sh" ;; * ) echo "input args error...." ;; esac
#!/bin/bash
#查看集群是否启动成功
for host in hadoop102 hadoop103 hadoop104
do
echo =========================$host================
ssh $host jps
done
hadoop3.x
hdfs namenode 内部常用端口:8020/9000/9820
hdfs namenode 对用户的查询端口:9870
yarn查看任务运行情况的端口:8088
历史服务器:19888
hadoop2.x
hdfs namenode 内部常用端口:8020/9000
hdfs namenode 对用户的查询端口:50070
yarn查看任务运行情况的端口:8088
历史服务器:19888
常用配置文件
hadoop3.x
core-site.xml hdfs-site.xml yran-site.xml mapred-site.xml workers
hadoop2.x
core-site.xml hdfs-site.xml yran-site.xml mapred-site.xml slaves
生产环境:如果服务器能连接外网,不需要时间同步,会同步外网的时间
生产环境:如果服务器不能连接外网,需要时间同步
切换root账号
su root
查看状态
systemctl status ntpd
开启
systemctl start ntpd
查看开机自启状态
systemctl is-enabled ntpd
修改配置文件
vim /etc/ntp.conf
在最后追加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
修改/etc/sysconfig/ntpd文件
vim /etc/sysconfig/ntpd
增加以下内容(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
重启ntpd服务
systemctl start ntpd
设置ntpd服务开机自启
systemctl enable ntpd
systemctl stop ntpd
systemctl disable ntpd
crontab -e
* * * * * 从左到右依次是 分时日月周
添加定时任务如下
*/1 * * * * /usr/sbin/ntpdate hadoop102
测试:
date -s "2022-02-22 22:22:22"
一分钟后查看是否同步
date
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。