如果参考我的是校友,同选大数据分析的课,不要直接复制,这是我的报告。我只能保证我这么做能做出来,其他报错自行百度
1. 下载并解压Hadoop2.x
1) 在本地下载压缩包,用rz上传。
2) 解压:sudo tar xfvz Hadoop-2.10.1.tar.gz
2. 配置伪分布式Hadoop服务
1) 配置etc/hadoop/core-site.xml
2) 配置etc/hadoop/hdfs-site.xml
最后,创建我们配置文件里的目录。
3) 配置JAVA_HOME
进入文件hadoop-env.sh
加入路径。
验证结果。
遇到的问题如下图:
可能是由于安装openjdk时的路径和各种教程不太一样。这里在加入路径时验证出现问题。观察报错信息,是这个文件不存在,自己cd一下确实。这里的路径是我用echo$JAVA_HOME直接复制的。看来不能直接用。
然后根据前面写的查找java路径老老实实查完再放到文件里。还是报错,发现路径后面重复了两次/bin/java。Ok,那我配置路径时把这两个删掉,然后,就成功了!
4) 配置免密登录。
过程和我配置本机免密登录虚拟机一样
可以看到authorized_keys多了一个wxy@vitrual_machine。(上面是我的本机用户名starmon)
验证成功。
保险起见,再来一波权限。
小插曲,这里已经给自己的虚拟机换了名字。
3. 启动并验证Hadoop服务
1) 格式化数据节点
遇到的问题:
第一次遇到问题,是hdfs-site的格式问题,检查该文件解决。
第二次遇到不能创建节点的问题:
不能创建目录。查看权限,都在root,而现在我的用户是wxy。
修改赋予权限。之后就成功了。
2) 启动Hadoop服务
3) 访问hadoop端口
4) 关闭Hadoop服务
如果启动时遇到类似的反馈:
就用sbin/stop-dfs.sh先停止再重启。
如果依然无法启动,删除/tmp,重新赋予权限,重新格式化再来一遍。
4. HDFS操作
1) 配置变量
2) 查看hdfs根文件夹结构
这里的报错主要参考了该文:Hadoop: 主节点9000端口拒绝访问Call From hadoop3/192.168.91.132 to hadoop1:9000 failed on connection exception
出现了问题后,先检查防火墙,之前已经设置禁止开机启动了,发现其实没什么问题。然后检查core-site.xml文件,因为我在中途改了一下主机名,推测是这个原因,修改原来的localhost为我的主机。
嗯,还是报错,好吧。查找是不建议用这种下划线命名,直接编辑为ip好了。但之后还是乖乖把主机名改成了短线“-”。
之后再尝试,查看,这时候文件夹里什么都没有
3) 创建文件夹/data 或 /tmp/data
4) 用-ls查看创建结果
5) 将本地文件/data/smalllog.txt上传至hadoop系统下/data/smalllog.txt
6) 用-ls查看刚刚创建的hadoop文件
本地文件在/home/wxy/myfile文件夹下。
上传文件用put,与copyFromLocal一样。
7) 查看该文件的最后1KB内容
8) 重命名该文件为/data/oldlog.txt
用mv,文件到文件夹是移动,文件到文件是重命名。
9) 将该文件下载到本地/data/oldlog.txt
用get,与之相对应的就是copyToLocal
10) 删除hadoop文件/data/oldlog.txt
使用rm删除,加-skipTrash跳过回收站删除文件
11) 删除hadoop文件夹/data
删除文件夹类似,这里是建议我用rm -r哈哈。
12) 删除本地文件/data/oldlog.txt