热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hadoop(2.x)完全分布式最新高可靠安装文档

Hadoop完全分布式最新高可靠安装文档问题导读:1.如何配置各个节点之间无密码互通?2.启动hadoop,看不到进程的原因是什么&#x
                     Hadoop 完全分布式最新高可靠安装文档  

问题导读:
1.如何配置各个节点之间无密码互通?

2.启动hadoop,看不到进程的原因是什么?
3.配置hadoop的步骤是什么?

4.有哪些配置文件需要修改?
5.如果没有配置文件,该如何找到该配置文件?
6.环境变量配置了,但是不生效的原因是什么?
7.如何查看hadoop2监控页面 

一、使用新建用户可能会遇到的问题

(1)权限问题:对于新手经常使用root,刚开始可以使用,但是如果想真正的学习,必须学会使用其他用户。也就是你需要学会新建用户,但是新建用户,并不是所有人都会的。具体可以参考ubuntu创建新用户并增加管理员权限,这里面使用adduser是最方便的。也就是说你需要通过这里,学会给Linux添加用户,并且赋权,上面那篇文章会对你有所帮助。


(2)使用新建用户,你遇到另外一个问题,就是文件所属权限,因为新建的文件,有的属于root用户,有的属于新建用户,例如下面情况,我们看到mv.sh是属于root用户,大部分属于aboutyun用户。所以当我们两个不同文件不能访问的时候,这个可能是原因之一。也是在这里,当你新建用户的时候,可能会遇到的新问题。





(3)上面我们只是提出了问题,但是根本没有解决方案,这里在提出解决方案,我们如何改变文件所属用户。

比如上图中,mv.sh属于root用户,那么我们怎么让他所属about云用户。可以是下面命令:

sudo chown -R aboutyun:aboutyun mv.sh

解释一下上面命令的含义:

------------------------------------------------------------------------------------------------------------------------------------------------------

1.sudo:如果不是root用户,不带上这个命令会经常遇到麻烦,所以需要养成习惯。至于sudo详细解释可以看下面。

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。


2.chown-》change own的意思。即改变所属文件。对于他不了解的同学,可以查看:让你真正了解chmod和chown命令的用法

3.aboutyun:aboutyun代表aboutyun用户及aboutyun用户组

4.即是被授权的文件

------------------------------------------------------------------------------------------------------------------------------------------------------

上面是针对新手的一个解说,不是必须的,如果对Linux已经很熟悉,可以跳过上面步骤。下面我们开始首先要下载

百度网盘:https://pan.baidu.com/s/1sl8WXBn

 

(下载包为hadoop2.2)

下载完毕,我们就需要解压

tar zxvf hadoop-2.2.0_x64.tar.gz

1、这里我们搭建一个由三台机器组成的集群:

172.16.77.15     aboutyun/123456      master

172.16.77.16     aboutyun/123456      slave1

172.16.77.17     aboutyun/123456      slave1

1.1 上面各列分别为IP、user/passwd、hostname

 

1.2   Hostname可以在/etc/hostname中修改,hostname,hosts的修改详细可以看ubuntu修改hostname

对于三台机器都需要修改:

下面是master的修改:通过命令vi /etc/hosts

然后对你里面的内容修改:
 
下面修改hostname 
  1. vi /etc/hostname


修改为master即可


 

上面hosts基本都一样,只不过hostname有所差别。


 

2、打通master到slave节点的SSH无密码登陆

这里面打通无密码登录,很多新手遇到了问题,这里安装的时候,具体的操作,可以查阅其他资料:

Hadoop伪分布安装过程:Hadoop单机环境搭建指南(ubuntu)

CentOS6.4之图解SSH无验证双向登陆配置

这是个人总结的哦命令,相信对你有所帮助

个人常用知识总结

然后这里在展示一下,authorized_keys是什么样子的:


 

上面的原理,就是我把工钥放到里面,然后本台机器就可以ssh无密码登录了。如果想彼此无密码登录,那么就需要把彼此的工钥(*.pub)放到authorized_keys里面

然后我们进行下面步骤:

3.1 安装ssh

一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安    装:

sudo apt-get install ssh

3.2设置local无密码登陆

 

具体步骤如下:

第一步:产生密钥

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
第二部:导入authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
第二部导入的目的是为了无密码等,这样输入如下命令:
  1. ssh localhost


就可以无密码登录了。
下面展示一下hosts的配置,及无密码登录的效果
locahost的配置
无密码登录效果:

3.3设置远程无密码登陆

 

进入master的.ssh目录

scp authorized_keys aboutyun@slave1:~/.ssh/authorized_keys_from_master

 

进入slave1的.ssh目录

cat authorized_keys_from_master  >>  authorized_keys

 

至此,可以在master上面ssh slave1进行无密码登陆了。

【注意】:以上操作在每台机器上面都要进行。

这里在强调一下原理:

就是把工钥放到里面,然后本台机器就可以ssh无密码登录了。如果想彼此无密码登录,那么就需要把彼此的工钥(*.pub)放到authorized_keys里面


------------------------------------------------------------------------

根据上面的资料相信你能得到互通,这里展现一下效果:



上面是slave1无密码登录master

 



这里是master无密码登录slave1

------------------------------------------------------------------------

 

4、安装jdk

安装JDK还是比较简单的,这里


 

4.1、下载jdk

http://yunpan.cn/QiujtEVgRTJ4S 访问密码 b488


 

4.2、安装jdk(这里以.tar.gz版本,64位系统为例)

jdk的安装可以参考Hadoop伪分布安装过程:Hadoop单机环境搭建指南(ubuntu)

这里直接解压到了/usr/jdk1.7下面:


上面首先第一步:

 

至此,jkd安装完毕,下面配置环境变量

一、PATH配置

这里提供一个简单的方法:

通过下面命令
1.export PATH=$PATH:/usr/java/jdk1.7.0_51/bin



通过cat命令,可以查看

2.为了保证生效执行下面命令

source /etc/environment

 二、CLASSTH配置
上面只是配置了PATH,还需在配置CLASSTH
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
执行配置完毕

如果不起作用,采用通过下面配置:
java.sh配置
因为重启之后,很有会被还原,下面还需要配置java.sh
这里可以通过
cd /etc/profile.d
vi java.sh
把下面两行放到java.sh
export PATH=$PATH:/usr/java/jdk1.7.0_51/bin
export CLASSPATH=.:/usr/java/jdk1.7.0_51/jre/lib
保存。这样就配置完毕了。

 

执行下面命令:source java.sh

现在在执行 java -version就ok了
【注意】每台机器执行相同操作,最后将java安装在相同路径下
 
三、关闭每台机器的防火墙
ufw disable (重启生效)

 

第三部分 Hadoop 2.2安装过程


一、需要注意的问题

hadoop2.2的配置还是比较简单的,但是可能会遇到各种各样的问题。最常讲的就是看不到进程。

看不到进程大致有两个原因:

1.你的配置文件有问题。

对于配置文件,主机名,空格之类的这些都不要带上。仔细检查

2.Linux的权限不正确。

最常出问题的是core-site.xml,与hdfs-site.xml。

core-site.xml

hadoop.tmp.dirfile:/home/aboutyun/tmpAbase forother temporary directories.

说一下上面参数的含义,这里是hadoop的临时文件目录,file的含义是使用本地目录。也就是使用的是Linux的目录,一定确保下面目录

/home/aboutyun/tmp

的权限所属为你创建的用户。并且这里面我也要会变通,aboutyun,为我创建的用户名,如果你创建了zhangsan或则lisi,那么这个目录就会变为

/home/zhangsan/tmp

这里不熟悉,是因为对Linux的不熟悉的原因。这里在来张图:

注意:1和2对比。如果你所创建的tmp属于root,那么你会看不到进程。


hdfs-site.xml

同样也是:要注意下面,你是需要改成自己的用户名的

dfs.namenode.name.dirfile:/home/aboutyun/dfs/namedfs.datanode.data.dirfile:/home/aboutyun/dfs/data

hadoop集群中每个机器上面的配置基本相同,所以我们先在master上面进行配置部署,然后再复制到其他节点。所以这里的安装过程相当于在每台机器上面都要执行。

 

【注意】:master和slaves安装的hadoop路径要完全一样,用户和组也要完全一致

 

1、 解压文件

将第一部分中下载的

tar zxvf hadoop-2.2.0_x64.tar.gz
mv hadoop-2.2.0 hadoop

解压到/usr路径下

并且重命名,效果如下

2、 hadoop配置过程
 
配置之前,需要在master本地文件系统创建以下文件夹:
~/dfs/name
~/dfs/data
~/tmp
这里文件权限:创建完毕,你会看到红线部分,注意所属用户及用户组。如果不再新建的用户组下面,可以使用下面命令来修改:让你真正了解chmod和chown命令的用法
这里要涉及到的配置文件有7个:
~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
~/hadoop-2.2.0/etc/hadoop/slaves
~/hadoop-2.2.0/etc/hadoop/core-site.xml
~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
以上文件默认不存在的,可以复制相应的template文件获得。下面举例:

配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/jdk1.7)
配置文件2:yarn-env.sh
 
修改JAVA_HOME值(export JAVA_HOME=/usr/jdk1.7)
 
配置文件3:slaves (这个文件里面保存所有slave节点)
 
写入以下内容:
 
配置文件4:core-site.xml

fs.defaultFShdfs://master:8020io.file.buffer.size131072hadoop.tmp.dirfile:/home/aboutyun/tmpAbase for other temporary directories.hadoop.proxyuser.aboutyun.hosts*hadoop.proxyuser.aboutyun.groups*

配置文件5:hdfs-site.xml

dfs.namenode.secondary.http-addressmaster:9001dfs.namenode.name.dirfile:/home/aboutyun/dfs/namedfs.datanode.data.dirfile:/home/aboutyun/dfs/datadfs.replication3dfs.webhdfs.enabledtrue

配置文件6:mapred-site.xml

mapreduce.framework.nameyarnmapreduce.jobhistory.addressmaster:10020mapreduce.jobhistory.webapp.addressmaster:19888

配置文件7:yarn-site.xml

yarn.nodemanager.aux-servicesmapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.addressmaster:8032yarn.resourcemanager.scheduler.addressmaster:8030yarn.resourcemanager.resource-tracker.addressmaster:8031yarn.resourcemanager.admin.addressmaster:8033yarn.resourcemanager.webapp.addressmaster:8088

3、复制到其他节点
上面配置完毕,我们基本上完成了90%了剩下就是复制。我们可以把整个hadoop复制过去:使用如下命令:

  1. sudo scp -r /usr/hadoop aboutyun@slave1:~/


这里记得先复制到home/aboutyun下面,然后在转移到/usr下面。

后面我们会经常遇到问题,经常修改配置文件,所以修改完一个配置文件后,其他节点都需要修改,这里附上脚本操作方便:

一、节点之间传递数据:
第一步:vi scp.sh
第二步:把下面内容放到里面(记得修改下面红字部分,改成自己的)
#!/bin/bash
#slave1
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave1:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave1:~/                     
#slave2
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave2:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave2:~/
第三步:保存scp.sh
第四步:bash scp.sh执行
二、移动文件夹:
可以自己写了。


4.配置环境变量

第一步:

  1. vi /etc/environment

 

第二步:添加如下内容:记得如果你的路径改变了,你也许需要做相应的改变。
 




4、启动验证


4.1 启动hadoop

格式化namenode:

hdfs namenode –format

启动hdfs:

start-dfs.sh

此时在master上面运行的进程有:

namenode

secondarynamenode
 

slave节点上面运行的进程有:datanode

 

启动yarn:

start-yarn.sh

我们看到如下效果:

master有如下进程:


slave1有如下进程

此时hadoop集群已全部配置完成!!!

【注意】:而且所有的配置文件节点处不要有空格,否则会报错!

然后我们输入:(这里有的同学没有配置hosts,所以输出master访问不到,如果访问不到输入ip地址即可)

  1. http://master:8088/

 

如何修改hosts:
win7 进入下面路径:


  1. C:\Windows\System32\drivers\etc

 

找打hosts

然后打开,进行如下配置即可看到



看到下图:


到此全部完毕。 


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
mobiledu2502857683
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有