https://my.oschina.net/MyHeaven1987/blog/1821509
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation
hadoop下载
Hadoop官方下载地址: Hadoop下载地址,目前最新的稳定版本为2.9.1。
hadoop配置
-
java安装路径指定,在hadoop解压路径下,修改etc/hadoop/hadoop-env.sh脚本指定JAVA安装主路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
-
hdfs配置
- etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
- etc/hadoop/core-site.xml:
-
启动ssh免密码登录
通过ssh localhost命令确认是否可以启动免密码登录,如果不行需要运行下面的命令来启动ssh免密码登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
hadoop伪分布式运行
本地运行MapReduce任务指导
-
通过hadoop脚本格式化hdfs文件系统
bin/hdfs namenode -format
-
启动NameNode守护进程和DataNode守护进程
sbin/start-dfs.sh
从运行结果图来看这个脚本启动了NameNode,备NameNode和DataNode。
-
访问NameNode的web管理界面,默认访问地址http://localhost:50070,确认NameNode状态正常
-
创建hdfs路径用于运行MapReduce任务,<username>需要替换为当前用户名,mkdir创建目录需要逐级创建。
bin/hdfs dfs -mkdir /user bin/hdfs dfs -mkdir /user/<username>
-
拷贝本地文件到分布式文件系统中
bin/hdfs dfs -put etc/hadoop input
-
运行hadoop官方提供的示例程序
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar grep input output 'dfs[a-z.]+'
-
获取分布式文件运行的输出文件到本地
bin/hdfs dfs -get output output cat output/*
总结
通过伪分布式启动Hadoop,可以看到hadoop运行需要HDFS和mapreduce两部分组成,在后面的博客中我们将会详细了解这两部分。