您的位置:首页 > 运维架构 > Linux

Hadoop2.7.3在CentOS 6.5中的集群搭建

2017-07-21 18:32 387 查看
我这边给出我的集群环境是由一台主节点cetiti12和两台从节点cetiti13,cetiti14组成:

192.168.10.12 cetiti12

192.168.10.13 cetiti13

192.168.10.14 cetiti14

申明:我搭建的这个集群是在普通用户Hadoop,部分操作都是在超级用户root上。

一、虚拟机的安装

2) 修改IP地址并设置为静态IP,修改机器名分别为cetiti12,cetiti13,cetiti14

3) 增加IP与主机映射:

vi /etc/hosts

增加以下内容:

192.168.10.12 cetiti12(对应配置文件中的主节点名称)

192.168.10.13 cetiti13

192.168.10.14 cetiti14

注意:注释掉所有节点上/etc/hosts中的 127.0.0.1 和 ::1 两行

4)在完成以上步骤后reboot重启四台虚拟机:

三、集群ssh免密码登录

在cetti12中输入:ssh cetiti13、ssh cetiti14是否需要密码,如果不需要,则ssh免密码配置成功,另两台同理。

四、添加hadoop用户,赋予sudo权限,修改visudo,将%wheel ALL=(ALL) NOPASSWD: ALL改为 hadoop ALL=(ALL) NOPASSWD: ALL

五、jdk安装

六、Hadoop2.7.3的解压安装

a) 我们从官网下载Hadoop-2.7.3

版本的压缩包

b) 在cetiti12节点中,解压Hadoop压缩包到/home/hadoop/中:

tar –xzvf hadoop-2.7.3.tar.gz

七、集群环境Hadoop的配置

在cetiti中,进入到Hadoop的配置目录:

cd /home/hadoop/hadoop-2.7.3/etc/hadoop

a) slaves的配置:

vi slaves

删除localhost,增加三个从节点:

cetiti13

cetiti14

b) core-site.xml的配置:

在此之前,需要在Hadoop目录下创建/home/hadoop/hadoop-tmp:

mkdir -p /home/hadoop/hadoop-tmp

在/home/hadoop/hadoop-2.7.3/etc/hadoop下:

cat core-site.xml的配置:

<property>
<name>fs.defaultFS</name>
<value>hdfs://cetiti12:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-tmp</value>
<description>Abase for other temporary   directories.</description>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>


c) cat hdfs-site.xml的配置:

<property>
<name>dfs.replication</name>
<value>3</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.namenode.secondary.http-address</name>
<value>cetiti12:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>


e) yarn-site.xml的配置:

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>cetiti12:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>cetiti12:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>cetiti12:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>cetiti12:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>cetiti12:8088</value>
</property>


f)将hadoop-env.sh文件的;”>改成实际路径:echo $JAVA_HOME的结果

export JAVA_HOME=/usr/Java/jdk1.8.0_121

将yarn-env.sh文件的;”>改成实际路径:echo $JAVA_HOME的结果–/usr/java/jdk1.8.0_121

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

g) 配置好cetiti12中的Hadoop后,将Hadoop复制到各个节点对应位置上:

scp –r /home/hadoop/hadoop-2.7.3 cetiti13:/home/hadoop/

scp –r /home/hadoop/hadoop-2.7.3 cetiti14:/home/hadoop/

八、启动hadoop(只需要启动主节点,从节点自动启动,可以sh start-all.sh)

a)在主节点cetiti12的hadoop的目录下:

bin/hdfs namenode –format

sbin/start-dfs.sh

sbin/start-yarn.sh

然后在主节点cetiti12输入jps可以查看到NameNode,SecondaryNameNode,Jps和ResourceManager四个进程。

在从节点slave输入jps可以查看到Jps,NodeManager和DataNode三个进程。

b) 出现以上进程提示,恭喜你,你的hadoop的环境搭建完成!

注:hadoop安装目录下的文件属主需要是hadoop。cetiti12的hosts中 127.0.0.1和1都需要注释掉,只需要

192.168.10.12 cetiti12(对应配置文件中的主节点名称)

192.168.10.13 cetiti13

192.168.10.14 cetiti14

netstat -an | grep 8020 检查是否都改成ip了,如果是127.0.0.1子节点namenodemanger则起不来。

问题1.

java.net.BindException: Port in use: localhost:0

Caused by: java.net.BindException: Cannot assign requested address

netstat -tulpn | grep 0

tcp 0 0 0.0.0.0:12182 0.0.0.0:* LISTEN 8424/nc

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 937/sshd

tcp 0 0 0.0.0.0:65534 0.0.0.0:* LISTEN 8421/nc

tcp 0 0 :::22 :::* LISTEN 937/sshd

udp 0 0 0.0.0.0:68 0.0.0.0:* 8865/dhclient

kill -9 8424 8421 8865

再重启

查看开发端口

netstat -nupl (UDP类型的端口)

netstat -ntpl (TCP类型的端口)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: