前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在centos7上进行hadoop-3.1.2的伪分布搭建

在centos7上进行hadoop-3.1.2的伪分布搭建

作者头像
孙晨c
发布2019-12-10 16:47:49
4930
发布2019-12-10 16:47:49
举报
文章被收录于专栏:无题~无题~

第一步:配置网络(静态IP)

vi /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称可能不同)

1. 修改:

将该配置文件中的ONBOOT=no修改为yes(网络开机自启)

将BOOTPROTO=dhcp修改为static(将ip设置为静态ip)

2. 为了能够通过外部访问到虚拟机,增加:

IPADDR=192.168.154.110(110是自己设置的,154是VMnet8的NAT网段)

NETMASK=255.255.255.0(子网掩码都为这个)

GATEWAY=192.168.154.2(网关跟VMnet8的NAT的网关一样)

DNS1=192.168.154.2(还可以设置成8.8.8.8,114.114.114.114)

3. 重新启动网络:

代码语言:javascript
复制
service network restart

代码语言:javascript
复制
systemctl network restart

注:如果不用xshell则跳过这一步,但IP地址还是要查到

代码语言:javascript
复制
ifconfig

若没有这命令:

代码语言:javascript
复制
sudo yum  install net-tools

若查不到就老老实实配静态IP

第二步:配置主机名和ip地址的映射关系

  1. 设置主机名:vi /etc/sysconfig/network
代码语言:javascript
复制
NETWORKING=yes
代码语言:javascript
复制
HOSTNAME= (自定义一个主机名)例如:hadoop
代码语言:javascript
复制
保存退出

2. 将主机名ip地址进行映射 vi /etc/hosts

例如:

代码语言:javascript
复制
192.168.154.110 hadoop

保存退出,执行下面命令刷新,配置即可生效。

代码语言:javascript
复制
hostname hadoop

第三步:配置ssh免密登录

1. 进入用户的家目录下的.ssh隐藏目录:

代码语言:javascript
复制
cd .ssh/

2. 在该目录下,输入:

代码语言:javascript
复制
ssh-keygen -t rsa  

一直回车即可。此时会生成一个RSA 2048文件,生成了一对公钥,一对私钥。

输入ls 查看生成的私钥和公钥。如果想要查看生成的一对秘钥,可以使用 more 秘钥名即可

代码语言:javascript
复制
查看公钥: more id_rsa.pub
代码语言:javascript
复制
查看私钥: more id_rsa

3. 进入到hadoop的根目录,执行以下命令:把公钥拷贝到使用ssh的当前机器上

代码语言:javascript
复制
ssh-cp-id localhost(是你的主机名)

代码语言:javascript
复制
ssh-copy-id localhost(是你的主机名)

输入一次密码(登录linux系统的密码),待拷贝完成。

验证是否免密成功:

代码语言:javascript
复制
ssh 主机名

若不用输入密码即可登陆就成功了

第四步:关闭防火墙状态

在linux centos7版本中,使用的防火墙不是iptables(linux centos6中使用的防火墙),而是firewall,所有以下操作中要使用firewall的相关指令。

1.查看防火墙状态:

代码语言:javascript
复制
systemctl status firewalld

若显示Active: active (running),则表示防火墙已开启。

另外一种查看方式:

代码语言:javascript
复制
firewall-cmd  --state

若结果为running,表示防火墙已开启。

2. 关闭防火墙:

代码语言:javascript
复制
systemctl stop firewalld.service

3. 再次查看防火墙状态:

代码语言:javascript
复制
systemctl status firewalld

若显示Active: active (dead),则表示防火墙已关闭。

另外一种查看方式:

代码语言:javascript
复制
firewall-cmd  --state

若结果为not running,表示防火墙已关闭。

4. 禁止防火墙开机自启:

代码语言:javascript
复制
systemctl disable firewalld.service

想要开启防火墙,输入:

代码语言:javascript
复制
systemctl start firewalld

第五步:配置环境变量

vi /etc/profile

在该文件中加入:

代码语言:javascript
复制
export JAVA_HOME= (即jdk的安装目录)
代码语言:javascript
复制
export PATH=$PATH:$JAVA_HOME/bin

第六步:配置Hadoop

需要配置其中五个配置文件,进入到hadoop下etc下的hadoop目录,并查看该目录下的所有配置文件,并配置其中五个。

1. 配置hadoop-env.sh文件,该配置文件用于指定hadoop运行时jdk的路径:

vi hadoop-env.sh

代码语言:javascript
复制
export JAVA_HOME=自己的jdk安装目录

2. 配置core-site.xml文件,该文件是用户自定义文件。用于配置hadoop的文件系统:

vi core-site.xml

代码语言:javascript
复制
<!--配置hdfs的namenode的地址,使用的是hdfs协议:-->
代码语言:javascript
复制
<property>
代码语言:javascript
复制
<name>fs.defaultFS</name>
代码语言:javascript
复制
<value>hdfs://主机名:9000</value>
代码语言:javascript
复制
</property>
代码语言:javascript
复制
<!--配置hadoop运行时产生数据的存储目录,不是临时目录。-->
代码语言:javascript
复制
<property>
代码语言:javascript
复制
<name>hadoop.tmp.dir</name>
代码语言:javascript
复制
<value>/home/sun/app/hadoop-3.1.2/tmp</value>
代码语言:javascript
复制
</property>

3. 配置 hdsf-site.xml文件,配置在hdfs中,一份文件存几份,默认是3份,一台机器只能存一份:

vi hdfs-site.xml

代码语言:javascript
复制
<property>
代码语言:javascript
复制
<name>dfs.replication</name>
代码语言:javascript
复制
<value>1</value>
代码语言:javascript
复制
</property>

4. 配置mapred-site.xml文件,map-reduce是hadoop中的一种计算模型,运行在yarn(资源调度系统)中:

mapred-site.xml

代码语言:javascript
复制
<property> <!--指定mapreduce运行在yarn上-->
代码语言:javascript
复制
<name>mapreduce.framework.name</name>
代码语言:javascript
复制
<value>yarn</value>
代码语言:javascript
复制
</property>

5.配置yarn-site.xml文件,指定yarn的老大resourcemanager的地址(该地址是resourcemanager的主机地址,即主机名或该主机的ip地址):

vi yarn-site.xml

代码语言:javascript
复制
<property>
代码语言:javascript
复制
<name>yarn.resourcemanager.hostname</name>
代码语言:javascript
复制
<value>主机名</value>
代码语言:javascript
复制
</property>
代码语言:javascript
复制
<!--指定mapreduce执行shuffle时获取数据的方式-->
代码语言:javascript
复制
<property>
代码语言:javascript
复制
<name>yarn.nodemanager.aus-services</name>
代码语言:javascript
复制
<value>mapreduce_shuffle</value>
代码语言:javascript
复制
</property>

第七步:初始化并启动hadoop

该初始化不是启动hadoop的hdfs,而是对hdfs做格式化,需要到hadoop的bin目录中进行相关命令的操作

1. 进入到hadoop的bin目录,进行初始化;

代码语言:javascript
复制
./hdfs namenode -format

2. 进入到hadoop的sbin目录,启动hadoop:

代码语言:javascript
复制
start-all.sh  如果这命令不行就前面加 sh

最后在宿主机的浏览器中访问hadoop的hdfs,如访问成功,则说明伪分布式环境已搭建成功:

Hadoop2.X的版本中,访问hdfs的端口号是50070,访问mapreduce的端口号是8080

192.168.154.100:50070

192.168.154.100:8080

Hadoop3.X的版本中,访问hdfs的端口号由50070修改成了9870,访问mapreduce的端口号是8088

192.168.154.100:9870

192.168.154.100:8088

注:如果不能访问就检查防火墙是否关闭以及其他原因,端口号前面的IP地址是自己设置的静态IP

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:配置网络(静态IP)
  • 第二步:配置主机名和ip地址的映射关系
  • 第三步:配置ssh免密登录
  • 第四步:关闭防火墙状态
  • 第五步:配置环境变量
  • 第六步:配置Hadoop
  • 第七步:初始化并启动hadoop
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档