伪分布式运行 Hadoop

启动 HDFS 并运行 MapReduce 程序
(1) 准备 1 台客户机
(2) 安装 jdk
(3) 配置环境变量
(4) 安装 hadoop
(5) 配置环境变量
(6) 配置集群

配置: hadoop-env.sh:
去下面的目录/opt/module/hadoop-2.7.2/etc/hadoop

echo $JAVA_HOME
/opt/module/jdk1.8.0_151 #拿到javahome路径
vim hadoop-env.sh 
#修改export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/module/jdk1.8.0_151

配置: core-site.xml:

[root@hadoop101 hadoop]# pwd
/opt/module/hadoop-2.7.2/etc/hadoop
vim core-site.xml 
#在configuration中加入

<property>
    <name>fs.defaultFSname>
    <value>hdfs://hadoop101:9000value>
property>

<property>
    <name>hadoop.tmp.dirname>
    <value>/opt/module/hadoop-2.7.2/data/tmpvalue>
property>

配置: hdfs-site.xml

vim hdfs-site.xml 
#在configuration中加入

<property>
    <name>dfs.replicationname>
    <value>1value>
property>

(7) 启动、 测试集群增、删、查
启动:
进入目录/opt/module/hadoop-2.7.2

格式化 namenode(第一次启动时格式化,以后就不要总格式化):

bin/hdfs namenode -format

启动 namenode:

sbin/hadoop-daemon.sh start namenode
#查看是否开启成功
[root@hadoop101 hadoop-2.7.2]# jps
1728 Jps
1660 NameNode

启动 datanode:

sbin/hadoop-daemon.sh start datanode

web 端查看 HDFS 文件系统:

http://192.168.25.101:50070/dfshealth.html#tab-overview
#如果不能打开则参考
http://www.cnblogs.com/zlslch/p/6604189.html

(8) 执行 wordcount 案例

操作集群:
在 hdfs 文件系统上创建一个 input 文件夹

bin/hdfs dfs -mkdir -p /user/joker/input

将测试文件内容上传到文件系统上:

bin/hdfs dfs -put wcinput/wc.input /user/joker/input/

查看上传的文件是否正确:

bin/hdfs dfs -ls /user/joker/input/
bin/hdfs dfs -cat /user/joker/input/wc.input

运行 mapreduce 程序:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/joker/input/ /user/joker/output

也可以通过web浏览结果:
伪分布式运行 Hadoop_第1张图片

将测试文件内容下载到本地:

hadoop fs -get /user/joker/output/part-r-00000 ./wcoutput/

删除输出结果:

hadoop fs -rm -r /user/joker/output

貌似hadoop fs命令和bin/hdfs dfs效果一样-.-

你可能感兴趣的:(大数据)