hadoop(2.5) 分布式部署
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) 分布式部署相关推荐
- 胖虎的Hadoop笔记——Hadoop的伪分布式部署
胖虎的Hadoop笔记--Hadoop的伪分布式部署 本博客用于Hadoop大数据企业课笔记记录.第三步 一.VMware安装和创建虚拟机 1.VMware安装 安装包下载:https://pan.b ...
- Hadoop系列一:Hadoop集群分布式部署
1.环境准备 VirtualBox虚拟机上分布部署三套Ubuntu15.10操作系统(Linux 64位),命名为Ubuntu_Hadoop(用户名hp).Ubuntu_C(用户名c).Ubuntu_ ...
- 在hadoop中伪分布式部署的命令与步骤
HDFS是进行存储的,YARN是进行调度的. 第一步先切换到hadoop下面的etc(配置文件都在etc下面) 命令:cd /etc 然后在hadoop中配置core-site.xml 命令:Vi c ...
- 完全分布式部署Hadoop
完全分布式部署 Hadoop 分析: 1)准备 3 台客户机(关闭防火墙.静态 ip.主机名称) 2)安装 jdk 3)配置环境变量 4)安装 hadoop 5)配置环境变量 6)安装 ssh 7)配 ...
- Hadoop全分布式部署 - CentOS(结尾附视频)
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- 大数据||Hadoop分布式部署虚拟机
分布式部署 伪分布式.一台机器运行所有的守护进程,从节点datanode.nodemanager 完成分布式. 有多个从节点. datanodes.nodeManager.多节点其实就是多了几个dat ...
- day70-大数据之Hadoop部署1(单机部署与伪分布式部署)
大数据基础平台实施及运维 一.大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 1. 为什么使用大数据技术? 数据量越来越大 数据分析的实时性越来越强 数据结果的应用越来越 ...
- Hadoop伪分布式部署及常用操作
hadoop伪分布式部署 之前有做过hadoop 2.x的部署,现在再做一下hadoop 3.x的部署. hadoop有三个组件:hdfs用来存储数据,mapreduce 用来计算(作业) ,yarn ...
- 大数据之---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 ...
- Hadoop1 Centos伪分布式部署
前言: 毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...
最新文章
- 我在上海的AI新地标,看懂了明略的游戏规则
- castle之动态代理
- php 24点算法,PHP实现简单的24点游戏
- 【多线程高并发】查看Java代码对应的汇编指令教程
- 不喜欢写测试的朋友看过来,与你分享写测试的经验 做一个爱写测试的程序员...
- ApacheCN PHP 译文集 20211101 更新
- linux 环境变量设置错误导致 command not found
- FileProvider的使用
- Nginx负载均衡与健康检查
- 全球信息数据量陡增 大数据应用前景广阔
- 修改java阻塞数,加快他的运行速度
- visio2010下载地址中文版本32位中文版本64位和激活密钥方法分享哦
- 计算机设备硬件维护税收编码,自动化设备的税收编码是多少
- php实现小偷程序,PHP小偷程序的设计与实现示例
- 树莓派修改root密码
- Xilinx FPGA的Device DNA获取方法
- 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
- 【UE4】导入FBX格式的模型至UE4
- win10出现打印机无法打印,而其他显示正常,重启没反应
- 学计算机到成铁工作如何,广汉公立的高铁学铁路的学校,高铁职业技术哪些学校好...
热门文章
- 冒泡排序和选择排序的实现与比较
- 坐标转换计算七参数matlab代码,坐标系转换:已知控制点计算七参数并对数据批量转换...
- php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
- react 使用cookie react-cookies
- HarmonyOS 开发App详细步骤
- Android 网络请求(OKHttp框架)
- 7-12 我是升旗手 (10 分)
- 第四次作业3 四则运算试题生成
- Eclipse 工程迁移到 Android Studio
- 详解如何挑战4秒内百万级数据导入SQL Server(转)