Hadoop,master和slave简单的分布式搭建
搭建过程中配置免密钥登录为了以后方便使用
【提醒】安装Hadoop中会遇到新建文件夹,配置路径等问题,这个不能生搬硬套,要使用自己配置的路径,灵活使用。
Hadoop的部署配置文件在http://blog.csdn.net/beeman_xia/article/details/53391479
当初我练习这个不下十遍,熟能生巧,各位加油!
1新建master和slave两台虚拟机
2测试能否上网(浏览器登录)
3修改主机名,原始名都为localhost,为了方便区分,改名为master和slave
命令:vim /etc/sysconfig/network ,将第二行等号后面改为主机名
4查看ip地址,用命令ifconfig,如果没有则执行 ifconfig eth1 ip 自己设置ip,机子上的是eth0或者是eth1,不知道的话执行 cat /etc/sysconfig/network-scripts/ifcfg-eth1,执行不了就换成eth0.//用Tab键自动补齐也会显示自己的网卡
5修改hosts文件。执行vim /etc/hosts,在后面添加两行,格式:ip master 例如第一行192.168.5.123 master,第二行192.168.5.134 slave,如果有多台主机就继续写,ip是自己设的
6做好上述工作就可以检验是否配置好了,我们用命令ping 来检验,在master端执行ping slave ,在slave端执行ping master ,都能通就ok了。
【注】:前几步在两台机子上都要执行,不然怎么Ping?
接下来我们开始安装JDK也是两台机子都要做的
1将JDK解压,放到/usr/java目录下,我用的是JDK1.7版本的,解压的操作是 tar -zxvf jdk***
【注】,在普通用户下会遇到不能建立目录的情况,su到root用户下,然后在/usr下建立Java/目录,再修改目录的权限:chown xia:xia /usr/java,把属主和属组改成普通用户。
2配置环境变量。在家目录(xia@master~)下执行vim .bash_profile ,在后面添加两行,第一行:export JAVA_HOME=/usr/java/jdk**.第二行:export PATH=$JAVA_HOME/bin:$PATH,保存退出,执行source .bash_profile,然后测试JDK是否安装成功,执行Java -version,安装成功会有提示
接下来是免密钥登录
1在master端产生密钥,执行ssh-keygen -t rsa,然后一路回车!如果装过一次没成功有一步要输入yes。
2把密钥写进authorized_keys,执行cat .ssh/id_rsa.pub >>.ssh/authorized_keys
3修改authorized_keys的权限,执行chmod 600 .ssh/authorized_keys
4把authorized 复制到slave节点,执行scp .ssh/authorized_keys xia@slave:~/ 如果有提示输入yes/no,输入yes
6把复制过来的文件移动到.ssh目录下。执行mv quthorized_keys ~/.ssh/
7修改quthorized_keys文件的权限(第一次是在master中修改的),执行chmod 600 authorized_keys
8验证面密钥登录:直接在master执行 ssh slave。
可能还不会生效,执行ssh-add命令。
然后进行Hadoop配置部署,一共要配置7个文件
1在普通用户下,进入安装包的路径(建议放在用户目录下)
2解压Hadoop安装包:tar -zxvf ~/hadoop-2.5.2**
3进入解压后的目录 cd ~/hadoop-2.5.2
4执行ls -l 命令,看到/bin,/etc/...说明解压成功,进入配置文件目录:cd hadoop-2.5.2/etc/hadoop,hadoop的配置文件就在这里面
5配置hadoop-env.sh环境,找到export JAVA_HOME=${JAVA_HOME}; 把jdk的路径写在这里,我的是export JAVA_HOME=/usr/java/jdk1.7.0_71/
6千万不要写错,然后保存退出
7配置yarn-env.sh环境,和上一步一样,只要配置jdk路径就行了,这里注释了一行,找到后去掉注释然后修改路径,保存退出
8配置核心组件core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml。//文件放到另外的文章中,开头有地址
9配置slaves文件:在master中执行:vim hadoop-2.5.2/etc/hadoop/slaves,用slave代替里面的内容即可
10在slave也要配置这些,我们在这里直接远程复制,执行scp -r hadoop-2.5.2 xia@slave:~/,之前设置了免密钥登录,直接复制
配置hadoop启动系统环境变量
1在master中,执行vim .bash_profile,这个文件也是配置jdk的文件
2在后面加上两行,第一行:export HADOOP_HOME=/home/zkpk/hadoop-2.5.2
(要写自己Hadoop的路径)第二行:export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/shin:$PATH
3执行source.bash_profile,使文件生效
4 在用户目录下创建数据目录:mkdir hadoopdata //配置文件里面有配置目录名称,我设置的是hadoopdata
5格式化文件系统,这个操作在master上执行:hdfs namenode -format
6启动Hadoop 执行start-all.sh(停止是stop-all.sh)
7启动成功输入jps,master会显示4个进程,slave有3个进程
8启动虚拟机的浏览器,输入http://master:50070/检查namenode和datanode是否正常
输入http://master:18088/检查yarn是否成功
Hadoop,master和slave简单的分布式搭建的更多相关文章
- 2.hadoop基本配置,本地模式,伪分布式搭建
2. Hadoop三种集群方式 1. 三种集群方式 本地模式 hdfs dfs -ls / 不需要启动任何进程 伪分布式 所有进程跑在一个机器上 完全分布式 每个机器运行不同的进程 2. 服务器基本配 ...
- Hadoop 笔记1 (原理和HDFS分布式搭建)
1. hadoop 是什么 以及解决的问题 (自行百度) 2.基本概念的讲解 1. NodeName master 节点(NN) 主节点 保存了metaData(元数据信息) 包括文件的owener ...
- Hadoop完全分布式搭建过程中遇到的问题小结
前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...
- hadoop分布式搭建
1.新建三台机器,分别为: hadoop分布式搭建至少需要三台机器: master extension1 extension2 本文利用在VMware Workstation下安装Linux cent ...
- hadoop 伪分布式搭建
下载hadoop1.0.4版本,和jdk1.6版本或更高版本:1. 安装JDK,安装目录大家可以自定义,下面是我的安装目录: /usr/jdk1.6.0_22 配置环境变量: [root@hadoop ...
- hadoop完全分布式搭建HA(高可用)
2018年03月25日 16:25:26 D调的Stanley 阅读数:2725 标签: hadoop HAssh免密登录hdfs HA配置hadoop完全分布式搭建zookeeper 配置 更多 个 ...
- 超详细解说Hadoop伪分布式搭建--实战验证【转】
超详细解说Hadoop伪分布式搭建 原文http://www.tuicool.com/articles/NBvMv2原原文 http://wojiaobaoshanyinong.iteye.com/b ...
- Hadoop完全分布式搭建
---记于2015年11月6日星期五 准备工作 软硬件环境 主机操作系统:处理器:i5,主频:3.2G,内存:8G,Windows64 虚拟机软件:VMware Workstation 10 虚拟操作 ...
- Hadoop简介与伪分布式搭建—DAY01
一. Hadoop的一些相关概念及思想 1.hadoop的核心组成: (1)hdfs分布式文件系统 (2)mapreduce 分布式批处理运算框架 (3)yarn 分布式资源调度系统 2.hadoo ...
随机推荐
- 前后端分离,接口API,契约
前后端分离了,然后呢? http://icodeit.org/2015/06/whats-next-after-separate-frontend-and-backend/ Swagger - 前后端 ...
- mybatis typehandler
建立TypeHandler 我们知道java有java的数据类型,数据库有数据库的数据类型,那么我们在往数据库中插入数据的时候是如何把java类型当做数据库类型插入数据库,在从数据库读取数据的时候又是 ...
- 通过SQL脚本导入数据到不同数据库避免重复导入三种方式
前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题 ...
- MongoDB的全文检索(Text Search)功能
自己的项目中用到了mongodb,需要做一个搜索功能,刚开始不知道怎么搞,查了mongodb有个全文检索功能. 全文检索分为两步 第一,建立索引 db.stores.createIndex( { na ...
- Hive导出复杂数据到csv文件
工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...
- Elixir游戏服设计四
上章说到我们要引入syn https://github.com/ostinelli/syn/ 看过文档,它并没有直接提供{via, Module, Name} 相关的方法.我们需要封装一下. Name ...
- EXISTS/NOT EXISTS CASE WHEN等使用方法
--简单判断用法 WHERE EXISTS (SELECT * FROM cpay..System_Setting) --可以替换count ) FROM cpay..System_Setting U ...
- EsRejectedExecutionException排错与线程池类型
1.EsRejectedExecutionException异常示例 java.util.concurrent.ExecutionException: RemoteTransportException ...
- 发布系统Git使用指南 - the Git Way to Use Git
发布系统Git使用指南 --the Git Way to Use Git 背景 有文章曾归纳,Git是一套内容寻址文件系统,意思是,Git的核心是存储键值对^[1]^.显然,这样的形式不利于普通人 ...
- iOS自动化环境搭建——macaca
macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...