Hadoop集群搭建过程中遇到的问题及解决方法

在CentOS 7上用Hadoop 2.7.2搭建了一个集群,为的是自己学习各种开源框架,可是在搭的过程中遇到一个问题,namenode和datanode节点都起来了,但是datanode节点一直无法访问namenode:9000端口,开始第一反应是把防火墙关闭,可是执行了命令还是不行,今天才发现原来执行错了,关闭防火墙的命令应该为

systemctl stop firewalld.service

为了能让集群重启后还能正常工作,我们要把防火墙彻底关掉,不让它开机启动

systemctl disable firewalld.service

到底关没关,查看防火墙状态命令为:

firewall-cmd --state

执行完命令如果显示

not running

那么恭喜你,防火墙关闭成功了,好,现在说说我遇到的问题

2016-06-18 21:23:53,980 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.100:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2016-06-18 21:23:55,029 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.100:9000. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2016-06-18 21:23:56,030 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.100:9000. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2016-06-18 21:23:57,031 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.100:9000. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2016-06-18 21:23:58,032 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.100:9000. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

看到了这个问题第一直觉就应该是防火墙在做怪,关闭后问题解决了。 顺便对我搭建的过程做了总结,主要的配置在一台服务器上弄好后,其它的就直接scp吧

1、修改host(vim /etc/hosts)

#127.0.0.1   localhost localhost.localdomain localhost4            localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6        localhost6.localdomain6
192.168.1.100 namenode
192.168.1.101 datanode1
192.168.1.102 datanode2

其它的都不要,就只要最后三行就行

2、修改IP,将其改为静态IP(vim /etc/sysconfig/network-scripts/ifcfg-eth0)

DEVICE=eth0
IPV6INIT=yes
BOOTPROTO=dhcp
UUID=61fe61d3-fcda-4fed-ba81-bfa767e0270a
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
BOOTPROTO="static" 
ONBOOT="yes" 
IPADDR=192.168.1.100 
GATEWAY=192.168.1.1 
NETMASK=255.255.255.0 
DNS1=192.168.1.1 

这里要注意ipaddr了每个服务器不要一样哦

3、修改hostname(vim /etc/hostname) 这里只是主节点的

namenode

4、修改core-site.xml (vim core-site.xml)

<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode:9000</value>
</property>
<property>
    <name>io.file.buffer.size</name>
    <value>4096</value>
</property>

5、修改hdfs-site.xml(vim hdfs-site.xml)

<configuration>
<property>
    <name>dfs.nameservices</name>
    <value>hadoop-cluster1</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>namenode:50090</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hadoop/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///home/hadoop/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>
</configuration>

6、修改mapred-site.xml(vim mapred-site.xml)

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobtracker.http.address</name>
    <value>namenode:50030</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>namenode:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>namenode:19888</value>
</property>

7、修改yarn-site.xml(vim yarn-site.xml)

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>namenode:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>namenode:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>namenode:8031</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>namenode:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>namenode:8088</value>
</property>

8、修改slaves (vim slaves)

datanode1
datanode2

9、修改hadoop-evn.sh和yarn-evn.sh 在里面加上JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_91

10、最后修改/etc/profile

在文件最后加上

export JAVA_HOME=/usr/java/jdk1.8.0_91
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

好了,以上就是Hadoop的配置方式,三个节点进行同样的修改即可。 为了能让节点间互相无密码登录,还要进行ssh配置 在~/.ssh目录下面执行

ssh-keygen -t rsa

然后一路回车,要的就是空密码,执行完成后,会在目录下面生成两个文件 私钥文件:id_raa 公钥文件:id_rsa.pub 然后执行

cat id_rsa.pub >> authorized_keys 

将公钥文件authorized_keys分发到各datanode节点:

scp authorized_keys  root@datanode1:/root/.ssh/  

最后,验证一下

ssh datanode1

好了,搭建过程结束,问题也解决了,如果你在搭建的过程中有什么问题欢迎留言。

转载于:https://my.oschina.net/sucre/blog/700159

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值