Hadoop集群环境安装
转载请标明出处:
http://blog.csdn.net/zwto1/article/details/45647643;
本文出自:【zhang_way的博客专栏】
工具:
虚拟机virtualbox. JDK hadoop1.1.2
Hadoop集群环境的搭建:
说明:在hadoop伪分布式基础上进行安装集群环境
分布结构:
主节点(1个,是hadoop):NameNode、JobTracker、SecondNameNode
从节点(2个,是hadoop1、hadoop2):DataNode、Tasktracker
Virtuabox里复制出两个节点,作为从节点。改ip.
192.168.56.100
以下命令来使设置生效。
service network restart
注意:当上述命令输入之后,出现了问题,这是delete掉以前的网络连接,重启系统,在自动生成的网络连接里改IP。
改主机名:
vi /etc/sysconfig/network
将HOSTNAME改为hadoop1 ,重启使主机名生效。
如果改主节点的主机名后,要再改:
vi /etc/hosts # 将主机名改掉。这里是DNS映射
Hadoop 里的配置也要改关于主机的部分:
cd /usr/local/Hadoop/conf vi core-site.xml vi mapred-site.xml
另个节点相同操作,对网络进行配置。
把复制的两个节点ssh配置删了。
cd /root/.ssh ls rm–rf *
把/usr/local 下的东西全部删了
cd/usr/local ls rm–rf *
把以前配置的环境变量内容也删了
vi /etc/profile
另个节点相同操作,直接如下操作:
rm -rf/root/.ssh/* rm -rf/usr/local/* vi/etc/profile
各节点重新产生ssh加密文件:
ssh-keygen –t rsa [root@hadoop1local]# cd /root/.ssh [root@hadoop1.ssh]# cat id_rsa.pub >> authorized_keys [root@hadoop1.ssh]# ssh localhost Theauthenticity of host 'localhost (::1)' can't be established. RSA keyfingerprint is 2a:35:90:55:ab:b0:74:3c:e4:8a:fc:16:ad:c9:28:21. Are yousure you want to continue connecting (yes/no)? yes Warning:Permanently added 'localhost' (RSA) to the list of known hosts. Lastlogin: Sun May 10 15:05:52 2015 from 192.168.56.1 [root@hadoop1~]#exit
编辑各个节点的/etc/hosts,在该文件中含有所有节点的ip与hostname的映射信息
查看是否ssh可以解析本主机名
不能解析要去/etc/hosts 里进行配置 例如:
192.168.56.101 hadoop1
另一节点是相同配置的
如果改了主节点的主机名的话,也要重新产生ssh机密文件,跟以上的操作是一样的。
各主机要相互访问,ping通。要对hosts 文件进行配置
在hosts文件里加入相应ip 和主机名,例如在主机hadoop里加入
192.168.56.101 hadoop1
192.168.56.102 hadoop2
其他两个节点相同做法。这里有个问题如果是100台机器这样操作不累死了?解决办法:
把一台配置好的,我们可以直接把它复制到另两个节点上。这里涉及ssh的免密码登陆。
两两节点之间的SSH免密码登陆
把hadoop的公钥复制到hadoop1上;
ssh-copy-id -i hadoop1
测试是否可以免密码登陆;
ssh hadoop1
再把hadoop2的公钥复制到hadoop1上;
ssh-copy-id -i hadoop1
测试是否可以免密码登陆;
ssh hadoop2
hadoop和hadoop2节点应该有相同的配置。为了方便,如下操作:
在hadoop1下 :
[root@hadoop1.ssh]# scp /root/.ssh/authorized_keys hadoop:/root/.ssh/ root@hadoop'spassword: authorized_keys 100% 1181 1.2KB/s 00:00
在hadoop里测试看是否复制过去了
more /root/.ssh/authorized_keys
同理复制给hadoop2
把hadoop的hadoop目录下的logs和tmp删除
[root@hadooplocal]# cd hadoop [root@hadoophadoop]# ls bin hadoop-ant-1.1.2.jar ivy README.txt build.xml hadoop-client-1.1.2.jar ivy.xml sbin c++ hadoop-core-1.1.2.jar lib share CHANGES.txt hadoop-examples-1.1.2.jar libexec src conf hadoop-minicluster-1.1.2.jar LICENSE.txt tmp contrib hadoop-test-1.1.2.jar logs webapps docs hadoop-tools-1.1.2.jar NOTICE.txt [root@hadoophadoop]# rm -rf logs/ [root@hadoophadoop]# rm -rf tmp/
把hadoop中的jdk、hadoop文件夹复制到hadoop1和hadoop2节点
scp –r /usr/local/jdk Hadoop1:/usr/local/ scp –r /usr/local/hadoop Hadoop1:/usr/local/ scp –r /usr/local/jdk Hadoop2:/usr/local/ scp –r /usr/local/hadoop Hadoop2:/usr/local/
把hadoop的/etc/profile复制到hadoop1和hadoop2节点,在目标节点中执行source /etc/profile
[root@hadooplocal]# scp /etc/profile hadoop1:/etc/ profile 100% 1986 1.9KB/s 00:00 [root@hadoop1local]# source /etc/profile [root@hadooplocal]# scp /etc/profile hadoop2:/etc/ profile 100% 1986 1.9KB/s 00:00 [root@hadoop2~]# source /etc/profile
编辑hadoop的配置文件slaves,改为从节点的hostname,分别是hadoop1和hadoop2
[root@hadooplocal]# cd hadoop/conf [root@hadoopconf]# vi slaves
格式化
在hadoop节点执行:
hadoop namenode –format
启动
在hadoop节点执行start-all.sh
浏览器查看启动成功后的界面:
注:对于配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容。
如何将SecondaryNameNode 和NameNode分布在不同的节点上?
在hadoop 节点下,修改masters内容
[root@hadoopconf]# vi masters
比如将里面的localhost改为Hadoop1
效果如下:
Hadoop:
[root@hadoopconf]# jps
7008JobTracker
6836NameNode
7105 Jps
Hadoop1:
[root@hadoop1local]# jps
6315DataNode
6470TaskTracker
6561 Jps
6384SecondaryNameNode
动态的增加一个hadoop节点
1) 配置新节点的环境
2) 把新节点的hostname配置到主节点的slaves文件中
3) 在新节点,启动进程
hadoop-daemon.sh start datanode hadoop-daemon.sh start tasktracker
4)在主节点执行脚本
hadoop dfsadmin -refresh Nodes
动态的下架一个hadoop节点
模拟:
[root@hadoopconf]# jps 7008JobTracker 7203DataNode 7284TaskTracker 6836NameNode 7401 Jps [root@hadoopconf]# kill -9 7203
在浏览器界面会看到hadoop的lastcontact值会变大,启动datanode它会向namenode汇报,如果联系不上,值就会变大,该值为本次汇报的时间 –上次联系的时间。
安全模式
安全模式下 不可以增删改,但可以查看
如下方式可以查看是否在安全模式下
[root@hadoopconf]# hadoop dfsadmin -safemode get Safe modeis OFF
如何进入进入安全模式如下:
[root@hadoopconf]# hadoop dfsadmin -safemode enter Safe modeis ON [root@hadoopconf]# hadoop dfsadmin -safemode get Safe modeis ON
离开安全模式:
[root@hadoopconf]# hadoop dfsadmin -safemode leave Safe modeis OFF [root@hadoopconf]# hadoop dfsadmin -safemode get Safe modeis OFF
hadoop 伪分布模式搭建(上) http://blog.csdn.net/zwto1/article/details/44002083
hadoop伪分布模式搭建(下) http://blog.csdn.net/zwto1/article/details/44020263
Hadoop集群环境安装的更多相关文章
- hadoop集群环境搭建之zookeeper集群的安装部署
关于hadoop集群搭建有一些准备工作要做,具体请参照hadoop集群环境搭建准备工作 (我成功的按照这个步骤部署成功了,经实际验证,该方法可行) 一.安装zookeeper 1 将zookeeper ...
- hadoop集群环境搭建之安装配置hadoop集群
在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/ (如果没有这个目录 ...
- CentOS7 安装Hadoop集群环境
先按照上一篇安装与配置好CentOS以及zookeeper http://www.cnblogs.com/dopeter/p/4609276.html 本章介绍在CentOS搭建Hadoop集群环境 ...
- Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...
- Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
- hadoop集群环境的搭建
hadoop集群环境的搭建 今天终于把hadoop集群环境给搭建起来了,能够运行单词统计的示例程序了. 集群信息如下: 主机名 Hadoop角色 Hadoop jps命令结果 Hadoop用户 Had ...
- Hadoop集群环境搭建步骤说明
Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环境搭建的博文教程也蛮多的.对于玩hadoop的高手来说肯定没有什么问题,甚至可以说事“ ...
- 简单Hadoop集群环境搭建
最近大数据课程需要我们熟悉分布式环境,每组分配了四台服务器,正好熟悉一下hadoop相关的操作. 注:以下带有(master)字样为只需在master机器进行,(ALL)则表示需要在所有master和 ...
随机推荐
- 真实场景的双目立体匹配(stereo matching)以及虚拟视点合成(virtual view synthsis)示例
双目立体匹配一直是双目视觉的研究热点,双目相机拍摄同一场景的左.右两幅视点图像,运用立体匹配匹配算法获取视差图,进而获取深度图.而深度图的应用范围非常广泛,由于其能够记录场景中物体距离摄像机的距离,可 ...
- 了解一下Http常见状态码、Http协议的工作特点和原理、Http请求Post与Get的区别
HTTP协议常见状态码状态码的作用负责标记客户端请求服务器的返回结果,标记服务器端的处理是否正常,通知出现的错误等等职责,借助客户端可以知道客户端是否正常请求服务端.五大类:1XX(信息类状态码,接收 ...
- react+react-router+react-redux+nodejs+mongodb项目
一个实际项目(OA系统)中的部分功能.这个demo中引入了数据库,数据库使用了mongodb.安装mongodb才能运行完整的功能.要看完整的项目可以移步我的github 技术栈 React v15. ...
- Spring data mongodb ObjectId ,根据id日期条件查询,省略@CreatedDate注解
先看看ObjectId 的json 结构,非常丰富,这里有唯一机器码,日期,时间戳等等,所以强烈建议ID 使用 ObjectId 类型,并且自带索引 Spring data mongodb 注解 @C ...
- 记录 serverSocket socket 输入,输出流,关闭顺序,阻塞,PrintWriter的一些问题.
关于socket.getOutputStream() 的一些问题, OutputStream的flush是一个空方法,所以需要另一个实现了Flush的流来包装一下 这里为什么使用PrintWriter ...
- Mybatis的基本使用
.什么是Mybatis? Mybatis:根据官方解释,MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及 ...
- Luogu P1078 文化之旅
题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...
- Storm+HBase实时实践
1.HBase Increment计数器 hbase counter的原理: read+count+write,正好完成,就是讲key的value读出,若存在,则完成累加,再写入,若不存在,则按&qu ...
- GAN︱GAN 在 NLP 中的尝试、困境、经验
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...
- java中equals和==以及toString
我们通常在控制台输出时使用System.out.print(),print只能直接输出基本类型和字符串,对于其他的类型直接输出将会输出@开头的引用,因此若需要输出对应的内容则需要使用toSring方法 ...