1. 部署环境

系统:  CentOS 6.3

需要安装jdk.

JDK的RPM下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

hadoop手册地址: http://hadoop.apache.org/docs/r1.2.1/index.html

关闭iptables和selinux

/etc/init.d/iptables stop
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

2. SSH配置

useradd hadoop
echo 123456 | passwd --stdin hadoop
su - hadoopssh-keygen -t rsa                                      #生成密钥对
ssh-copy-id user@ip                                    #将ssh公钥copy到指定的主机cd .ssh #每台服务器本机也需要配置ssh免密码登录
cat id_rsa.pub  >> authorized_keys

3. 部署hadoop

官网: http://hadoop.apache.org/

下载: http://mirror.bit.edu.cn/apache/hadoop/common/

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz
tar xf hadoop-2.5.0.tar.gzcd hadoop-2.5.0
mkdir data                         #用来存放数据块的,在slave中才会用到
mkdir name                         #用来存放元数据的,在namenode中才会用
mkdir tmp                          #tmp主要用来存放临时数据

修改配置

涉及到的配置文件有7个:

etc/hadoop/hadoop-env.sh

etc/hadoop/yarn-env.sh

etc/hadoop/slaves

etc/hadoop/core-site.xml

etc/hadoop/hdfs-site.xml

etc/hadoop/mapred-site.xml

etc/hadoop/yarn-site.xml

以上个别文件默认不存在的, 可以复制相应的template文件获得

1. etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_67

2. etc/hadoop/yarn-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_67

3. etc/hadoop/slaves

secondarynamenode和master分离的时候在masters文件中记录

hadoop2
hadoop3

4. etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9200</value>
</property><property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.5.0/tmp</value>                                #设置hadoop临时目录
<description>Abase for other temporary directories.</description>
</property><property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property><property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>

5. etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:9001</value>
</property><property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.5.0/name</value>
</property><property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.5.0/data</value>
</property><property>
<name>dfs.replication</name>
<value>1</value>
</property><property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

6. etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property><property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property><property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>

7. etc/hadoop/yarn-site.xml

<configuration>
<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>hadoop1:8032</value>
</property><property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property><property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property><property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property><property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
</configuration>

4.  启动集群并检验

将hadoop目录分发到各节点

scp -r /home/hadoop/hadoop-2.5.0  ip:/home/hadoop

格式化namenode

./bin/hdfs namenode -format

启动hdfs

./sbin/start-dfs.sh

此时在hadoop1上面运行的进程有: NameNode   SecondaryNameNode

hadoop2和hadoop3上面运行的进程有: DataNode

启动yarn

./sbin/start-yarn.sh

此时在hadoop1上面运行的进程有: NameNode   SecondaryNameNode  ResourceManager

hadoop2和hadoop3上面运行的进程有: DataNode  NodeManager

通过jps可以查看进程, 以下是通过oracle 安装的rpm的jdk.

/usr/java/jdk1.7.0_67/bin/jps

控制台报错:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

通过配置DEBUG变量,可以查看错误细节,

export HADOOP_ROOT_LOGGER=DEBUG,console

可以看到所依赖的GLIBC版本不符合要求...

DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /home/hadoop/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/hadoop/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0)

升级GLIBC....

下载地址: http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

下载地址: http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2   #编译glibc需要

tar xf glibc-2.14.tar.gz
cd glibc-2.14
tar xf ../glibc-linuxthreads-2.5.tar.bz2
cd ..
export CFLAGS="-g -O2"
./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

安装编译过程中需要注意三点:

1. 要将glic-linuxthreads解压到glibc目录下

2. 不能在glibc当前目录下运行configure

3. 加上优化开关, export CFLAGS="-g -O2", 否则会出现错误..

如果安装的hadoop本地库是32位而系统是64位的:

重新编译hadoop...

暂时可以解决的办法, 使用以下的环境变量.... ,让hadoop找不到本地库,,,会使用java的标准库..

export HADOOP_COMMON_LIB_NATIVE_DIR=/home/hadoop/hadoop-2.2.0/lib/native
export HADOOP_OPTS="-D java.library.path=/home/hadoop/hadoop-2.2.0/lib"

总结:

安装JDK

编辑hosts文件

关闭防火墙和selinux

部署免密码ssh

下载hadoop 2.5 并解压

修改配置文件

分发hadoop到各个节点

启动集群

转载于:https://blog.51cto.com/kinda22/1582554

hadoop(2.5) 分布式部署相关推荐

  1. 胖虎的Hadoop笔记——Hadoop的伪分布式部署

    胖虎的Hadoop笔记--Hadoop的伪分布式部署 本博客用于Hadoop大数据企业课笔记记录.第三步 一.VMware安装和创建虚拟机 1.VMware安装 安装包下载:https://pan.b ...

  2. Hadoop系列一:Hadoop集群分布式部署

    1.环境准备 VirtualBox虚拟机上分布部署三套Ubuntu15.10操作系统(Linux 64位),命名为Ubuntu_Hadoop(用户名hp).Ubuntu_C(用户名c).Ubuntu_ ...

  3. 在hadoop中伪分布式部署的命令与步骤

    HDFS是进行存储的,YARN是进行调度的. 第一步先切换到hadoop下面的etc(配置文件都在etc下面) 命令:cd /etc 然后在hadoop中配置core-site.xml 命令:Vi c ...

  4. 完全分布式部署Hadoop

    完全分布式部署 Hadoop 分析: 1)准备 3 台客户机(关闭防火墙.静态 ip.主机名称) 2)安装 jdk 3)配置环境变量 4)安装 hadoop 5)配置环境变量 6)安装 ssh 7)配 ...

  5. Hadoop全分布式部署 - CentOS(结尾附视频)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  6. 大数据||Hadoop分布式部署虚拟机

    分布式部署 伪分布式.一台机器运行所有的守护进程,从节点datanode.nodemanager 完成分布式. 有多个从节点. datanodes.nodeManager.多节点其实就是多了几个dat ...

  7. day70-大数据之Hadoop部署1(单机部署与伪分布式部署)

    大数据基础平台实施及运维 一.大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 1. 为什么使用大数据技术? 数据量越来越大 数据分析的实时性越来越强 数据结果的应用越来越 ...

  8. Hadoop伪分布式部署及常用操作

    hadoop伪分布式部署 之前有做过hadoop 2.x的部署,现在再做一下hadoop 3.x的部署. hadoop有三个组件:hdfs用来存储数据,mapreduce 用来计算(作业) ,yarn ...

  9. 大数据之---Yarn伪分布式部署和MapReduce案例

    1.软件环境 RHEL6 角色 jdk-8u45 hadoop-2.8.1.tar.gz   ssh xx.xx.xx.xx ip地址 NN hadoop01 xx.xx.xx.xx ip地址 DN ...

  10. Hadoop1 Centos伪分布式部署

    前言:       毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...

最新文章

  1. 我在上海的AI新地标,看懂了明略的游戏规则
  2. castle之动态代理
  3. php 24点算法,PHP实现简单的24点游戏
  4. 【多线程高并发】查看Java代码对应的汇编指令教程
  5. 不喜欢写测试的朋友看过来,与你分享写测试的经验 做一个爱写测试的程序员...
  6. ApacheCN PHP 译文集 20211101 更新
  7. linux 环境变量设置错误导致 command not found
  8. FileProvider的使用
  9. Nginx负载均衡与健康检查
  10. 全球信息数据量陡增 大数据应用前景广阔
  11. 修改java阻塞数,加快他的运行速度
  12. visio2010下载地址中文版本32位中文版本64位和激活密钥方法分享哦
  13. 计算机设备硬件维护税收编码,自动化设备的税收编码是多少
  14. php实现小偷程序,PHP小偷程序的设计与实现示例
  15. 树莓派修改root密码
  16. Xilinx FPGA的Device DNA获取方法
  17. 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
  18. 【UE4】导入FBX格式的模型至UE4
  19. win10出现打印机无法打印,而其他显示正常,重启没反应
  20. 学计算机到成铁工作如何,广汉公立的高铁学铁路的学校,高铁职业技术哪些学校好...

热门文章

  1. 冒泡排序和选择排序的实现与比较
  2. 坐标转换计算七参数matlab代码,坐标系转换:已知控制点计算七参数并对数据批量转换...
  3. php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
  4. react 使用cookie react-cookies
  5. HarmonyOS 开发App详细步骤
  6. Android 网络请求(OKHttp框架)
  7. 7-12 我是升旗手 (10 分)
  8. 第四次作业3 四则运算试题生成
  9. Eclipse 工程迁移到 Android Studio
  10. 详解如何挑战4秒内百万级数据导入SQL Server(转)