[Big Data]hadoop分布式系统在Linux系统安装
待完善
Hadoop2.6.0部署与应用
一、 环境准备
硬件:3台虚拟机
内存:至少512MB
硬盘:至少20G
操作系统:rhel6.4 64位 最小化安装
|
主机名 |
IP(局域网) |
描述 |
|
Master |
192.168.111.5 |
hdfs主节点,yarn主节点 |
|
slaves1 |
192.168.111.6 |
hdfs数据节点,yarn计算节点 |
|
slaves2 |
192.168.111.7 |
hdfs数据节点,yarn计算节点 |
(1) 安装openssh
在每台虚拟机上安装openssh,最小化虚拟机默认没有安装,自行配置yum安装openssh。3台虚拟机之间需要相互ssh登录
[root@master ~]#yum install openssh* -y
(2) 配置主机名和IP
修改主机名,编辑/etc/sysconfig/network文件
[root@master ~]#vi /etc/sysconfig/network
将主节点计算机名改为master
hostname=master
其他2台类推
hostname=slaves1
hostname=slaves2
然后修改3台虚拟机的IP为在同一个网段的静态IP
[root@master ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
内容分别如下
IPADDR=192.168.111.5
IPADDR=192.168.111.6
IPADDR=192.168.111.7
配置hosts文件,方便访问,不用记IP
[root@master ~]# vi /etc/hosts
192.168.111.5 hadoop-master
192.168.111.6 hadoop-slaves1
192.168.111.7 Hadoop-slaves2
然后把/etc/hosts文件分发到其他2台虚拟机上
[root@master ~]# scp /etc/hosts slaves1:/etc/
[root@master ~]# scp /etc/hosts slaves2:/etc/
二、 安装JDK
可以到oracle官网下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz
在每台虚拟机上安装JDK,解压tar.gz包,,把解压的文件夹jdk1.8.0_31移到/usr/java下
[root@master ~]#tar zxvf jdk-8u31-linux-x64.gz
[root@master ~]#mkdir /usr/java
[root@master ~]#mv jdk1.8.0_31 /usr/java
配置环境变量
[root@master ~]#vi /etc/profile
将以下内容添加到/etc/profile的最后面
export JAVA_HOME=/usr/java/jdk1.8.0_31
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
使环境变量生效并验证是否安装成功
[root@master ~]#source /etc/profile
[root@master ~]#java -versison
三、 建立ssh无密登录
3台虚拟机建立专属用户hadoop并为其建立相互信任关系,使其方便自动登录运行命令,密码统一使用hadoop
[root@master ~]#useradd hadoop
[root@master ~]#passwd hadoop
[root@master ~]#su - hadoop
[hadoop@master ~]$Ssh-keygen -t rsa
一直回车就可以生成公钥和私钥,把3台虚拟机的公钥id_rsa.pub文件合并到一个authorized_keys文件上,然后分发到3台虚拟机上,改authorized_keys文件为600权限,使其可以相互登录
在slaves1和slaves2上操作,slaves2对应换编号
[hadoop@slaves1 ~]$cd .ssh
[hadoop@slaves1 ~]$scp id_rsa.pub master:~/.ssh/id_rsa.pub1
在master上操作
[hadoop@master ~]cd .ssh
[hadoop@master ~]cat id_rsa.pub >> authorized_keys
[hadoop@master ~]cat id_rsa.pub1 >> authorized_keys
[hadoop@master ~]cat id_rsa.pub2 >> authorized_keys
[hadoop@master ~]cat authorized_keys #查看是否操作正确
[hadoop@master ~]scp authorized_keys hadoop-master:~/.ssh/
[hadoop@master ~]chmod 600 ~/.ssh/authorized_keys
四、 安装hadoop
在主节点上操作,解压hadoop-2.6.0.tar.gz到hadoop用户家目录,编辑hadoop的配置文件,用hadoop用户操作
Su hadoop
Tar zxvf hadoop-2.6.0.tar.gz
修改hadoop-env.sh和yarn-env.sh文件的JAVA_HOME来指定JDK的路径
vi hadoop-2.6.0/etc/hadoop/hadoop-env.sh
第25行 export JAVA_HOME=/usr/java/jdk1.8.0_31
vi hadoop-2.6.0/etc/hadoop/hadoop-env.sh
第23行 export JAVA_HOME=/usr/java/jdk1.8.0_31
编辑从节点列表文件slaves
vi slaves
指定两台从节点
Hadoop-slvaes1
hadoop-slaves2
编辑core-site.xml,指定主节点的地址和端口
Cd hadoop-2.6.0/etc/hadoop
vi core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>
复制mapred-site.xml.template为mapred-site.xml,指定mapreduce工作方式
cd hadoop-2.6.0/etc/hadoop
vi mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
编辑yarn-site.xml,指定yran的主节点和端口
vi yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> </configuration>
将hadoop-2.6.0文件夹分发到其他2台虚拟机上
Scp -r hadoop-2.6.0 hadoop-slaves1:~
Scp -r hadoop-2.6.0 hadoop-slaves2:~
编辑环境变量
Vi .baserc
HADOOP_HOME=/home/hadoop/hadoop-2.6.0
PATH=$PATH:$HADOOP_HOME/bin
Export HADOOP_HOME PATH
格式化分布式文件系统
Hadoop namenode -fotmat
在主节点启动
hadoop-2.6.0/sbin/start-all.sh
打开浏览器http://192.168.111.5:8088
如果成功应该看到如下效果
打开浏览器http://192.168.111.5:50070
如果成功可以看到如下效果
五、 运行测试
[Big Data]hadoop分布式系统在Linux系统安装的更多相关文章
- hadoop伪分布式环境搭建之linux系统安装教程
本篇文章是接上一篇<超详细hadoop虚拟机安装教程(附图文步骤)>,上一篇有人问怎么没写hadoop安装.在文章开头就已经说明了,hadoop安装会在后面写到,因为整个系列的文章涉及到每 ...
- LNMP平台搭建---Linux系统安装篇
在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...
- 从Linux系统安装到Web应用启动教程
概述 本文讲述web应用服务器安装配置教程,其中包括:Linux系统安装,Mysql数据库安装配置,Redis安装配置,Tomcat安装配置,MongoDB安装配置,Linux JDK安装使用,Ngi ...
- 阿里云服务器Linux系统安装配置ElasticSearch搜索引擎
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- linux系统安装(上)
1.VMware虚拟机的软件应用 www.vmware.com 2.linux系统安装设置(分区为重点) 3.远程登录管理工具介绍centOS5.5 使用虚拟机的优点 1.不用分区 2.可以完成本机与 ...
- 1.Linux系统安装
Linux系统安装系统分区(磁盘分区) 主要管理:文件和目录分类:主分区:最多有4个 扩展分区:1个扩展分区 和主分区最多4个 存放逻辑分区 逻辑分区:存放数据 格式化:高级格式化(逻辑格式化) 写入 ...
- Linux学习心得之 LVM管理与Linux系统安装
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...
- Linux系统安装时分区的选择(推荐)
Linux系统安装时分区的选择(推荐) 出处:http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html 前言: 以前初识Linux时, ...
- Vmware安装与VMware下Linux系统安装
源文件地址:http://www.cnblogs.com/lclq/p/5619271.html 1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32 ...
随机推荐
- 将undefault和null的数据转换成bool类型的数据 使用!!
<script> var o={}; var a=null; console.info(!!o.name); </script> 输出false 此方法是将undefault和 ...
- ref与out之间的区别整理 摘自与望楼http://blog.csdn.net/xiaoning8201/article/details/6893154
ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: .ref ...
- iOS View 模糊效果(毛玻璃)
iOS View 模糊效果(毛玻璃) 相关资料 http://stackoverflow.com/questions/18404907/using-gpuimage-to-recreate-ios ...
- 【转】Git代码行统计命令集
http://blog.csdn.NET/dwarven/article/details/46550117 http://blog.csdn.net/hshl1214/article/details/ ...
- Day03——类、值和对象
1.js数字-NaN和Infinity 1.在js中,有一种特殊的数值,叫做NaN(Not a Number),表示本来要返回数值的操作却未返回数值的情况,例如0除以0的操作,在其它语言中会报错误或异 ...
- UITabBarItem's appearance
1.我们知道,用tabBarController创建出来默认的tabBar似这个样子滴... -----------------我是图片分割线----------------------------- ...
- oracle中的exists 和in
有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...
- 通过js来修改div的style(background,border,。。。。。。。)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- UVA - 10048 Audiophobia (Floyd应用)
题意:求出两点之间所有路径最大权值的最小值. 思路:转变一下Floyd的形式即可: 注意:注意初始化问题,还有UVA奇葩的输出形式. 代码如下: #include<iostream> #i ...
- c++ 中bool 的默认值
比如在Test.h中定义变量: _isFirst; //Test.h头文件 #ifndef __TEST_H__ #define __TEST_H__ class Test{ private: boo ...