注意vi编辑器:
dG 删除光标所在⾏到末尾的内容 相当于删除全文
dd 删除当前行
#!/bin/bash
定义所有的节点
HOSTS=( host01 host02 host03 )
遍历每⼀个节点
for HOST in ${HOSTS[*]}
do
远程登录到指定节点,执⾏jps命令
ssh -T $HOST << TERMINATER
echo “---------- $HOST ----------”
jps | grep -iv jps
exit
TERMINATER
done
ssh是⼀个远程登录的命令,可以远程登录到指定的虚拟机。
ssh -T 意思是说禁止分配伪终端。
-T 不显示终端,只显示连接成功信息
jps | grep -iv jps
-iv 显示不包含匹配文本的所有行
1、> 覆盖输出到文本
2、>>追加到文本
3、< 将后面文件作为前面命令的输入
4、<< 带命令作用全文匹配某个字符串后结束
5、<<<部分匹配某个字符串
sudo chmod a+x jps-cluster.sh
ln -s /opt/bin/jps-cluster.sh /usr/bin 用软连接把脚本文件放到/usr/bin下面就可以实现全局调用
/usr/bin已经被系统配置成了全局环境变量
日志查看问题所在:
HDFS的⻆⾊有三个: NameNode、SecondaryNameNode、DataNode,启动的时候也会有对应的⽇志⽂件⽣
成。如果在启动脚本执⾏之后,发现对应的⻆⾊没有启动起来,那就可以去查看⽇志⽂件,检查错误的详情,解决问
题
⽇志的位置: $HADOOP_HOME/logs
⽇志的命名: hadoop-username-daemon-host.log
rm -rf logs / tmp/ 同时删除两个文件夹 三个对象都需要重复这个操作
HDFS的shell操作
Hdfs dfs mkdir /test hdfs创建之类的不支持相对路径,只有绝对路径
Hdfs dfs mkdir -p /test/a/b/c 加参数-p 可以创建多级目录
Hdfs dfs -put 上传的目录或者文件 hdfs的路径
Hdfs dfs -ls / 查看hdfs根下面的所有文件
-h把文件大小转为M,方便查看
-R 递归查询,把目录下的所有数据查出来
Hdfs dfs -cat 查看文件中的内容
Hdfs dfs -copyToLocal hdfs上面的文件路径 liunx上的路径
Hdfs dfs -get hdfs上面的文件路径 liunx上的路径
Hdfs dfs -getmerge /input/file* file (意思把hdfs下面的所有file文件合并到liux下的file文件中)
Hdfs dfs -rm /f.png (删除hdfs下面的f.png文件)
Hdfs dfs -rm -r /test (删除hdfs下面的文件夹)
Hdfs dfs -cp (hdfs文件/文件夹路径1) (hdfs文件/文件夹路径2) 拷贝文件或者文件夹
Hdfs dfs -mv (hdfs文件/文件夹路径1) (hdfs文件/文件夹路径2) 移动或者重命名
Hdfs dfs -touchz /file 在hdfs下面创建一个file空文件
注意:hdfs的文件系统上的文件,不允许进行文件的数据插入、删除、修改,只支持向文件的末尾追加内容;
Hdfs dfs -appendToFile ~/input/file1 /file
Hdfs dfs -chmod 777 /file 修改文件权限
Hdfs dfs -chmod -R 777 /file 修改文件/文件夹的权限