1.先看了下https://blog.csdn.net/hahachenchen789/article/details/80748920 学习sls搭建,并经介绍到Hadoop配置环境https://blog.csdn.net/hahachenchen789/article/details/79917316开始配置Hadoop
配置Hadoop总体来说根据以上博客来没有什么特别的问题,只有一些小问题。
理解hdfs可以到:https://www.cnblogs.com/tieandxiao/p/8799287.html
(1)脚本需要加bash(已经配了环境。。。不知道为什么),后来在path中加上点(.)就好了
(2)在格式化hdfs中时出现SHUTDOWN_MSG: Shutting down NameNode,是因为hostname没有对应的ip,在host中加上就好了
127.0.0.1 localhost hostnamesvalue
(3)格式化后core-site.xml目录中会出现的dfs。。。不是xml中出现。。。
2.在运行sls实例的时候好烦。。。各种问题
(1)运行完一次sls,都要重启一次来关闭相应进程,kill不知道为什么没有用,hadoop里的stop也关不掉,如果不重启会有端口占用问题。。。(后面看看有没有别的方法)
找到方法了——ctrl+c可以停止
(2)Java 1.8 191版本缺少好几个jar包(不少class都会有NoClassDefFoundError,如org.apache.hadoop.yarn.server.timelineservice下面的class),将/usr/local/hadoop/share/hadoop/yarn里的timelineservice里的jar包移到yarn里的相应位置。
(3)环境配好后运行发现127.0.0.1:10001上的表格为空,没有数据。应把share/hadoop/tools/sls/sample-conf中的配置文件覆盖到$hadoop_home/etc/hadoop中(yarn-site.xml,sls-runner.xml,fair-scheduler.xml三个文件)
测试命令:
root@lzf-VirtualBox:/usr/local/hadoop/bin# hdfs dfs -mkdir /demo1
root@lzf-VirtualBox:/usr/local/hadoop/bin# hdfs dfs -put /usr/local/hadoop/etc/hadoop/core-site.xml /demo1
root@lzf-VirtualBox:/usr/local/hadoop/bin# ${HADOOP_HOME}/bin/hdfs dfs -cat /demo1/core-site.xml
1.客户端发出读数据请求,Open File指定读取的文件路径,去找namenode要元数据信息。
2.namenode将文件的元数据信息返回给客户端。
3.客户端根据返回的元数据信息,去对应的datanode去读块数据。假如一个文件特别大,比如1TB,会分成好多块,此时,namenode并是不一次性把所有的元数据信息返回给客户端。
4.客户端读完此部分后,再去想namenode要下一部分的元数据信息,再接着读。
5.读完之后,通知namenode关闭流
其他参考网址: