Hadoop概论
- Hadoop是一个由 Apache基金会所开发的分布式系统基础架构。
- 主要解决,海量数据的存储和海量数据的分析计算问题。
- 广义上来说, Hadoop通常是指一个更广泛的概念 Hadoop生态圈。
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
- Apache版本最原始(最基础)的版本,对于入门学习最好。
- Cloudera内部集成了很多大数据框架。对应产品CDH。用的最多,方便
- Hortonworks文档较好。对应产品HDP。
- 高可靠性: Hadoop底层维护多个数据副本,所以即使 Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)高扩展性:在集群间分配任务数据,可便的扩展数以千计的节点。
3)高效性:在 MapReduce的思想下, Hadoop是并行工作的,以加快任务处理速度。
4)高容错性:能够自动将失败的任务重新分配
Hadoop组成
计算+资源调度+存储
1.x中MapReduce负责计算和资源调度
2.x中MapReduce负责计算,Yarn负责资源调度,解耦
HDFS
存储
Hadoop Distributed File System
- NameNode:nn,文件元数据。文件名,目录结构,属性,文件所在dn列表
- DataNode:dn,实际存储块数据。块数据以及校验和
- Secondary NameNode:不是nn的热备,是nn的助手,不能顶替nn,
YARN
资源调度(资源指的是CPU内存等等)
每个知道自己的集群在干什么事情。
- RM:常驻进程Resource Manager 处理客户端请求,监控每一个Node Manager,启动或者监控AM, 资源调度和分配
- NM:常驻进程Node Manager,每一个节点负责人。处理RM和AM的指令
- AM:有任务才创建ApplicationMaster,任务临时主管,决定任务需要多少资源并且申请资源。数据切分资源分配给任务,任务监控容错
- Container:有任务才创建。节点资源的抽象。CPU内存网络硬盘的多维度资源
MapReduce
MapReduce将计算过程分为两个阶段:Map和Reduce
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
Hadoop环境搭建
创建备用虚拟机
这里使用的链接克隆的虚拟机,更方便
镜像下载:https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/
三台虚拟机内存4G,硬盘50G
最小安装
自带vi编辑器,没有vim
修改静态IP: 《paralles》
yum install lsof
lsof -i:22
如果处于监听。直接使用ssh连接,没有则安装(有可以跳过)
sudo yum –y install openssh-server openssh-clients
sudo systemctl start sshd
sudo systemctl status sshd# systemctl stop sshd
sudo systemctl enable sshd
# sudo systemctl disable sshd
需要配置允许远程root登录(有可以跳过)
sudo vim /etc/ssh/sshd_config
之后先远程连接,虚拟机自己的界面不可以复制粘贴!!
配置国内镜像源(否则安装依赖太慢)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
vim /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
# 清除缓存
yum clean all
# 生存缓存
yum makecache
sudo yum install -y epel-release
sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
# 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 创建deltaqin用户
sudo useradd deltaqin
sudo passwd 000000# 配置用户具有root权限
vi sudo
# 修改/etc/sudoers文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
deltaqin ALL=(ALL) ALL
shutdown -h now
至此,基础环境搭建完成,
设置如下,开机的时候直接后台运行,使用ssh连接
设置之后重启parallels。创建快照
新建克隆
连接之后更换静态IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 换一个即可
# 重启再连接
reboot
# 修改主机名称
sudo hostnamectl --static set-hostname hadoop101
# 配置主机名称映射
sudo vim /etc/hosts
# 重启虚拟机
reboot
当前机器再创建快照之后克隆两台,相关配置:
# 主机名
sudo hostnamectl --static set-hostname hadoop102
# 静态IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 生效
reboot
# 同样另一台机器
sudo hostnamectl --static set-hostname hadoop103
vim /etc/sysconfig/network-scripts/ifcfg-eth0
reboot
最终效果
在/opt目录下创建安装文件夹
在/opt目录下创建module、software文件夹,修改module、software文件夹的所有者cd
sudo mkdir /opt/module /opt/software
sudo chown deltaqin:deltaqin /opt/module /opt/software
安装JDK
卸载现有****JDK
rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
# java安装包上传之后
mkdir -p /usr/java/latest
tar -zxf software/jdk-8u212-linux-x64.tar.gz -C /usr/java/latest# 不建议直接编辑profile文件,可以自己定义一个profile文件sudo vim /etc/profile.d/my_env.sh
# 添加如下内容
#JAVA_HOME
export JAVA_HOME=/usr/java/latest/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/binsource /etc/profile
java -version
安装Hadoop
hadoop-3.1.3.tar.gz导入到opt目录下面的software文件夹下面
# 进入到Hadoop安装包路径下
cd /opt/software/
# 解压安装文件到/opt/module下面
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
# 将Hadoop添加到环境变量
pwd
/opt/module/hadoop-3.1.3
# 打开/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh# 在profile文件末尾添加JDK路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin# 保存后退出,让修改后的文件生效
source /etc/profile# 测试是否安装成功
hadoop version
Hadoop 3.1.3# Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的。Linux 系统中欲写入硬盘的资料有的
# 时候为了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的
# 资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料
# 强制写入硬盘中。
sync
sudo reboot
ssh配置免密登录
无密登录****配置
生成公钥和私钥:
(只是针对当前用户生成,不同用户需要再次生成)
su deltaqin
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
出现:
The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
RSA key fingerprint is cf:1e🇩🇪d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
Are you sure you want to continue connecting (yes/no)?
解决方案如下:直接输入yes
注意:
还需要在hadoop102上采用deltaqin账号,配置一下无密登录到hadoop101、hadoop102、hadoop103;否则不能用101登录其他服务器
还需要在hadoop103上采用deltaqin账号,配置一下无密登录到hadoop101、hadoop102、hadoop103服务器上。否则不能用103登录其他服务器
配置完之后就可以做到真正的三个机器互通
ssh hadoop103
.ssh文件夹下(~/.ssh)的文件功能解释
known_hosts | 记录ssh访问过计算机的公钥(public key) |
---|---|
id_rsa | 生成的私钥 |
id_rsa.pub | 生成的公钥 |
authorized_keys | 存放授权过的无密登录此服务器公钥 |
快速分发文件到所有节点--编写集群分发脚本xsync
scp(secure copy)安全拷贝(不用)
scp可以实现服务器与服务器之间的数据拷贝
scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
# 命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
在hadoop101上,将hadoop101中/opt/module目录下的软件拷贝到hadoop102上。
scp -r /opt/module root@hadoop102:/opt/module
在hadoop103上,将hadoop101服务器上的/opt/module目录下的软件拷贝到hadoop103上。
sudo scp -r root@hadoop101:/opt/module root@hadoop103:/opt/module
注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103上修改所有文件的,所有者和所有者组。
sudo chown deltaqin:deltaqin -R /opt/module
# 将hadoop101中/etc/profile文件拷贝到hadoop102的/etc/profile上。
sudo scp /etc/profile root@hadoop102:/etc/profile# 将hadoop101中/etc/profile文件拷贝到hadoop103的/etc/profile上。
sudo scp /etc/profile root@hadoop103:/etc/profile
注意:拷贝过来的配置文件别忘了source一下/etc/profile,。
rsync远程同步工具(不用)
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
选项 | 功能 |
---|---|
-a | 归档拷贝 |
-v | 显示复制过程 |
把hadoop101机器上的/opt/software目录同步到hadoop102服务器的root用户下的/opt/目录
rsync -av /opt/software/ hadoop102:/opt/software
xsync集群分发脚本(用)
循环复制文件到所有节点的相同目录下
rsync -av /opt/module root@hadoop103:/opt/
期望脚本:xsync要同步的文件名称
cd /home/deltaqin
vim xsync
在该文件中编写如下代码
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi
#2. 遍历集群所有机器
for host in hadoop101 hadoop102 hadoop103
doecho ==================== $host ====================#3. 遍历所有目录,挨个发送for file in $@do#4 判断文件是否存在if [ -e $file ]then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done
# 修改脚本 xsync 具有执行权限
chmod +x xsync# 将脚本移动到/bin中,以便全局调用
sudo mv xsync /bin/# 同步需要的文件
sudo xsync /opt/
sudo xsync /usr/java/
sudo xsync /bin/xsync
sudo xsync /etc/profile.d/my_env.sh # 在接收服务器测试
source /etc/profile
hadoop version
配置集群****
注意:NameNode和SecondaryNameNode不要安装在同一台服务器
注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。
节点分布
hadoop101 | hadoop102 | hadoop103 | |
---|---|---|---|
HDFS |
NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
YARN | NodeManager |
ResourceManager NodeManager |
NodeManager |
core-site.xml 核心配置文件
# 核心配置文件
cd /opt/module/hadoop-3.1.3/etc/hadoop/
# 配置core-site.xml
vim core-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop101:8020</value></property><property><name>hadoop.data.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><property><name>hadoop.proxyuser.deltaqin.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.deltaqin.groups</name><value>*</value></property>
</configuration>
hdfs-site.xml HDFS配置文件
vim hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>dfs.namenode.name.dir</name><value>file://${hadoop.data.dir}/name</value></property><property><name>dfs.datanode.data.dir</name><value>file://${hadoop.data.dir}/data</value></property><property><name>dfs.namenode.checkpoint.dir</name><value>file://${hadoop.data.dir}/namesecondary</value></property><property><name>dfs.client.datanode-restart.timeout</name><value>30</value></property><property><name>dfs.namenode.secondary.http-address</name><value>hadoop103:9868</value></property>
</configuration>
yarn-site.xml yarn配置文件
vim yarn-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>hadoop102</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>
</configuration>
mapred-site.xml MapReduce配置文件
vim mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
配置workers
vim workers
hadoop101
hadoop102
hadoop103
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
# 在集群上分发配置好的Hadoop配置文件
sudo xsync /opt/module/hadoop-3.1.3/etc/hadoop/
# 查看文件分发情况
cat /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
集群单点启动(不用)
# 如果集群是第一次启动,需要格式化NameNode
hdfs namenode -format# 在hadoop101上启动NameNode
hdfs --daemon start namenode
# 完成后执行jps命令,看到如下结果(进程号可能不同):
3461 NameNode# 在hadoop101、hadoop102以及hadoop103上执行如下命令(三台都要执行)
hdfs --daemon start datanode
集群群起(用)
基础是配置好ssh的无密登录
配置好workers
启动集群
格式化NN
如果集群是第一次启动,需要在hadoop101节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据,见最后的常见问题)
hdfs namenode -format
上面输出没有报错就可以
启动HDFS
sbin/start-dfs.sh
启动hadoop,报错Error JAVA_HOME is not set and could not be found
在hadoop-env.sh中,再显示地重新声明一遍JAVA_HOME
export JAVA_HOME=/usr/local/java/jdk1.8.0_271
启动YARN
在配置了ResourceManager的节点(hadoop102)启动YARN
sbin/start-yarn.sh
Web端查看SecondaryNameNode
http://hadoop103:9868/status.html
http://hadoop101:9870/dfshealth.html#tab-datanode
坑
-
如果打不开网页:查看hdfs-site.xml里面的配置,看看端口写错没,我的是9868,不是50090
-
如果网页不显示详细内容:https://blog.csdn.net/qq_43771096/article/details/106127227
在102上执行:(注意生成deltaqin的秘钥,而不是root否则permission denied)
如果101里面缺少NameNode。说明创建失败,可以重新执行hdfs namenode -format查看错误原因,我的是权限不足,因此执行sudo chmod -R a+w /opt/module/hadoop-3.1.3/data。给了权限之后再次执行即可成功
集群启动/停止方式总结
各个服务组件逐一启动/停止
# 分别启动/停止HDFS组件
hdfs –daemon start/stop namenode/datanode/secondarynamenode
# 启动/停止YARN
yarn --daemon start/stop resourcemanager/nodemanager
各个模块分开启动/停止(配置ssh是前提)常用
# 整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
# 整体启动/停止YARN
start-yarn.sh/stop-yarn.sh
配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:
配置mapred-site.xml
vi mapred-site.xml
在该文件里面增加如下配置。
<!-- 历史服务器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>hadoop101:10020</value>
</property><!-- 历史服务器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop101:19888</value>
</property>
分发配置,启动
# 分发配置
xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml
# 在hadoop101启动历史服务器
mapred --daemon start historyserver
# 查看历史服务器是否启动
jps
查看JobHistory
http://hadoop101:19888/jobhistory
配置日志的聚集
应用运行完成以后,将程序运行日志信息上传到HDFS系统上。可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
配置yarn-site.xml
vim yarn-site.xml
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<property> <name>yarn.log.server.url</name> <value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>
# 分发配置
xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml# 关闭NodeManager 、ResourceManager和HistoryServer
# 在102上执行:
stop-yarn.sh# 在101上执行:
mapred --daemon stop historyserver# 启动NodeManager 、ResourceManager和HistoryServer
# 在102上执行:
start-yarn.sh# 在101上执行:
mapred --daemon start historyserver
查看日志
http://hadoop101:19888/jobhistory
http://hadoop101:9870/ 主要页面
http://hadoop102:8088/cluster/nodes
下面两个图都一致就基本对了
编写脚本查看集群状态
grep -v 排除输出
vim jpsall
#!/bin/bash
for i in hadoop101 hadoop102 hadoop103
doecho "============= $i ================"ssh $i "jps" | grep -v Jps
done
chmod +x jpsall
sudo mv jpsall /bin/
jpsall
报错
已经安装jdk,配置好jdk的环境变量,且本机执行jps命令没有问题!
三台机器都执行一下
sudo ln -s /usr/local/java/jdk1.8.0_271/bin/jps /usr/local/bin/jps
之后在101:
xsync /bin/jpsall
就可以了
常见错误
无法访问此网站connection refused:端口号不对
DNS PROBE FINISHED NXDOMAIN:本机host配置不对
用户不对
切换到相应用户即可
最后找不到问题解决:格式化重启
删除data以及logs文件夹
rm -rf data logs
格式化
在hadoop101节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和logs数据)
hdfs namenode -format
start-dfs.sh
此时启动,如果提示失败,无法写data以及logs,需要改变一下这两个文件夹的权限,自己自动创建的时候 就会变成root用户的。
注意是递归给权限。
chown -R deltaqin:deltaqin logs data
stop-dfs.sh
start-dfs.sh
start-yarn.sh
集群时间同步(选做)
关键是时间一致,不是时间准确
时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
主时间服务器配置(必须root用户)
# 在所有节点关闭ntp服务和自启动
sudo systemctl status ntpd
su
systemctl stop ntpd
systemctl disable ntpd
# 修改ntp配置文件
vim /etc/ntp.conf
# 修改内容如下
# 修改1(授权自己网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 修改2(集群在局域网中,不使用其他互联网上的时间)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst# 添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
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
其他机器配置(必须root用户)
在其他机器配置10分钟与时间服务器同步一次
crontab -e
# 编写定时任务如下:
*/10 * * * * /usr/sbin/ntpdate hadoop101# 修改任意机器时间
date -s "2017-9-11 11:11:11"# 十分钟后查看机器是否与时间服务器同步
date
说明:测试的时候可以将10分钟调整为1分钟,节省时间。
看端口
netstat -nltp
netstat -nltp |grep 4380
iotop:磁盘读写性能
top:系统进程
tree
free -h 查看内存
df -h 磁盘分区大小
du -h . 查看当前文件夹所占的大小