Hadoop伪分布式的搭建

Hadoop伪分布式的搭建

  • 所谓伪分布式 就是在一台机器上搭建集群的所有节点。
  • 其实伪分布式和分布式的搭建方式是一样的,除了slave以外所有的配置都是一样的。在安装过程中我会提出
  • 本示例以Centos 64位操作系统,hadoop2.7.5为示例。

下载hadoop安装包

  • 如果你使用的Linux操作系统是32位的,去官网下载编译好的二进制包即可。
  • 如果你使用的Linux操作系统是64位的,hadoop2.7.5 64位下载地址[download],这是我编译好的。
  • 如果你想要自己编译,请参照我的另一篇博客:Hadoop 64位编译

关闭防火墙

Centos6
    sudo service iptables start/stop/status
    sudo chkconfig iptables off/--list  –永久关闭防火墙
Centos7
    sudo systemctl stop/start/status firewalld.service
    sudo systemctl disable firewalld.service  –永久关闭防火墙

修改hosts文件

这里一定要配置,而且必须是hostname 和 ip 的对应关系。 因为hadoop底层有通过hostname 来进行对ip的访问的。再者就是方便我我们安装部署时方便。

添加主机名和ip的映射
192.168.174.111     hdfs01

集群的服务器之间免密登录策略

免密策略很重要,对于伪分布式而言,可能重要性不大,因为启动的节点少,可能只需要输入两次密码即可,但对于多节点的分布式集群,输入密码就不合理了,所以免密是一点要配置的。

ssh_keygen –t rsa 一路回车,什么都不输入
ssh-copy-id USER@IP yes PASSWORD 配置设备免密
sudo service sshd start/stop/status/restart
chkconfig sshd on 设置SSH开机启动

如果没有安装ssh,使用如下命令安装
yum install ssh

修改配置文件(伪分布式需要修改5个配置文件,hadoop2.X的配置文件在$HADOOP_HOME/etc/hadoop/)

File1:hadoop-env.sh

vim hadoop-env.sh
#第27行
export JAVA_HOME=/opt/jdk1.8.0_131

File2:core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
	<name>fs.defaultFS</name>
	<!--uri-->
	<value>hdfs://hdfs01:9000</value><!-- 这里的hdfs01就是hosts中配置的,如果没有配置就要写ip的 -->
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/data/</value>
</property>

# 在/opt目录下创建data目录
mkdir -p /opt/data

File3:hdfs-site.xml

<!-- 指定HDFS副本的数量 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

File4:mapred-site.xml.template

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

File5:yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hdfs01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

File6:slaves

添加datanode的节点的IP 或者是hostname(前提是提前配置好hosts)
hdfs01

slaves下配置的ip的机器上,将会启动datanode和nodemanager进程
如果你配置的是分布式集群,那就把其他的机器都配置在这里(如果是分布式,最好不要配置namenode节点。),但是不要忘记hosts哦
hdfs02
hdfs03
...

将hadoop添加到环境变量中

# vim /etc/proflie
export HADOOP_HOME=/opt/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# source /etc/profile

格式化namenode(是对namenode进行初始化)

# hdfs namenode -format (hadoop namenode -format)

启动hadoop

先启动HDFS
# start-dfs.sh
再启动YARN
# start-yarn.sh
验证是否启动成功
--------------
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode

监控页面

http://192.168.174.111:50070 (HDFS管理界面)
http://192.168.174.111:8088 (MR管理界面)

执行一个hadoop自带的例子

# cd $HADOOP_HOOME/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.5.jar pi 2 2

这是一个求π值的一个例子
后面2个数字参数的含义: 
第1个2指的是要运行2次map任务 
第2个2指的是每个map任务,要投掷多少次 

转载于:https://my.oschina.net/epoch/blog/1611703

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值