Hadoop分布式系统(单机+集群)
1.解压缩hadoop
1)先下载hadoop-2.7.3到/opt/soft目录下
2)然后在/usr下新建hadoop目录
# mkdir /usr/hadoop
3)再tar安装hadoop到/usr/hadoop目录下
#在soft目录下,tar -zxvf hadoop2.7.3 -C /usr/hadoop
2.配置单机环境变量
# vi /etc/profile
#source /etc/profile
3.测试
1)创建一个文件夹,里面创建两个记事本,写入一些单词,然后运行自带的wordcount程序
#mkdir mytestin
cd mytestin
vi data1.txt
vi data2.txt
在Hadoop安装目录下
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /usr/hadoop/mytestin /usr/hadoop/mytestout
(# hadoop是命令,jar是程序类型,后面是路径+jar 然后是输入目录,输出目录)
2)查看运行结果,表示hadoop单机可以运行
#hadoop fs -text /usr/hadoop/mytestout/part-r-00000)
4.配置集群环境变量
1)配置hadoop-env.sh(tips:在hadoop-2.3.7/etc/hadoop/)
(# hadoop运行基础配置)
# The java implementation to use.
2)配置core-site.xml
3)配置yarn-site.xml
4)vi slaves:添加内容masterback,slave1,slave2
5)vi master:添加内容master
6)配置hdfs—site.xml
7)复制模板,并编辑mapred-site.xml
# cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
5.分发(# format)
# scp -r /usr/hadoop root@slave1:/usr
(tips:对master做以下操作:
cd /usr/hadoop/hadoop-2.7.3/
hadoop namenode -format
6.启动Hadoop
1)sbin/start-all.sh
2)jps(# 查看进程)
7.
# 打开浏览器输入:192.168.222.171:9001
http://192.168.222.171:50070可以方便看文件系统,看日志
8.相关命令
1)ls
# hadoop fs -ls /
列出hdfs文件系统根目录下的目录和文件
# hadoop fs -ls -R /
列出hdfs文件系统所有的目录和文件
2)put
#hadoop fs -put <local file> <hdfs file>
hdfs file的父目录一定要存在,否则命令不执行
#hadoop fs -put <local file or dir> ... <hdfs dir>
hdfs dir一定要存在,否则命令不执行
3)get
# hadoop fs -get <hdfs file> <local file or dir>
local file和 hdfs file名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地
hadoop fs -get <hdfs file or dir> ... <local dir>
4)rm
# hadoop fs -rm <hdfs file>...
hadoop fs -rm -r <hdfs dir>...
每次可以删除多个文件或目录
5)mkdir
# hadoop fs -mkdir <hdfs path>
只能一级一级的建目录,父目录不存在的话使用这个命令会报错
hadoop fs -mkdir -p <hdfs path>
6)cp
# hadoop fs -cp <hdfs file> <hdfs file>
目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件还存在
hadoop fs -cp <hdfs file or dir> ... <hdfs dir>
7)text
# hadoop fs -text <hdfs file>
将文本文件或某些格式的非文本文件通过文本格式输出
8)mv
# hadoop fs –mv [hdfs file] [hdfs dir]
9)job—
# hadoop job -list
查看job
hadoop job -kill job_1569284136171_0001
中止job【job_id要复制】
9.集群运行wordcount
hadoop fs -mkdir /myin #fs方式创建文件夹
hadoop fs -put ./input/test.txt /myin #把本地test.txt传到集群
hadoop fs -ls /myin #查看input目录结构
hadoop jar/usr/hadoop/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /myin /myout #运行wordcount
hadoop fs -ls /myout #查看结果,跟本地结果一致
hadoop fs -cat /myout/part-r-00000
hadoop fs -get /myout/part-r-00000 /home #通过get命令,把文件下载到本地
ls #查看本地文件信息