- 更改文件夹所属用户:
sudo chown zs:zs module/ software/ - 查看安装的Java版本:
rpm -qa | grep -i java - 删除已安装的Java:
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps - 切换root用户:
su root - 修改主机IP:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 - 修改主机名称:
vim /etc/hostname - 查看主机名称:
hostname - 查看IP地址:
ifconfig - 解压jdk-指定目录:
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/ - 返回上层目录:
cd .. - 修改环境变量:
sudo vim /etc/profile - 创建新的环境变量:
cd /etc/profile.d -> sudo vim my_env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
- 重新生效配置文件:
source /etc/profile - 查看数据:
cat - hadoop统计词频:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ ./wcoutput (
/mapreduce/hadoop-mapreduce-examples-3.1.3.jar:使用mapreduce下的jar包-hadoop-mapreduce-examples-3.1.3.jar
wordcount:使用wordcount方法
wcinput/:数据来源输入路径
./wcoutput:输出路径不能存在)
- 集群数据传输:
scp -r jdk1.8.0_212/ zs@hadoop103:/opt/module/ - 集群中间件互传:
scp -r zs@hadoop104:/opt/module/* zs@hadoop102:/opt/module/ (站在103从104传输文件到102)
第一次同步使用scp,之后同步差异文件使用rsync
- 集群群发脚本:
xsync a.txt - 显示环境变量:
echo $PATH - 提升文件的权限:
chmod 777 xsync - 集群分发文件:
xync bin/ - 分发环境变量:
xsync /etc/profile.d/my_env.sh - 查看所有的隐藏文件:
ls -al - SSH免密登录:
ssh-keygen -t rsa (生成密钥-私钥公钥)
[zs@hadoop102 .ssh]$ ll
total 12
-rw-------. 1 zs zs 1679 Sep 4 13:38 id_rsa
-rw-r--r--. 1 zs zs 394 Sep 4 13:38 id_rsa.pub
-rw-r--r--. 1 zs zs 186 Sep 4 13:35 known_hosts
拷贝公钥至指定服务器:ssh-copy-id hadoop103
- 格式化namenode:
hdfs namenode -format - 启动hadoop:
[zs@hadoop102 hadoop-3.1.3]$ cd sbin/ [zs@hadoop102 sbin]$ start-dfs.sh - 显示当前运行的节点:
jps - 启动资源管理器ResourceManager(hadoop103):
[zs@hadoop103 hadoop-3.1.3]$ cd sbin/ [zs@hadoop103 sbin]$ start-yarn.sh - 创建文件夹:
hadoop fs -mkdir /wcinput - 上传文件:
hadoop fs -put wcinput/word.txt /wcinput - 重定向:
cat blk_1073741826 >> tmp.tar.gz - 解压:
tar -zxvf tmp.tar.gz - 删除:
rm -rf jdk1.8.0_212/ tem.tar.gz - Yarn:是资源的调度者
- 上传的Yarn:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput - 杀死集群进程:
kill -9 6228 - 停止集群:
sbin/stop-dfs.sh - 集群分发文件:
xsync mapred-site.xml - 启动历史服务器:
mapred --daemon start historyserver - 停止历史服务器:
mapred --daemon stop historyserver - Yarn终止:
sbin/stop-yarn.sh - Yarn开启:
sbin/start-yarn.sh - 启动namenode:
hdfs --daemon start datanode - yarn启动nodemanager:
yarn --daemon start nodemanager - 查看外网时间:
systemctl status ntpd - 开启外网:
systemctl start ntpd - 查看时间:
date - 停止更新时间:
sudo systemctl stop ntpd - 设置时间:
sudo date -s "2022-01-29 11:11:11"
集群崩溃处理办法
- 杀死进程(停止集群)
sbin/stop-dfs.sh
- 删除每个集群上的
data/logs
rm -rf data/ logs/
- 格式化namenode节点
hdfs namenode -format
- 启动集群
sbin/start-dfs.sh
HDFS_Shell命令
hadoop fs or hdfs dfs 两个完全一样- 启动Hadoop集群:
sbin/start-dfs.sh
sbin/start-yarn.sh
hadoop fs -moveFromLocal ./shuguo.txt /sanguo
hadoop fs -copyFromLocal weiguo.txt /sanguo
hadoop fs -put wuguo.txt /sanguo
hadoop fs -appendToFile liubei.txt /sanguo/shuguo.txt
hadoop fs -copyToLocal /sanguo/shuguo.txt ./
hadoop fs -get /sanguo/shuguo.txt ./shuguo2.txt
hadoop fs -chown zs:zs /sanguo/shuguo.txt
hadoop fs -cp /sanguo/shuguo.txt /jinguo
hadoop fs -mv /sanguo/weiguo.txt /jinguo
hadoop fs -tail /jinguo/shuguo.txt
hadoop fs -rm /sanguo/shuguo.txt
hadoop fs -rm -r /sanguo
hadoop fs -du -s -h /jinguo
hadoop fs -du -h /jinguo
13 39 /jinguo/shuguo.txt
7 21 /jinguo/weiguo.txt
6 18 /jinguo/wuguo.txt
hadoop fs -setrep 10 /jinguo/shuguo.txt
最多设置副本与集群多少有关,若超过则记录,等集群扩充后,会自动拷贝副本,具体存在哪个服务器,根据距离最近原则分配。
hadoop-3.1.3/data/dfs/name/current :存放fsimage/edits数据信息- 下载文件到Windows本地:
sz edits.xml
Maven
- Junit:单元测试
- org.slf4j:打印日志,控制日志级别
Shuffle机制
- 进入缓冲区后,默认快速排序,按照key值索引字典排序
Hadoop压缩
hadoop checknative :查看支持的压缩方式hdfs dfsadmin -report :显示集群运行信息
Hadoop生产调优手册
- 删除:
hadoop fs -rm /a.txt - 查看堆内存:
jmap -heap 进程id - 100Mbps单位是bit;100M/s单位是byte;100Mbps/8=12.5M/s
sbin/stop-yarn.sh - 删除data下的lo:
rm -rf data/ lo - 启动集群:
sbin/start-dfs.sh - 查看版本:
cat version - 集群分发:
xsync hdfs-site.xml - 在hadoop安装目录下上传文件:
hadoop fs -put libei.txt /
配置白名单
cd etc/hadoop
vim whitelist
放入hadoop102 hadoop103
touch blacklist
vim hdfs-site.xml
添加配置信息
xsync whitelist blacklist
第一次添加白名单必须重启集群,不是第一次,只需要刷新NameNode节点即可。
ResourceManager是集群的老大
服役新服务器
- 添加新的节点,修改网络配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改IPADDR=192.168.10.105 修改主机名称:vim /etc/hostname
ifconfig``hostname - 拷贝文件:
scp -r module/* zs@hadoop105:/opt/module/ - 拷贝环境变量:
sudo scp /etc/profile.d/my_env.sh root@hadoop105:/etc/profile.d/ - 在hadoop105中
source /etc/profile ,打印java看是否成功 - 在hadoop102中
cd .ssh/
ssh-copy-id hadoop105
cd .ssh/
ssh-copy-id hadoop105
- 在hadoop105中进入hadoop安装路径,必须删除logs文件
rm -rf data/ logs/
启动datanode:
hdfs --daemon start datanode
yarn --daemon start nodemanager
在web端并未显示hadoop105,则需要修改白名单,分发,之后在hadoop102刷新:
hdfs dfsadmin -refreshNodes
hadoop fs -put wc.jar /
服务器间数据均衡
执行命令:sbin/start-balancer.sh -threshold 10 ,10代表的是集群中各个节点的磁盘空间利用率相差不超过10%。
黑名单退役服务器
在hadoop102中
vim balcklist
添加hadoop105
分发:
xsync blacklist
hadoop105上也需要处理:
cd etc/hadoop
vim blacklist
cd sbin
hdfs dfsadmin -refreshNodes
Decommissioned
在hadoop105中停掉节点
cd etc/hadoop
hdfs -daemon stop datanode
yarn --daemon stop nodemanager
修改jpsall脚本:
vim jpsall
cd etc/hadoop
vim workers
xsync workers
rm -rf data/ logs/
格式化:
hdfs namenode -format
纠删码
删除命令:
rm -rf data/ logs/
Hadoop源码分析的章节,我跳过了大概2个小时的课程,整体感觉只是了解,学的并不好。9月这么快过完了,这个月就学一丁点东西,需要反思 消化 吸收。
加油!
感谢!
努力!
|