伪分布式:namenode和datanode都安装在本机上。
操作流程如下:
1、确保安装好jdk
2、确保安装好hadoop,这里演示的用的是hadoop2.9.2
3、配置hadoop-env.sh、core-site.xml、hdfs-site.xml
4、格式化hdfs
5、启动namenode、启动datanode
6、查看java进程,查看hdfs网页界面
************************************************************以下是操作****************
1、jdk版本
2、hadoop版本
3.1、配置hadoop-env.sh
这个文档使用来配置hadoop的运行环境的,用来定义hadoop运行环境相关的配置信息。
文档在hadoop安装目录的etc/hadoop/下面:
采用vi或gedit打开,找到java_home,这里默认是java_home这个变量,但是我们要修改成绝对的java路径:
可以用终端查看java路径,并把这个路径复制:
把java路径复制替换$java_home变量并保存
3.2、配置core-site.xml
这个文件集群全局参数,用于定义系统级别的参数,如HDFS URL 、Hadoop的临时目录等。
文档的路径是:hadoop根目录下的etc/hadoop/
用vi或gedit打开,打开后里面是空的,但是现实有对应的configuration配置节点。
我们需要在configuration节点里面添加子节点:
上面配置的是两个节点,一个是fs.defaultFS这个变量,默认文件系统的名称。通常指定namenode的URI地址,包括主机和端口。我这里设置的是loclahost,也就是本机,端口是9000;hadoop.tmp.dir这个变量,指定Hadoop运行时产生文件的存储目录,是其它临时目录的父目录,会被其它临时目录用到,如果不设置这个目录,那么当hadoop关闭后某些系统临时目录会被清空,当下一次需要启动hadoop时需要重新进行初始化。所以这里人工指定目录可以避免被清空。我这里是在hadoop安装根目录下面,系统会自动创建对应的temp文件夹。这里还可以配置很多内容,具体可以查看https://www.cnblogs.com/jpcflyer/p/8934601.html。
3.2、配置hdfs-site.xml
这个文件是配置hdfs, 如名称节点和数据节点的存放位置、文件副本的个数、文件的读取权限等 。
可以用vi或gedit打开,打开后里面是空的,但是现实有对应的configuration配置节点。
我们需要在configuration节点里面添加子节点,下面是指定HDFS副本的数量,可以自行设定,因为我这里只有一个datanode所以只需要一个副本就可以了:
4、格式化NameNode(第一次启动时格式化,以后就不要总格式化,因为格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。)
首先通过cd命令进入到hadoop安装路径,然后输入下面的语句进行格式化:
5、启动namenode
6、启动datanode
当然,上面的第5、6步使用的Hadoop-daemon.sh:用于启动当前节点的进程,如果是Hadoop-daemons.sh:用于启动所有节点的进程。或者直接用:
sbin/start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、ResourceManager、NodeManager
sbin/stop-all.sh 停止所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、ResourceManager、NodeManager
7、我们可以使用java命令里面的jps来查看哪些进程启动了。 jps是属于jdk自带的命令,当你机器安装了jdk同时将jdk配置到系统的环境变量当中后,在命令行输入jps就可以查看当前的java进程了。
正常是一个namenode,一个datanode节点,还有一个jps进程。如果发现上面有部分没有启动的话,只需要单独启动就可以了,一直启动不了就要看下配置文件是否错误。
8、web端查看HDFS文件系统
如果是hadoop3.0版本之前的,则端口是50070,之后的是9870。因为我们之前在core-site.xml配置的是localhost所以我们这里在浏览器输入:localhost:50070
具体操作视频看:https://ke.qq.com/course/2837340