hadoop2.6虚拟机安装
Linux环境设置
/*安装Hadoop集群时要确保以下几个方面
1.本机与虚拟机之间是否可以通信(Ping)。如果不行检查下面
1.1本机防火墙关闭(开启情况是本机可以ping虚拟机,虚拟机不能ping本机)
1.2虚拟机是克隆的情况(按照Linux文档中,修改ip地址等方法)
1.3虚拟机设置--网卡是否是仅主机模式或者桥接模式:仅主机模式需要检查VMware1网卡设置与虚拟机网卡设置是否匹配。桥接模式是为了让虚拟机可以连接外网,只需要改该虚拟机网卡信息即可(网关)
2.虚拟机与虚拟机之间是否可以通信(Ping)。
*/
//关闭本机网络管理
# /etc/init.d/NetworkManager stop
# chkconfig NetworkManager off
//清空和关闭防火墙
# iptables -F
# chkconfig iptables off
# service iptables save
//更改主机名称
# vi /etc/sysconfig/network
//更改主机与ip映射
# vi /etc/hosts
//安装JDK
# tar -xvf jdk-7u79-linux-x64.tar.gz
# mv jdk1.7.0_79/ jdk
//修改系统环境变量
# vi /etc/profile
export JAVA_HOME=/home/bigdata/jdk/
export HADOOP_HOME=/home/bigdata/hadoop/
export HIVE_HOME=/home/bigdata/hive/
export ZOOKEEPER_HOME=/home/bigdata/zookeeper/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:/home/bigdata/protoc/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:
//使修改后的系统生效
# source /etc/profile
//设置免密码ssh 方式一 选其一
# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
# scp ~/.ssh/authorized_keys slave1:/root/.ssh/
# scp ~/.ssh/authorized_keys slave2:/root/.ssh/
//设置免密码ssh 方式二 选其一
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub master@root
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1@root
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2@root
//设置免密码ssh 方式三 选其一 (推荐)
ssh-keygen -t rsa
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
Hadoop单机安装
单机不需要启动任何服务即可使用,一般只用于调试
# mkdir input
# cp etc/hadoop/*.xml input
# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
# cat output/*
Hadoop集群下的伪分布式的安装
00:0C:29:67:88:5E
//修改core-site.xml文件
#etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/bigdata/tmp</value>
</property>
</configuration>
//修改hdfs-site.xml文件
#etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.block.size</name>
<value>512000</value>
</property>
<property>
<name>dfs.http.address</name>
<value>hadoop02:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop02:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopdata/dfs/data</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
</property>
</configuration>
//格式化文件系统(安装Hadoop后只需执行一次格式化)
bin/hdfs namenode -format
//开启NameNode进程和DataNode进程
sbin/start-dfs.sh
//检查Hadoop进程
#jps
//通过浏览页面查看NameNode和Datanode
http://192.168.10.11:50070/
//创建运行MapReduce job所需的HDFS目录:
#bin/hdfs dfs -mkdir /user
//拷贝输入文件到分布式文件系统(上传)
# bin/hdfs dfs -put etc/hadoop input
//运行一些提供的示例:
#bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /input /output 'dfs[a-z.]+'
//检查输出文件(下载): 从分布式文件系统拷贝输出文件到本地文件系统并检查它们:
# bin/hdfs dfs -get output output
# cat output/*
//在分布式系统上查看输出文件的内容:
# bin/hdfs dfs -cat output/*
//当你完成操作后,使用下列命令关闭进程:
#sbin/stop-dfs.sh
单节点YARN
//编辑mapred-site.xml文件
#etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
//编辑yarn-site.xml文件
#etc/hadoop/
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
//开启ResourceManager进程和NodeManager进程
#sbin/start-yarn.sh
//检查ResourceManager进程和NodeManager进程是否正常运行
#jps
//在页面上浏览ResourceManager
http://192.168.10.11:8088/
//运行一个MapReduce任务
# yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /input /output2 'dfs[a-z.]+'
写出hadoop案例都是干什么用的 作为伪分布式的操作案例
//当你完成操作后,使用下列命令关闭进程:
# sbin/stop-yarn.sh
Hadoop集群下的全分布式的安装
主机名称 IP地址 功能
master 192.168.10.11 NameNode、DataNode
slave1 192.168.10.12 DataNode
slave2 192.168.10.13 DataNode
所有机子都需要配置
1.JDK 2.SSH免登陆 3.Hadoop集群
SSH免登陆
计算机A每次SSH远程连接计算机B时,都需要输入密码。当有些软件需要频繁使用SSH连接其他计算机时,这个时候需要人工填写计算机B的密码,这个会造成大量无用操作,不利于程序的使用。
在为了避免这类问题的发生,而且也要兼顾安全问题(设置SSH免密码登陆后,SSH这台计算就不需要密码即可登陆,存在安全隐患),使用公钥和私钥方式解决SSH免密码登陆问题,而且只在一边做,另一边不做,这样也达到了安全的问题。一般是那台机器需要SSH远程其他机器,就在这台机器上设置SSH免登陆操作。
"公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。
ssh 无密码登录要使用公钥与私钥。linux下可以用ssh-keygen生成公钥/私钥对.
//在master机下生成公钥/私钥对。
# ssh-keygen -t rsa
//追加到key文件当中
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
//将master机子上的key给其他机子上发送一份
# scp ~/.ssh/authorized_keys slave1:/root/.ssh/
# scp ~/.ssh/authorized_keys slave2:/root/.ssh/
Hadoop集群搭建
修改hadoop-env.sh文件
将hadoop-env.sh文件中的
export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME="/home/bigdata/jdk"
修改core-site.xml文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/bigdata/tmp</value>
</property>
修改hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopdata/dfs/data</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///home/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>slave1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
修改mapred-site.xml文件
命令如下:
# mv mapred-site.xml.template mapred-site.xml
#vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
修改yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master </value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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:8031</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>
#vi /etc/hadoop/slaves
将所有需要配置成slave类型的机器的机器名写在其内部即可.
注意:每个机器名占一行。
master
slave1
slave2
启动历史服务:mr-jobhistory-daemon.sh start historyserver
#vi /etc/hadoop/master
**********
Master文件存的是的secondarynamenode列表
slave1
********* 不用
//将配置好的jdk文件夹和Hadoop文件夹发送给slave1和slave2机子
# scp -r jdk/ slave1:/home/bigdata/
# scp -r jdk/ slave2:/home/bigdata/
# scp -r /home/bigdata/hadoop slave1:/home/bigdata/
# scp -r /home/bigdata/hadoop slave2:/home/bigdata/
//启动Hadoop集群
//启动之前先格式化,只需要一次即可
#hadoop namenode -format
//启动namenode、datanode、ResourceManager、NodeManager节点
# start-dfs.sh
# start-yarn.sh
hadoop2.6虚拟机安装的更多相关文章
- Apache Hadoop2.x 边安装边入门
完整PDF版本:<Apache Hadoop2.x边安装边入门> 目录 第一部分:Linux环境安装 第一步.配置Vmware NAT网络 一. Vmware网络模式介绍 二. NAT模式 ...
- Hadoop2.6.0安装 — 集群
文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6034187.html 这里写点 Hadoop2.6.0集群的安装和简单配置,一方面是为自 ...
- Hadoop第3周练习--Hadoop2.X编译安装和实验
作业题目 位系统下进行本地编译的安装方式 选2 (1) 能否给web监控界面加上安全机制,怎样实现?抓图过程 (2)模拟namenode崩溃,例如将name目录的内容全部删除,然后通过secondar ...
- 联想ThinkPad S3-S440虚拟机安装,ubuntu安装,Hadoop(2.7.1)详解及WordCount运行,spark集群搭建
下载ubuntu操作系统版本 ubuntu-14.10-desktop-amd64.iso(64位) 安装过程出现错误: This kernel requires an X86-64 CPU,but ...
- 虚拟机安装CentOS7 Minimal、jdk和hadoop
虚拟机安装CentOS7 Minimal.jdk和hadoop Table of Contents 1. 安装版本 2. PD安装 3. vim安装和配置 4. 主机名变为bogon的解决办法 5. ...
- hadoop2 Ubuntu 下安装部署
搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本.注意每个版本对应两个下载选项 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Linux Hadoop2.7.3 安装(单机模式) 一
Linux Hadoop2.7.3 安装(单机模式) 一 Linux Hadoop2.7.3 安装(单机模式) 二 java环境安装 http://www.cnblogs.com/zeze/p/590 ...
- Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016
Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Att ...
随机推荐
- vue history路由模式 Nginx 生产实践
nginx(带二级目录的配置) location ~* /A { alias /opt/nginx-1.4.7/html/ued/A; try_files $uri $uri /A/s ...
- 关于Type-C扩展坞干扰路由器交换机的解决方案
近期看到网友反馈Type-C扩展坞干扰交换机的问题,具体表现为USB Type-C扩展坞在同时插上网线和PD充电的情况下,引起路由器或交换机死机,导致局域网断开的情况.经实测分析,原因为部分电脑默认设 ...
- nginx里的变量,实现简单过滤。
1,nginx内置变量 nginx 有很多内置变量可以进行简单的过滤. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
- 萌新学渗透系列之Hack The Box_Lame
我将我的walkthrough过程用视频解说的形式记载 视频地址https://www.bilibili.com/video/BV1Mv411z75c 一是因为看我视频的后来者应该都是刚入门的新手,视 ...
- Myeclipse-10.7.1版本破解
自从上次写了IDEA2020版本破解方式,这次写一下Myeclipse10.7.1版本破解 下方链接是IDEA破解教程 点击即可跳转 Myeclipse下载地址这里我上传到了百度网盘 这里提取码 ...
- I Hate It(区间最大问题,线段树)
很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有时 ...
- 性能分析(2)- 应用程序 CPU 使用率过高案例
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 系统架构背景 其中一台用作 Web 服务器,来模拟 ...
- C/C++编程笔记:C语言预处理命令是什么?不要以为你直接写#就行!
很多小伙伴在自己写代码的时候,已经多次使用过#include命令.使用库函数之前,应该用#include引入对应的头文件.其实这种以#号开头的命令称为预处理命令. C语言源文件要经过编译.链接才能生成 ...
- 4.18 省选模拟赛 无聊的计算器 CRT EXBSGS EXLucas
算是一道很毒瘤的题目 考试的时候码+调了3h才搞定. op==1 显然是快速幂. op==2 有些点可以使用BSGS 不过后面的点是EXBSGS. 这个以前学过了 考试的时候还是懵逼.(当时还是看着花 ...
- JS 常用方法汇总(不定期更新)
/** * 获取当前日期 * @returns {string} */ Common.currentDate = function () { // 获取当前日期 var date = new Date ...