克隆
- 虚拟机当前状态
- 创建完整克隆
- 克隆虚拟机名字 lqn2 lqn3
- 检查网卡 改mac地址的后两位是否一致 点生成(2、3都改)
- 修改主机名、IP地址
- 打开三台虚拟机
- 使用 moba 链接三台虚拟机
- 互ping网络
免密登录
-
在每个结点上生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-
把2和3的密钥给主结点
在2、3结点运行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@lqn1 yes root密码:123456
-
将hadoop-1自身的密钥信息加入文件中,以实现对自身的免密登陆
在hadoop-1上运行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
在hadoop-1上运行
scp ~/.ssh/authorized_keys root@lqn2:/root/.ssh yes lqn2密码:123456 scp ~/.ssh/authorized_keys root@lqn3:/root/.ssh yes lqn3密码:123456
-
给所有虚报机上的authorized_keys添加权限
所有的结点运行
chmod 644 /root/.ssh/authorized_keys
-
测试
#在lqn1运行: ssh root@lqn2 #登陆后进入lqn2 #退出回到lqn1 exit
格式化集群
- 仅在lqn1运行
hadoop namenode -format
- 格式化成功后,可以在看到在/opt/hadoop/dfs/name目录多了一个current
[root@lqn1 ~]# cd /opt/hadoop/dfs/name
[root@lqn1 name]# ls
current
[root@lqn1 name]#
补充:集群开启后,jps缺少进程需要检查配置文件后 重新格式化 再启动
启动集群
仅在lqn1运行
-
切换至/opt/hadoop/sbin目录
cd /opt/hadoop/sbin
-
启动集群
# 方法一 # 命令启动hdfs ./start-dfs.sh #启动yarn ./start-yarn.sh #方法二 ./start-all.sh
-
注:遇到namenode无法启动的情况时,删除hadoop目录下的dfs和tmp目录然后重新格式化
验证集群
在主机电脑上打开浏览器,并分别浏览hadoop集群的管理页面,看hadoop集群是否成功启动
-
Hadoop集群的网页版管理地址
http://192.168.17.142:50070 (或http://hadoop-1:50070)
-
Yarn的网页版管理地址
http://192.168.17.142:8088 (或http://hadoop-1:8088)
注:请将地址中的192.168.17.142修改为你所安装虚拟机主节点的IP地址,或者若你的主机系统的hosts文件(windows系统中的hosts文件在C:\Windows\System32\drivers\etc目录下)中配置有虚拟机ip地址与其主机名的映射关系,也可以直接使用虚拟机主节点的主机名+端口号来访问。
常用命令
-
创建目录:
hadoop fs -mkdir /user
-
查看hadoop下java的环境变量配置信息:
hadoop classpath
-
查看Hadoop HDFS支持的所有命令:
hadoop fs
-
列出[指定]目录及文件信息:
hadoop fs -ls [/user]
-
循环列出目录、子目录及文件信息:
hadoop fs -lsr
-
将本地文件系统的test.txt复制到HDFS文件系统的/user目录下
hadoop fs -put /home/hadoop/test.txt /user/test.txt
-
将HDFS中的test.txt复制到本地文件系统/home/hadoop目录中,与-put命令相反
hadoop fs -get /user/test.txt /home/hadoop
-
从本地文件系统复制文件到HDFS文件系统,等同于put命令:
hadoop fs -copyFromLocal /home/hadoop/test.txt /user/test.txt
-
从HDFS文件系统复制文件到本地文件系统/home/hadoop/目录中,等同于get命令:
hadoop fs -copyToLocal /user/test.txt /home/hadoop/test.txt
-
查看HDFS文件系统里test.txt的内容:
hadoop fs -cat /user/test.txt
-
查看最后1KB的内容:
hadoop fs -tail /user/test.txt
-
从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录:
-
hadoop fs -rm /user/test.txt
-
删除/user目录以及所有子目录:
hadoop fs -rmr /user
-
修改HDFS系统中/user目录所属群组,选项-R递归执行,跟linux命令一样:
hadoop fs -chgrp [-R] /user
-
修改HDFS系统中/user目录拥有者,选项-R递归执行:
hadoop fs -chown [-R] /user
-
修改HDFS系统中/user目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行:
hadoop fs -chmod [-R] MODE /user
-
查看PATH目录下,子目录数、文件数、文件大小、文件名/目录名:
hadoop fs -count [-q] PATH
-
将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录:
hadoop fs -cp SRC [SRC …] DST
-
显示该目录中每个文件或目录的大小:
hadoop fs -du PATH
-
类似于du,PATH为目录时,会显示该目录的总大小:
hadoop fs -dus PATH
-
清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除:
hadoop fs -expunge
-
获取由SRC指定的所有文件,将它们合并为单个文件,并写入本地文件系统中的LOCALDST,选项addnl将在每个文件的末尾处加上一个换行符:
hadoop fs -getmerge SRC [SRC …] LOCALDST [addnl]
-
创建长度为0的空文件:
hadoop fs -touchz PATH
-
对PATH进行如下类型的检查:
hadoop fs -test -[ezd] PATH
-e PATH是否存在,如果PATH存在,返回0,否则返回1
-z 文件是否为空,如果长度为0,返回0,否则返回1
-d 是否为目录,如果PATH为目录,返回0,否则返回1 -
显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩:
hadoop fs -text PATH
-
查看某个[ls]命令的帮助文档:
hadoop fs -help ls
-
查看/user/test.txt文件的数据块的存储位置:
hdfs fsck /user/test.txt -files -blocks -locations