ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hadoop安装-超详细

2021-10-15 12:03:42  阅读:269  来源: 互联网

标签:profile java Hadoop hadoop slave1 详细 slave2 安装


临近毕业,签的公司(国企),和新发offer的公司,都是数据挖掘的岗位,都要求会hadoop、spark等大数据框架,于是自己开始着手学习hadoop,断断续续摸索、看博客等两周时间才搞清楚基本的linux操作(CentOS7),和hadoop的安装。为了写这篇博文,及熟练hadoop分布式的安装,把之前安装好的全部删了,一边安装一边截图写博文。

 

使用到的工具:

CentOS7、VMare12虚拟机、hadoop-2.6.4、SecureCRT(远程连接虚拟机)、WinSCP(实现win7本机和虚拟机安装的CentOS7的文件互传)

SecureCRT,WinSCP我的百度网盘 密码:283b

 

如何在虚拟机中安装CentOS这个教程很多,也比较简单,了解linux,我看了兄弟连2014年的视频 密码:9upy,这套视频也将虚拟机也讲了讲,感觉入门这套视频很合适。

 

安装好一个CentOS之后,是用克隆的方法在之间生产第二个、第三个系统,这是最高效的,还有一个技巧就是在重要安装步骤虚拟机上整个快照,防止安装导致系统出问题,快照可以快速使系统恢复。

 

从这里开始已经安装好了Centos7.

第一步:修改系统名字,及三个系统的ip和名字的映射。(克隆的机子名字是一样的)

修改名字名字和ip的映射

主要是看下面三个

第二步:ping一下,看上面的修改生效没?

第三步:SSH实现三台机子免密码登录。

产生密匙本地免密码登录

将产生的密匙scp传递另外两台机子上,实现master到slave1,slave2的免密码登录。

在slave1和slave2上也产生密匙,也就是在slave1和slave2中执行上面产生密匙那个图中的命令,这样才会产生.ssh的目录,将id_dsa.pub 也写到slave1和slave2中.ssh目录下的authorized文件中。实先master到slave1,slave2的免密码登录。

master到slave1,slave2的免密码登录

第4步:安装jdk,CentOS7上已经有openjdk的java环境了,但是hadoop不能在这个上面安装,需要卸载的,执行下面语句,显示CentOS的所有java组件

需要将其全部删除

删完之后,在执行上两图中的语句,看是否删除干净。

使用WinSCP将jdk上传。开始解压jdk

然后到Centos7 /etc/profile下修改文件配置,使得jdk生效,执行语句 vim /etc/profile

配置结束之后。执行 source /etc/profile 配置文件生效。

显示以上语句说明,java安装成功。

将java传到其他两台机子上去

scp -r java1.8.0_151 root@slave1:/opt/java (我的安装目录)

scp -r java1.8.0_151 root@slave1:/opt/java (java1.8.0_151是解压后的java目录名)

最后将配置文件也传过去,记得在每台传结束之后,还要在slave1及slave2上执行source /etc/profile 使得文件生效。

第五步:安装hadoop和上面相同将hadoop使用WinSCP先上传到master,在master安装hadoop最后将安装好的文件传给其他机子。

接着就是配置hadoop了

配置上图中的两个文件。

core-site.xml

第一个配置决定hadoop的namenode。第二个配置是用于储存hadoop执行过程中的临时文件。

hdfs-sitr.xml

配置每一个文件存储几份,默认的是3,但是我们只安装了2个slave,也就是只能存储2份。

接着就是配置CentOS /etc/profile文件,执行 vim /etc/profile

执行source /etc/profile 上面文件生效。配置 mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>  // 在yarn 上跑mapreduce计算
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address<name>
                <value>node2:50090</value> // 定义 secondaryNameNode 在哪个节点上
        </property>
</configuration>

配置 yarn-site.xml

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value> // 配置 yarn 用于跑什么样的任务
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>node1</value> // 定义resourcemanager 在哪个借点上
        </property>
</configuration>

slaves文件

master 写入配置好的那几个 hostname
node1
node2

 

配置最后一个文件:

hadoop-env.sh.里面有一个JAVA_HOME的路径,将你的java路径写进去,如我的路径是

JAVA_HOME = /opt/java/java1.8.0_151

hadoop安装成功。

将hadoop传到slave1,和slave2两个机器中去。

scp -r hadoop-2.4.6 root@slave1:/usr

scp -r hadoop-2.4.6 root@slave1:/usr

profile配置文件传递

两台机器上分别执行 source /etc/profile

第六步:启动hadoop

先格式化namenode,生成文件,上面已经将hadoop写到了环境变量中,所以一下的命令可以在任何地方执行,只有你输进来QQ靓号买号平台地图hadoop中的前几个字母,然后按下Tab键,如果能够补全说明hadoop的环境配置是正确的,否则不正确或者没有配置,你需要在bin目录下才能执行这句。

初始化的最后如果下式如下,则证明成功

启动hdfs

分别在其他两台机子上执行上图中2的步骤,显示如下:

则正确,这个版本的hadoop找不到master的文件(配置secondary namenode),我试着创建这个文件,可是也没有成功将SNN配置到slave1或者slave2(SNN与Namenode不能在同一台机器,在一起了也不会出错)。

,第一次打开网页时候看见活着的namenode为0,上面显示配置都对,

原因是我防火墙没有关闭

关闭后一切正常

标签:profile,java,Hadoop,hadoop,slave1,详细,slave2,安装
来源: https://www.cnblogs.com/qiucunxin/p/15410421.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有