所谓伪分布式模式,就是一种单机模式。实际情况中只有一个节点(主机),适合于学习,但不适用于实际的开发环境。这也是官方提供的模式之一。具体的配置过程也可以参照https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
环境:
- 腾讯云服务器一台(单核2G内存,50G硬盘,1M带宽)
- Ubuntu16.04
- jdk版本及下载链接:https://repo.huaweicloud.com/java/jdk/8u202-b08/
- hadoop版本及下载链接:http://mirror.bit.edu.cn/apache/hadoop/common/
1. 具体步骤:
1. 安装jdk并配置好环境变量
2. 安装hadoop并配置好环境变量,可参考https://www.jianshu.com/p/06bbc1732bc9
3. 进入/hadoop-x.x.x/etc/hadoop目录,修改Hadoop配置文件:
3.1 修改core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://腾讯云内网ip地址:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.7/data/tmp</value>
</property>
</configuration>
注意:fs.defaultFS是本机的访问路径;hadoop.tmp.dir是数据的保存路径
3.2 修改hdfs-sit.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
注意:dfs.replication是指数据的副本数,默认为3
3.3 修改hadoop-env.sh文件
expert JAVA_HOME=你的jdk安装路径
注意:这里的JAVA_HOME必须替换为你的安装路径
4. 启动集群
4.1 格式化NameNode,在第一次启动时需要格式化,以后就不需要了(并且不要总格式化)
$ bin/hdfs namanode -format
4.2 启动NameNode
$ sbin/hadoop-daemon.sh start namenode
hadoop-daemon.sh是Hadoop 的守护进程
4.3 启动DataNode
$ sbin/hadoop-daemon.sh start datanode
5. 查看集群
5.1 使用jps查看NameNode和DataNode的后台进程
jps
是jdk的查看进程管理,ps
是Linux的进程管理。如果jps
命令失效,尝试$ source /etc/profile
,使配置文件生效。
5.2 查看启动情况,在电脑浏览器中输入腾讯云服务器的公网IP地址:50070
,看到如下界面表示Hadoop伪分布式搭建成功。
2. WordCount案例再尝试
此时我们的Hadoop已经启动,接下来尝试操作HDFS。Hadoop 提供了一个用于操作HDFS的Shell,在hadoop-x.x.x bin/hdfs
中。
注意:HDFS拥有一套与Linux独立的文件系统,它也有一个根目录
/
,如果要操作HDFS文件系统,只需要在命令的开头加上bin/hdfs dfs -命令
。例如,在HDFS中建立一个目录$ bin/hdfs dfs -mkdir -p /user/hadoop1/input
。此时,相对于HDFS而言,Hadoop-x.x.x/
为localhost目录。
我们可以在5.2步骤中生成的页面中查看HDFS文件。
进入HDFS文件系统:
接下来,我们可以在HDFS文件系统上重新运行WordCount案例。关于本地模式的WordCount可以参考https://www.jianshu.com/p/06bbc1732bc9,其中有wcinput/wc.input的具体创建方式。
1. 将locahost下的文件上传到HDFS中
$ bin/hdfs dfs -put wcinput/wc.input /user/hadoop1/input
将localhost目录下(hadoop-x.x.x/wcinput/)的wc.input上传到/user/hadoop1/input目录下
2. 在hadoop-x.x.x/目录下运行WordCount案例
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wordcount /user/hadoop1/input /user/hadoop1/output
运行结果保存在/user/hadoop1/output/目录下
3. 查看运行结果,此时可以在浏览器中查看运行结果
至此,我们的Hadoop 伪分布模式已经搭建成功!
开始愉快的学习吧~
网友评论