我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HADOOP之3节点集群

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HADOOP之3节点集群

1.apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop一些C++的本地库,所以如果在64位的操作上安装hadoop-2.4.1就需要重新在64操作系统上重新编译

2.本次搭建使用了2.7.1,hadoop2.7.1是稳定版。

      3.节点包括了namenode的高可用,jobtracker的高可用,zookeeper高可用集群(后期更新)

      4、3个节点的配置完全相同,只要在master配置完成后SCP到其他2节点上即可

链接:http://pan.baidu.com/s/1i4LCmAp 密码:302x hadoop+hive下载






架构图:

                             wKiom1gwBOuQJLZGAAAc_ZHwGfM337.png-wh_50

主机信息

IP

主机名

MASTER

  1. 168.1.114

Mycat

SLAVE

  1. 168.1.107

Haproxy

SLAVE

  1. 168.1.108

Haproxy_slave

Hadoop版本

Version2.7.1


JDK版本

Version1.7.0_55


##三个节点的/etc/hosts一致

  • 添加ssh 之间的互信:ssh-keygen -t rsa

###若是原来存在的建议删除重新设置一次

# cd

#cd .ssh

#rm –rf .usr/bin/

测试jdk是否OK

java -version

java version "1.7.0_09-icedtea"

OpenJDK Runtime Environment(rhel-2.3.4.1.el6_3-x86_64)

OpenJDK 64-Bit Server VM (build 23.2-b09,mixed mode)

若提示:/usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter:

安装yum install glibc.i686 再次执行没问题

  • 配置、添加用户hadoop

# useradd hadoop

#配置之前,先在本地文件系统创建以下文件夹:

/home/hadoop/tmp、/home/dfs/data、/home/dfs/name,3个节点一样

Mkdir /home/hadoop/tmp

mkdir /home/hadoop/dfs/data -p

mkdir /home/hadoop/dfs/name -p

#hadoop的配置文件在程序目录下的etc/hadoop,主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下

/usr/local/hadoop/etc/hadoop/hadoop-env.sh #记录hadoop要用的环境变量
/usr/local/hadoop /etc/hadoop/yarn-env.sh#记录YARN要用的环境变量
/usr/local/hadoop /etc/hadoop/slaves#运行DN和NM的机器列表(每行一个)
/usr/local/hadoop/etc/hadoop/core-site.xml#hadoopCORE的配置,如HDFS和MAPREDUCE常用的I/O设置
/usr/local/hadoop/etc/hadoop/hdfs-site.xml#hdfs守护进程的配置,包括NN和SNN DN
/usr/local/hadoop/etc/hadoop/mapred-site.xml#mapreduce计算框架的配置
/usr/local/hadoop/etc/hadoop/yarn-site.xml#YARN守护进程的配置,报错RM和NM等

1、  修改hadoop-env.sh,设置jdk路径,在第25行中修改:

export JAVA_HOME=/usr/local/jdk

2、  修改core-site.xml

fs.default.name是NameNode的URI。hdfs://主机名:端口/hadoop.tmp.dir:Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

<configuration>

<property>

    <name>fs.defaultFS</name>

   <value>hdfs://haproxy:9000</value>

</property>

<property>

   <name>io.file.buffer.size</name>

    <value>131072</value>

</property>

<property>

    <name>hadoop.tmp.dir</name>

    <value>file:/home/hadoop/tmp</value>

    <description>abase for othertemporary directories</description>

</property>

<property>

   <name>hadoop.proxyuser.spark.hosts</name>

    <value>*</value>

</property>

<property>

   <name>hadoop.proxyuser.spark.groups</name>

    <value>*</value>

</property>

3、配置  hdfs-site.xml 文件-->>增加hdfs配置信息(namenode、datanode端口和目录位置)

dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。

<configuration>

<property>

    <name> dfs.namenode.name.dir </name>

   <value>/home/hadoop/dfs/name/name1</value>

    <final>true</final>

</property>   

<property>

    <name>dfs.datanode.data.dir</name>

   <value>/home/hadoop/dfs/data/data1</value>

    <final>true</final>

</property>

<property>

    <name>dfs.replication</name>

    <value>2</value>

    <final>true</final>

</property>

 

</configuration>

4、mapred-site.xml文件

<configuration>

<property>

   <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

<property>

   <name>mapreduce.jobhistory.address</name>

    <value>haproxy:10020</value>

</property>

<property>

   <name>mapreduce.jobhistory.webapp.address</name>

    <value>haproxy:19888</value>

</property>

</configuration>

4、修改yarn-site.xml

<configuration>

<property>

   <name>yarn.nodemanager.aux-services</name>

   <value>mapreduce_shuffle</value>

</property>

<property>

   <name>yarn.nodemanager.aux-services.mapreduce.shufle.class</name>

   <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

   <name>yarn.resourcemanager.address</name>

    <value>haproxy:8032</value>

</property>

<property>

   <name>yarn.resourcemanager.scheduler.address</name>

    <value>haproxy:8030</value>

</property>

<property>

   <name>yarn.resourcemanager.resource-tracker.address</name>

    <value>haproxy:8035</value>

</property>

<property>

    <name>yarn.resourcemanager.admin.address</name>

    <value>haproxy:8033</value>

</property>

<property>

   <name>yarn.resourcemanager.webapp.address</name>

    <value>haproxy:8088</value>

</property>

5、配置masters和slaves主从结点

6、格式文件系统

这一步在主结点master上进行操作

报错

./hdfs: /usr/local/jdk/bin/java: /lib/ld-linux.so.2: bad ELFinterpreter: No such file or directory

yum install glibc.i686

#cd /usr/local/hadoop/bin/

./hdfs namenode -format

SHUTDOWN_MSG: Shutting down NameNode athaproxy/192.168.1.107

7、启动主节点

#/usr/local/hadoop/sbin/start-dfs.sh

问题1

启动的时候日志有:

It's highly recommended that you fix the library with'execstack -c <libfile>', or link it with '-z noexecstack'.

经过修改主要是环境变量设置问题:

#vi /etc/profile或者vi~/.bash_profile

export HADOOP_HOME=/usr/local/hadoop

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

问题2

WARN util.NativeCodeLoader: Unable toload native-hadoop library for your platform... using builtin-java classeswhere applicable

测试发现:

/usr/local/hadoop/bin/hadoop fs -ls /

16/11/16 16:16:42 WARN util.NativeCodeLoader: Unable to loadnative-hadoop library for your platform... using builtin-java classes whereapplicable

ls: Call From haproxy/192.168.1.107 to haproxy:9000 failed onconnection exception: java.net.ConnectException: Connection refused; For moredetails see:  http://wiki.apache.org/hadoop/ConnectionRefused

 

增加调试信息设置

$ export HADOOP_ROOT_LOGGER=DEBUG,console

启动日志:标志红色的需要按上面的错误提示做相应的处理

16/11/19 15:45:27 WARNutil.NativeCodeLoader: Unable to load native-hadoop library for yourplatform... using builtin-java classes where applicable

Starting namenodes on [mycat]

The authenticity of host 'mycat(127.0.0.1)' can't be established.

RSA key fingerprint is3f:44:d6:f4:31:b0:5b:ff:86:b2:5d:87:f2:d9:b8:9d.

Are you sure you want to continueconnecting (yes/no)? yes

mycat: Warning: Permanently added'mycat' (RSA) to the list of known hosts.

mycat: starting namenode, logging to/usr/local/hadoop/logs/hadoop-root-namenode-mycat.out

mycat: Java HotSpot(TM) Client VMwarning: You have loaded library /usr/local/hadoop/lib/native/libhadoop.so.1.0.0which might have disabled stack guard. The VM will try to fix the stack guardnow.

mycat: It's highly recommended that you fix the library with'execstack -c <libfile>', or link it with '-z noexecstack'.

haproxy: starting datanode, logging to/usr/local/hadoop/logs/hadoop-root-datanode-haproxy.out

haproxy_slave: starting datanode,logging to /usr/local/hadoop/logs/hadoop-root-datanode-haproxy_slave.out

haproxy: /usr/local/hadoop/bin/hdfs: line 304:/usr/local/jdk/bin/java: No such file or directory

haproxy: /usr/local/hadoop/bin/hdfs: line 304: exec:/usr/local/jdk/bin/java: cannot execute: No such file or directory

haproxy_slave: /usr/local/hadoop/bin/hdfs:/usr/local/jdk/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such fileor directory

haproxy_slave:/usr/local/hadoop/bin/hdfs: line 304: /usr/local/jdk/bin/java: Success

Starting secondary namenodes [0.0.0.0]

The authenticity of host '0.0.0.0(0.0.0.0)' can't be established.

RSA key fingerprint is3f:44:d6:f4:31:b0:5b:ff:86:b2:5d:87:f2:d9:b8:9d.

Are you sure you want to continueconnecting (yes/no)? yes

0.0.0.0: Warning: Permanently added'0.0.0.0' (RSA) to the list of known hosts.

0.0.0.0: starting secondarynamenode,logging to /usr/local/hadoop/logs/hadoop-root-secondarynamenode-mycat.out

0.0.0.0: Java HotSpot(TM) Client VMwarning: You have loaded library/usr/local/hadoop/lib/native/libhadoop.so.1.0.0 which might have disabled stackguard. The VM will try to fix the stack guard now.

0.0.0.0: It's highly recommended thatyou fix the library with 'execstack -c <libfile>', or link it with '-znoexecstack'.

16/11/19 15:46:01 WARNutil.NativeCodeLoader: Unable to load native-hadoop library for yourplatform... usi

问题3:若在datanode看不到节点的信息

wKiom1gwMBWiE7cPAABo0M6iXsA540.png-wh_50 

若看不到2个SLAVE信息,有可能是配置文件问题

1、看看/usr/local/hadoop/logs下的日志

2、检查/usr/local/hadoop/etc/hadoop/hdfs-site.xml的配置信息

3、检查下/etc/hosts的配置,测试的时候,勿把127.0.0.1和hostname绑定一起导致问题,借鉴

问题的处理方法:

       (1)停掉集群服务

  (2)在出问题的datanode节点上删除data目录,data目录即是在hdfs-site.xml文件中配置的dfs.data.dir目录,本机器上那个是/var/lib/hadoop-0.20/cache/hdfs/dfs/data/ (注:我们当时在所有的datanode和namenode节点上均执行了该步骤。以防删掉后不成功,可以先把data目录保存一个副本).

      (3)格式化namenode.

  (4)重新启动集群。




##到此3主备集群OK

wKioL1gwBQuA02ynAABL0X-YjLI607.png-wh_50



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HADOOP之3节点集群

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

HADOOP之3节点集群

1.apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop一些C++的本地库,所以如果在64位的操作上安装hadoop-2.4.1就需要重新在64操作系统上重新编译2.本次搭建使用了2.7.1,hado
2023-01-31

Hadoop集群搭建(4个节点)

搭建Hadoop集群需要以下步骤:1. 安装Java:确保所有节点上都安装了Java,并设置好JAVA_HOME环境变量。2. 配置SSH免密码登录:在主节点上生成SSH密钥对,并将公钥分发到所有节点上,以实现节点之间的无密码登录。3. 下
2023-10-11

如何配置hadoop集群主节点

配置Hadoop集群的主节点需要完成以下步骤:确保所有节点都已安装Hadoop,并且已经完成了基本的配置。在主节点上编辑Hadoop的配置文件,通常是hadoop-env.sh、core-site.xml、hdfs-site.xml、ma
如何配置hadoop集群主节点
2024-04-03

Hadoop多节点集群怎么安装配置

本篇内容主要讲解“Hadoop多节点集群怎么安装配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop多节点集群怎么安装配置”吧!1、集群部署介绍 1.1 Hadoop简介 Hadoop
2023-06-03

hadoop集群增加节点要注意什么

确保新节点具有与现有节点相同的配置和操作系统版本,以确保集群的一致性和稳定性。在添加新节点之前,确保为新节点分配适当的资源,包括内存、CPU和存储空间,以满足集群的需求。在添加新节点之前,确保网络连接稳定,以确保节点之间的通信畅通。在添加新
hadoop集群增加节点要注意什么
2024-03-05

hadoop集群增加节点的方法是什么

Hadoop集群增加节点的方法通常有以下几个步骤:准备新节点:首先需要准备一台新的服务器作为新增节点,确保该服务器满足Hadoop集群的硬件要求,并且安装好操作系统和必要的软件环境。配置Hadoop集群:在新增节点上配置Hadoop集群的相
hadoop集群增加节点的方法是什么
2024-03-05

rhcs 3个节点集群测试 小记

1.   3个节点一个集群2.   一个fail domain   节点1  优先级  3                               节点2  优先级  1                                 
2023-01-31

hadoop集群节点ip管理的方法是什么

Hadoop集群节点的IP地址可以通过以下几种方法进行管理:静态配置:管理员可以手动在Hadoop集群的配置文件中指定每个节点的IP地址。这种方法适用于固定数量的节点,IP地址不经常变化的情况。动态配置:使用动态主机配置协议(DHCP)或类
hadoop集群节点ip管理的方法是什么
2024-03-14

hadoop 集群模式 从节点nodemanager连接resourcemanager失败

当从节点nodemanager无法连接到资源管理器resourcemanager时,可能有几个原因导致。1. 网络连接问题:首先,请确保从节点和资源管理器在同一个网络中,并且可以相互通信。可以通过ping命令或telnet命令来测试从节点是
2023-10-11

【Mongodb】sharding 集群Add/Remove 节点

MongoDB的Auto-Sharding能够做到:
2023-06-06

ol7.7安装部署4节点hadoop 3.2.1分布式集群学习环境

准备4台虚拟机,安装好ol7.7,分配固定ip192.168.168.11 12 13 14,其中192.168.168.11作为master,其他3个作为slave,主节点也同时作为namenode的同时也是datanode,192.168.168.14作为
ol7.7安装部署4节点hadoop 3.2.1分布式集群学习环境
2015-07-05

Linux下HBase集群节点管理

在Linux下管理HBase集群节点涉及多个方面,包括安装、配置、监控和维护等。以下是一些关键步骤和注意事项:1. 安装HBase首先,你需要在所有节点上安装HBase。可以使用包管理器(如apt或yum)进行安装,或者从HBase官方
Linux下HBase集群节点管理
2024-10-20

大数据Hadoop之——Spark集群部署(Standalone)

目录一、Spark概述二、Spark的运行模式1)Standalone(本章讲解)2)Mesos3)YARN(推荐)4)K8S(新模式)三、Standalone 模式运行机制1)Standalone Client 模式2)Standalone Cluster
大数据Hadoop之——Spark集群部署(Standalone)
2020-01-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录