Hadoop学习笔记(5)-搭建Hadoop分布式
2016-04-17 15:41
441 查看
0.前言
我要搭建的集群是一台Master和3台Worker。先按照以下博客内容配置。第一步:修改hostname和hosts
/article/7784959.html
第二步:ubuntu下ssh无密码登入(设置ssh公钥认证)
/article/7784960.html
1.安装rsync
rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。可以通过ssh方式来传输文件。
在4台机器上都安装好rsync,可通过ssh进入其他机器并输入安装指令。
2.安装JDK
Hadoop是要安装在JVM上运行的,所以都要安装JDK。这里的操作先在一台机器上进行,先在Master机器上进行。2.1 下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择linux 64位系统,压缩凡是tar.gz
截图中时8.73版本。我实际下载的时8.71版本。
2.2 解压
我下载的在Downloads文件夹里,所以先直接解压在当前目录:复制到local目录下(我把要安装的东西都放在了这个目录下)
2.3 配置JDK,JRE环境变量
修改bashrc文件,添加环境变量在文件末尾加入如下内容:
再用soure命令,使其生效:
2.4 验证
输入java -version,能显示版本好,就表示JDK配置成功。4台电脑都要配置jdk,后面配置中会用scp命令来传输给其他3台。
3.安装Hadoop
继续先在Master机器上进行单台配置。3.1下载Hadoop
下载地址:http://hadoop.apache.org/releases.html
我选用时2.6.2版本,binary的。
3.2 解压
解压在当前目录复制到local目录下
3.3 配置Hadoop环境变量
用vim命令编辑bashrc文件:添加如下内容:
保存并退出。再用source使其生效。
图中配置HADOOP_CONF_DIR文件时为了更好多支持yarn的运行(yarn是个资源管理框架)
监测环境配置是否正确,输入hadoop version
能显示版本就表示正确。
3.4 单台设置Hadoop文件配置
Hadoop的配置文件在etc里的hadoop里面,我一共是配置了6个文件,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,hadoop-env.sh,slaves配置core-site.xml
先cd进入etc的hadoop里。
vim命令打开core-site.xml文件
添加如下配置内容:
配置hdfs-site.xml
vim命令打开hdfs-site.xml文件
添加如下配置内容:
配置mapred-site.xml
在目录里木有mapred-site.xml文件,只有mapred-site.xml.template文件,先复制这个文件,并命名为mapred-site.xml,用cp命令复制,代码如下:
vim命令打开mapred-site.xml文件
添加如下配置内容:
配置yarn-site.xml
vim命令打开yarn-site.xml文件
添加如下配置内容:
配置hadoop-env.sh
vim命令打开hadoop-env.sh文件
添加如下配置内容:
配置slaves
vim命令打开slaves文件
修改配置如下:
这个时候Master里的Hadoop内容都配置完成了。
3.5 配置Hadoop集群
直接从Master机器上将JDK,Hadoop,bashrc文件都发送到各个Worker机器上。scp传bashrc文件给3台Worker机器:
scp传hadoop文件夹给3台Worker机器:
scp传JDk文件夹给3台Worker机器:
并用ssh登入其他worker,用source使每台的bashrc文件生效。下面只取Worker1机器的操作。
到这里所以相关配置完成了。
4.运行Hadoop集群
格式化文件系统(必须做):开启dfs文件系统:
用JPS查看当前进行,显示如下则启动成功:
也可以在WEB浏览器等入Master:50070来查看,可以看到我的Live Nodes 显示有3台存在,说明成功了。
也可以在Live Nodes点进去,查看具体信息:
开启yarn资源管理模块:
再用jps来查看,发现多开启了个ResoureManager,说明资源管理模块yarn开启成功。
可以登入到Woker节点,用jps查看,内容如下:
还可以再Master:8088上查看内容:
再这上面就可以开启mapreduce。
5.测试Hadoop集群
在测试中发现我的Mac,跑4台虚拟机,运行hadoop,内存不够。所以测试改为1台master和2台worker。请自行修改slave,hosts 文档。先在hadoop文件系统上创建用户文件夹,如下图中前2行代码。
在本地hadoop目录下创建一个input文件夹,把hadoop目录x下的etc/hadoop目录里所有xml格式结尾的文件都复制到input文件夹。将本地的input文件夹上传到远程hadoop的文件系统上去。(用hadoop的put命令)
可以到master:50070里看下,文件是否上传成功。
运行官方自带的wordcount程序,将input作为输入,将output/wordcount 作为输出地址:
运行完成后,可以看到root用户下多了wordcount的结果:
获取分布式系统上的output文件夹,放到本地hadoop-2.6.2目录下:
进入文件夹内查看结果:
还可以在master:8080里查看job的记录:
XianMing
相关文章推荐
- Docker 学习笔记(二) Docker实战之Registry以及持续集成
- linux下进程通信
- Linux上使用iptables设置防火墙
- 读取命令行参数的getopt()函数
- nginx限制ip地址
- 企业级hadoop-2.7.2集群的实施
- linux下C实现对键盘事件的监听(按下键盘的时候程序立刻读取)
- fopen()函数中参数mode的取值
- linux date命令用法
- googlesamples/android-topeka学习笔记(二)-----圆形Avatar研究
- CentOS 7如何在启动时让网卡连接自动启用
- Android视图架构详解
- shell编程学习1
- linux查找目录下的所有文件中是否含有某个字符串
- Cypress固件架构彻底解析及USB枚举
- 大型网站技术架构 核心原理与案例分析 2016-4-17
- Error running Tomcat8: Address localhost:1099 is already in use
- initrd简介
- hdu 1129 Diophantus of Alexandria
- Xshell 无法连接虚拟机中的ubuntu的问题