hadoop的安装部署
注意:下面步骤中的配置文件中的汉字建议全部删除,否则会出现编码出错
安装方式:伪分布式,让进程跑在一台机器上,只是端口不一样
文档:http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
1、使用rz命令上传 前提:使用yum安装lrzsz插件,可以上传文件到Linux系统
此处上传hadoop的tar包
2、解压:此处将解压后的hadoop放到了opt目录下的一个文件夹中
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/
3、Hadoop目录结构
删除一些无用文件和目录:
rm -rf bin/*.cmd
rm -rf sbin/*.cmd
rm -rf share/doc/
4、修改环境变量
5、common模块:core-site.xml:中文注释帮助你更好理解配置的属性的作用,运行时建议删除,否则有可能报错
6、HDFS模块:hdfs-site.xml
slaves:指定DataNode运行在那些机器上
说明:如果有多个机器,一行一个
7、启动HDFS
(1)对文件系统进行格式化
bin/hdfs namenode -format
注意:只需要格式化一次即可
(2)格式化成功的标准
如果进行了第二次格式化,格式化之前:将临时目录删除:即步骤5中建立的文件夹中的内容
(3)启动服务
-
主节点:sbin/hadoop-daemon.sh
start namenode
-
-
从节点:sbin/hadoop-daemon.sh
start datanode
(4)验证是否启动
方式一:jps
方式二:通过web ui查看
hdfs webui端口是50070
8、测试HDFS
-
帮助命令;
-
bin/hdfs dfs
-
创建目录
-
bin/hdfs dfs -mkdir -p /datas/tmp
-
上传文件:Linux -》HDFS
-
bin/hdfs dfs -put /opt/datas/wordcount /datas/tmp/
-
列举目录文件:
-
bin/hdfs dfs -ls /datas/
-
查看文件内容
-
bin/hdfs dfs -cat /datas/tmp/wordcount
-
删除文件
-
bin/hdfs dfs -rm -r -f /datas/tmp/wordcount
-
下载文件(HDFS->linux):
-
bin/hdfs dfs -
get /datas/tmp/wordcount /opt/modules/
9、Yarn模块
对于分布式资源管理和任务调度框架来说
在Yarn上面能够运行很多种应用程序
MapReduce
并行数据处理框架
Spark
基于内存分布式计算框架
Storm/Flink
实时流式计算框架
Tez
分析数据,比MapReduce速度快
yarn-site.xml
slaves
指定nodemanager运行在那些机器上,在配置HDFS的时候,已经配置了,
10、启动Yarn
-
主节点
-
sbin/yarn-daemon.sh
start resourcemanager
-
-
从节点
-
sbin/yarn-daemon.sh
start nodemanager
11、验证Yarn是否启动
方式一:jps
方式二:通过web UI :主机名:8088
12、MapReduce
(1)重命名配置文件
mv mapred-site.xml.template mapred-site.xml
(2)修改mapred-site.xml
13、测试MapReduce程序
程序运行在Yarn,读取HDFS上的数据进行处理
准备数据:
vi /datas/tmp/wordcount
MapReduce程序
Hadoop框架给我们提供了测试程序
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
提交运行
程序提交到Yarn上运行只有一种方式:bin/yarn jar
完整命令
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/tmp/wordcount /datas/mapreduce/output1
结果查看
(1)主机名:8088
(2)HDFS 主机名: 50070
日志文件讲解
进程启动不了,控制没有报什么错误,这个时候,我们只能通过查看日志的方式找到问题。
日志文件目录:${Hadoop_home}/logs
日志文件详解
文件名:主键模块的名称-用户名-服务名称-主机名