hadoop集群安装、常见问题解决

来源:互联网 发布:拼豆转图软件手机 编辑:程序博客网 时间:2024/05/01 22:00

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,而mapreduce必须放在一个资源调度平台(yarn)上来跑,由平台分布内存cup等信息。两者逻辑上分离,但物理上常在一起
HDFS集群:
负责海量数据的存储,集群中的角色主要有 NameNode / DataNode
YARN集群:
负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager。
以三台为例,图示:
这里写图片描述
注:namenode和nodeManager最好放在不同服务器,而datanode和resourceManager放在同一台服务器,因为mapReduce进行并行计算的时候需要用到hdfs文件系统所以最好放在一起。

搭建步骤
首先要装好jdk
1、将编译好的hadoop上传到linux,创建文件夹apps,将hadoop解压到该文件夹下。
2、修改配置文件。

[root@mini1 ~]# cd /root/apps/hadoop-2.6.4/etc/hadoop/[root@mini1 hadoop]# ll总用量 152-rw-r--r--. 1 hadoop hadoop  4436 3月   8 2016 capacity-scheduler.xml-rw-r--r--. 1 hadoop hadoop  1335 3月   8 2016 configuration.xsl-rw-r--r--. 1 hadoop hadoop   318 3月   8 2016 container-executor.cfg-rw-r--r--. 1 hadoop hadoop   952 9月  30 21:51 core-site.xml-rw-r--r--. 1 hadoop hadoop  3670 3月   8 2016 hadoop-env.cmd-rw-r--r--. 1 hadoop hadoop  4233 9月  30 21:42 hadoop-env.sh-rw-r--r--. 1 hadoop hadoop  2598 3月   8 2016 hadoop-metrics2.properties-rw-r--r--. 1 hadoop hadoop  2490 3月   8 2016 hadoop-metrics.properties-rw-r--r--. 1 hadoop hadoop  9683 3月   8 2016 hadoop-policy.xml-rw-r--r--. 1 hadoop hadoop   916 10月  1 23:08 hdfs-site.xml-rw-r--r--. 1 hadoop hadoop  1449 3月   8 2016 httpfs-env.sh-rw-r--r--. 1 hadoop hadoop  1657 3月   8 2016 httpfs-log4j.properties-rw-r--r--. 1 hadoop hadoop    21 3月   8 2016 httpfs-signature.secret-rw-r--r--. 1 hadoop hadoop   620 3月   8 2016 httpfs-site.xml-rw-r--r--. 1 hadoop hadoop  3523 3月   8 2016 kms-acls.xml-rw-r--r--. 1 hadoop hadoop  1325 3月   8 2016 kms-env.sh-rw-r--r--. 1 hadoop hadoop  1631 3月   8 2016 kms-log4j.properties-rw-r--r--. 1 hadoop hadoop  5511 3月   8 2016 kms-site.xml-rw-r--r--. 1 hadoop hadoop 11291 3月   8 2016 log4j.properties-rw-r--r--. 1 hadoop hadoop   938 3月   8 2016 mapred-env.cmd-rw-r--r--. 1 hadoop hadoop  1383 3月   8 2016 mapred-env.sh-rw-r--r--. 1 hadoop hadoop  4113 3月   8 2016 mapred-queues.xml.template-rw-r--r--. 1 hadoop hadoop   838 9月  30 21:51 mapred-site.xml-rw-r--r--. 1 hadoop hadoop    10 10月  1 20:01 slaves-rw-r--r--. 1 hadoop hadoop  2316 3月   8 2016 ssl-client.xml.example-rw-r--r--. 1 hadoop hadoop  2268 3月   8 2016 ssl-server.xml.example-rw-r--r--. 1 hadoop hadoop  2237 3月   8 2016 yarn-env.cmd-rw-r--r--. 1 hadoop hadoop  4567 3月   8 2016 yarn-env.sh-rw-r--r--. 1 hadoop hadoop  1053 10月  1 23:30 yarn-site.xml

要修改的配置文件只有4个core-site.xml(核心配置文件),hdfs-site.xml(hdfs配置文件), mapred-site.xml (mapReduce配置文件),yarn-site.xml(yarn配置文件)。
(1)、core-site.xml配置

<configuration><property>//指定文件系统使用hdfs<name>fs.defaultFS</name><value>hdfs://192.168.25.127:9000</value></property><property>指定进行工作的数据目录<name>hadoop.tmp.dir</name><value>/root/hadoop/hdpdata</value></property></configuration>

(2)、 hdfs-site.xml 配置

<configuration><property>//上传的文件保存几份<name>dfs.replication</name><value>2</value></property><property>//关闭权限管理<name>dfs.permissions</name><value>false</value></property></configuration>

3、mapred-site.xml配置

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

mapreduce必须放在一个资源调度平台(yarn)上来跑,由平台分布内存cup等信息。
4、yarn-site.xml配置

<configuration><!-- Site specific YARN configuration properties --><property>//指定主节点主机名<name>yarn.resourcemanager.hostname</name><value>mini1</value></property><property>//yarn为mapreduce提供的服务<name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>

3、将配置好的这台mini1上传到另外两台。
4、三台上都配置环境变量然后执行命令resource /etc/profile保存

[root@mini1 ~]# vi /etc/profileJAVA_HOME=/heima32/jdk1.7.0_55/HADOOP_HOME=/root/apps/hadoop-2.6.4export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5、在主节点所在服务器mini1上进行格式化。命令:hadoop namenode -format如果提示工作目录创建成功即可。能查看到创建的目录/root/hadoop/hdpdata。
6、启动hadoop
主节点启动

[root@mini1 ~]# cd apps/hadoop-2.6.4/sbin/[root@mini1 sbin]# ./hadoop-daemon.sh start namenode[root@mini1 sbin]# ./start-yarn.sh

从节点启动

[root@mini2 ~]# cd apps/hadoop-2.6.4/sbin/[root@mini2 sbin]# ./hadoop-daemon.sh start datanode
[root@mini3 ~]# cd apps/hadoop-2.6.4/sbin/[root@mini3 sbin]# ./hadoop-daemon.sh start datanode

最后则页面访问http://192.168.25.127:50070
这里写图片描述
这里写图片描述
能看到有2个活跃的数据节点以及其他的一些信息。没出现就是配置有问题了。

注:可以自己写个自动化部署脚本,接着一次启动hdfs和yarn,简单起见这里就不写了。对于遇见的问题可以在logs目录下的xxx.log查看

[root@mini2 ~]# cd /root/apps/hadoop-2.6.4/logs/

出现的问题一般要么是自己配置多写了或少些了个字母这类的,要么是没关防火墙导致的拒绝连接,要么是hosts文件配置的问题(这个错误提示容易看出),我就是出现了hosts文件配置的问题。

[root@mini2 logs]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.25.127 mini1192.168.25.129 mini2192.168.25.130 mini3

另外提示一点就是要启动yarn,可以使用jps查看是否有resourceManager进程,否则执行wordcount等mapreduce操作的时候会显示connecting resourceManager。然后一直尝试连接都连不上。

[root@localhost mapreduce]# ll总用量 4692-rw-r--r--. 1 root root  504833 9月  30 21:55 hadoop-mapreduce-client-app-2.6.4.jar-rw-r--r--. 1 root root  664767 9月  30 21:55 hadoop-mapreduce-client-common-2.6.4.jar-rw-r--r--. 1 root root 1514040 9月  30 21:55 hadoop-mapreduce-client-core-2.6.4.jar-rw-r--r--. 1 root root  234136 9月  30 21:55 hadoop-mapreduce-client-hs-2.6.4.jar-rw-r--r--. 1 root root    4062 9月  30 21:55 hadoop-mapreduce-client-hs-plugins-2.6.4.jar-rw-r--r--. 1 root root   37877 9月  30 21:55 hadoop-mapreduce-client-jobclient-2.6.4.jar-rw-r--r--. 1 root root 1497549 9月  30 21:55 hadoop-mapreduce-client-jobclient-2.6.4-tests.jar-rw-r--r--. 1 root root   44344 9月  30 21:55 hadoop-mapreduce-client-shuffle-2.6.4.jar-rw-r--r--. 1 root root  270367 9月  30 21:55 hadoop-mapreduce-examples-2.6.4.jardrwxrwxr-x. 2 root root    4096 930 21:55 libdrwxrwxr-x. 2 root root    4096 930 21:55 lib-examplesdrwxrwxr-x. 2 root root    4096 930 21:55 sources[root@localhost mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount /wordcount/input/ /wordcount/outputwordcount是这个jar包中的程序,需要输入两个参数一个是数据来源一个是到哪/wordcount/output这个文件必须不存在[root@localhost mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount /wordcount/input/ /wordcount/output注:当时有问题改了之后一直没好,需要重启linux就好了。注:主节点需要启动yarnJava HotSpot(TM) Client VM warning: You have loaded library /root/apps/hadoop-2.6.4/lib/native/libhadoop.so which might have disabled stack guard. The VM will try to fix the stack guard now.It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.17/10/01 21:17:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable17/10/01 21:17:32 INFO client.RMProxy: Connecting to ResourceManager at /192.168.25.127:803217/10/01 21:17:34 INFO ipc.Client: Retrying connect to server: mini1/192.168.25.127:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)17/10/01 21:17:35 INFO ipc.Client: Retrying connect to server: mini1/192.168.25.127:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)17/10/01 21:17:36 INFO ipc.Client: Retrying connect to server: mini1/192.168.25.127:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

出现如下就表示成功了(做的单词统计)
这里写图片描述

原创粉丝点击