6.确保当前输入法在英文状态下后,输入:wq 保存文件并且退出文件
回车后,就可以看到已经退出文件编辑
修改HDFS的hdfs-site.xml文件
hdfs-site.xml文件主要是指定元数据存储目录,数据存储目录,指定备份 Namenode 节点。
1.编辑hdfs-site.xml
root@evassh-10644553:~# vi /opt/hadoop-2.7.1/etc/hadoop/hdfs-site.xml
输入完成该命令后会进入文档内部,如下图
2.按↓箭头将白色光标移动到如下图标红出所示
3.确保当前输入法在英文状态下后,按下小写i键,按下后如下图标红处所示出现--INSERT--字符,表示已经进入文档编辑模式,可以编辑该文档了
4.按照下图红色框内输入的内容,完成配置 一定要再三核对该内容,否则后面会报错
5.输入完成后,按下键盘上的esc键,退出编辑模式,按下后,可以看到--INSERT--字符已经没有了
6.确保当前输入法在英文状态下后,输入:wq 保存文件并且退出文件 回车后,就可以看到已经退出文件编辑
初始化集群
所谓的初始化集群,就是格式化,生成文件系统。主要目的是:
①创建一个全新的元数据目录
②生成记录元数据的文件 fsimage
③生成集群的相关标识:如集群 ID—clusterID
root@evassh-10644553:~# hadoop namenode -format
在返回结果中看到“successfully”,标志着出初始化成功。初始化成功后,千万不要再次操作。每次初始化都会生成一个新的集群ID,会使DataNode和NameNode中记录的集群ID不一致,两者无法识别。
ssh免密配置
ssh是连接linux主机的方式之一,在启动HDFS相关服务时会创建一个新的链接来连接linux主机,需要配置免密码登录,这样就可以直接启动服务了,不需要输入密码了。
1.生成密钥,连续按三次回车
1. root@evassh-10644553:~# ssh-keygen -t rsa -P '' 2. root@evassh-10644553:~#
2.把id_rsa.pub追加到授权的key里面去
1. root@evassh-10644553:~#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 2. root@evassh-10644553:~#
3.测试
root@evassh-10644553:~#ssh localhost
在下面标红的地方输入yes 输入完成后没有输入密码提示,就是成功了
启动HDFS并简单查看
1.使用start-dfs.sh命令启动HDFS集群。
1. root@evassh-10644553:~# start-dfs.sh localhost: 2. starting namenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-namenode-evassh-10683023.out localhost: 3. starting datanode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-datanode-evassh-10683023.out Starting secondary namenodes [localhost] localhost: 4. starting secondarynamenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-evassh-10683023.out 5. root@evassh-10644553:~#
2.使用JPS命令验证
root@evassh-10644553:~#jps 1328 SecondaryNameNode 979 NameNode 1126 DataNode 1608 Jps
前面的数字为服务的进程号,每次启动进程号都会不同。只要能看到有NameNode、DataNode、SecondaryNameNode这三个进程在线就可以了
3.使用ls命令查看hdfs上面的文件
1. root@evassh-10644553:~#hdfs dfs -ls / 2. root@evassh-10644553:~#
返回结果为空即正常。
HDFS的常用命令
启动Hadoop
在HDFS中创建/usr/output/文件夹;
在本地创建hello.txt文件并添加内容:“HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。”;
将hello.txt上传至HDFS的/usr/output/目录下;
删除HDFS的/user/hadoop目录;
将Hadoop上的文件hello.txt从HDFS复制到本地/usr/local目录。
四、实验心得
掌握了HDFS(集群的启动start-dfs.sh)启动
会使用Hadoop命令(文件的增/删/改/查/上传/下载)来操作分布式文件系统