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

Centos7环境搭建hadoop2.9.0集群全流程

1.安装环境配置1.1虚拟机安装本案例是在虚拟机平台搭建hadoop,由于笔记本限制仅以2台设备构建内部局域网环境下的集群。虚拟机版本:VMwareWorkstation_1

 

1.安装环境配置

1.1 虚拟机安装

本案例是在虚拟机平台搭建hadoop,由于笔记本限制仅以2台设备构建内部局域网环境下的集群。

虚拟机版本:VMwareWorkstation_10.04_Lite_CHS_V2

系统:CentOS-7-x86_64

安装2台虚拟机(本来准备装3台,但太卡了所以最后只保留了hserver1,hserver3)


1.2 虚拟机设置固定IP

虚拟机每次启动后,一般IP地址是通过DHCP随机分配的,为了方便以后的设备访问这里需要对每台机器手动配置固定IP。

(1)进入:编辑—>虚拟网络编辑器,在VMnet8的配置中取消勾选使用本地DHCP服务。

(2)登陆centOS7系统,在设置中找到network connections。在wired connection中添加IPV4 Settings:

这里地址的192.168.67.XX与上面子网IP相同,XX自己定义。网关掩码也与上面子网掩码相同。DNS服务器一般都是192.168.XX.2,可以在/etc/resolv.conf中name server找到对应。

设置好后可以重启系统,再通过ifconfig查看:

 

同样方法配置hserver3固定IP,最后结果如下:

hserver1 192.168.67.128
hserver3 192.168.67.132
2. 配置机器名称

2.1 修改机器名称

为了方便后续操作,需要hserver1和hserver3机器名称修改。

以hserver1机器为例:从root账户登录,输入host命令可以查看机器名称,系统默认为localhost.localdomain。执行:

[root@hserver1 ~]#host hserver1

该指令只能暂时修改机器名,重启后还是会恢复默认。永久修改机器名应当采用hostnamectl,执行:

[root@hserver1 ~]# hostnamectl set-hostname  hserver1

同样方法修改hserver3机器名。

2.2 修改hosts文件

分别在2机器上通过 vim/etc/hosts打开hosts文件,添加:

保存后退出。此时hserver1与hserver3应该能ping通。执行:

[root@hserver1 ~]# ping hserver3 

 3. 实现ssh远程登录

3.1 每个机器生成秘钥文件

在hserver1上生成秘钥文件,执行:

[root@hserver1 ~]# ssh-keygen -t  rsa  -P  ''


这里因为是在已有秘钥基础上重新演示,所以会提示overwrite,正常情况不会出现。执行后可以查看到秘钥文件存放在/root/.ssh/id_rsa.pub。

同样方法在hserver3生成秘钥文件。

3.2 组成公钥文件

首先查看hserver1上的密钥内容,执行:

 [root@hserver1 ~]# vim /root/.ssh/id_rsa.pub

同样在hserver3执行后看到如下内容:

之后在herver1本地新建authorized_keys文件,将上面2份秘钥内容放进去。执行:

[root@hserver1 ~]# vim /root/.ssh/authorized_keys

然后将authorized_keys复制到herver3同名目录位置。在VM虚拟机可以先将该文件复制出来到本地电脑,在从本地电脑复制到hserver3文件夹内。

3.3 测试ssh远程登录

在hserver1机器上执行:

[root@hserver1 ~]# ssh hserver3

这里需要输入hserver3的root账号密码,之后就可以远程登录hserver3了。退出执行:exit

同样在hserver3也可以远程登录hserver1:

4. 安装JDK

    安装的centos7自带java组件,但功能不全,后续运行hadoop会出错。因此需要在herver1和hserver3分别重新安装JDK组件。    

4.1 卸载系统自带JDK

首先查询系统自带的JDK,执行:

[root@hserver1 java]# rpm -qa|grep java

可以看到有以下文件:


其中标红的文件需要卸载。

执行以下4条指令完成卸载:

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodepsjava-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodepsjava-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
rpm -e --nodepsjava-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64 

4.2 下载JDK

下载支持linux64位的JDK,网址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

我下载的版本是jdk-8u151-linux-x64.tar.gz。

4.3 安装JDK

新建目录/opt/java,将下载好的安装包放进去。通过指令进入/opt/java文件夹,执行:

[root@hserver1~]# cd /opt/java

之后在当前文件夹解压安装包,执行:

[root@hserver1java]# tar  -xvf  jdk-8u151-linux-x64.tar.gz

解压成功后目标文件夹内会多出一个文件夹:

解压完成后原安装包就没用了,记得删除节省空间。

4.4 配置环境变量

打开配置文件,执行:

[root@hserver1java]# vim /etc/profile

在文件最后添加以下变量:

exportJAVA_HOME=/opt/java/jdk1.8.0_151

exportJRE_HOME=$JRE_HOME/jre

exportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

注意:其中JAVA_HOME对应的是你安装的JDK版本及路径。

保存文件之后记得执行以下指令让其生效:

[root@hserver1java]#source /etc/profile

现在可以检测下环境变量是否添加成功。执行:echo $ JAVA_HOME

环境变量添加成功后可以测试JDK是否可用了。执行javac后出现以下信息说明安装成功:

 

5. 安装hadoop

以下安装步骤在hserver1和hserver3都需要做一遍。

5.1 创建文件夹

/root/hadoop
/root/hadoop/tmp
/root/hadoop/var
/root/hadoop/dfs
/root/hadoop/dfs/name
/root/hadoop/dfs/data

5.2 下载hadoop2.9.0及解压

下载hadoop-2.9.0.tar.gz,网址:

http://hadoop.apache.org/releases.html

将文件放在/root/hadoop文件夹内。

进入文件夹,执行:

[root@hserver1 java]#cd  /root/hadoop

解压文件到当前目录下,执行:

[root@hserver1 hadoop]# tar  –xvf  hadoop-2.9.0.tar.gz

解压完成后删除原安装包。

5.3 修改配置文件

5.3.1 修改hadoop-env.sh

打开文件:vim /opt/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh

将export  JAVA_HOME=${JAVA_HOME}

修改为export  JAVA_HOME=/opt/java/jdk1.8.0_151

将 export  HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

修改为export  HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.9.0/etc/hadoop

然后使环境变量生效,执行:

source  /opt/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh

5.3.2 修改slaves文件

打开文件:vim /opt/hadoop/hadoop-2.9.0/etc/hadoop/slaves
将里面的localhost删除,添加hserver3。
注:hsever3机器配置时也是添加hserver3,这里是定义从机名称。

5.3.3 修改core-site.xml文件

打开文件:vim /opt/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml
之间添加配置参数如下:


hadoop.tmp.dir
/root/hadoop/tmp


fs.default.name
hdfs://hserver1:9000

5.3.4 修改hdfs-site.xml文件

打开文件:vim  /opt/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml

之间添加配置参数如下:


dfs.name.dir
/root/hadoop/dfs/name


dfs.data.dir
/root/hadoop/dfs/data


dfs.replication
1

5.3.5 新建及修改mapred-site.xml文件

在/opt/hadoop/hadoop-2.9.0/etc/hadoop/中没有mapred-site.xml文件,但可以通过复制mapred-site.xml. template文件重命名为mapred-site.xml,再进行修改。在之间添加配置参数如下:


mapred.job.tracker
hserver1:49001


mapred.local.dir
/root/hadoop/var


mapreduce.framework.name
yarn

5.3.6 修改yarn-site.xml文件

打开文件:vim  /opt/hadoop/hadoop-2.9.0/etc/hadoop/yarn-site.xml

之间添加配置参数如下:


yarn.resourcemanager.hostname
hserver1


yarn.resourcemanager.address
${yarn.resourcemanager.hostname}:8032


yarn.resourcemanager.scheduler.address
${yarn.resourcemanager.hostname}:8030


yarn.resourcemanager.webapp.address
${yarn.resourcemanager.hostname}:8088


yarn.resourcemanager.webapp.https.address
${yarn.resourcemanager.hostname}:8090


yarn.resourcemanager.resource-tracker.address
${yarn.resourcemanager.hostname}:8031


yarn.resourcemanager.admin.address
${yarn.resourcemanager.hostname}:8033


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.scheduler.maximum-allocation-mb
1024


yarn.nodemanager.vmem-pmem-ratio
2.1


yarn.nodemanager.resource.memory-mb
1024


yarn.nodemanager.vmem-check-enabled
false
 

6. 启动hadoop

现在hserver1是namenode,hserver3是datanode,只需要在hserver1上进行初始化及启动操作。

6.1 格式化namenode

首先进入namenode格式化命令所在目录:

[root@hserver1 hadoop]#cd  /opt/hadoop/hadoop-2.9.0/bin

然后执行namenode格式化命令:

[root@hserver1bin]# ./hadoop namenode –format

跳出如下信息说明初始化成功:



6.2 启动hfs和yarn

进入到启动命令文件夹:

[root@hserver1bin]# cd   /opt/hadoop/hadoop-2.9.0/sbin

启动dfs和yarn:

[root@hserver1bin]#./start-all.sh

启动成功后会看到以下信息:

输入jps可以看到如下信息:

6.3 访问网页

首先关闭防火墙:

[root@hserver1sbin]# systemctl stop firewalld

接下来访问hadoop管理首页,hserver1的IP是192.168.67.128,因此访问:

http://192.168.67.128:50070

 

参考文献

http://blog.csdn.net/pucao_cug/article/details/71698903#reply

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


推荐阅读
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • charles3.11.1抓https包
    结论先行:用的是安卓测试机,没加固之前的生产环境的安装包,可以抓到https请求加固之后的包【也就是要上应用市场的包】,抓不到https请求电脑上的操作:1.安装证书【电脑上安装了 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 1.{#if}{#if|COND|}..{#elseif|COND|}..{#else}..{#if}Examples:{#if2*816}good{#else}fa ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
author-avatar
mobiledu2502862267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有