千家信息网

如何在centos6.5-64bit上部署hadoop2.4.1分布式环境

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要介绍如何在centos6.5-64bit上部署hadoop2.4.1分布式环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 任务在centos6.5-64bit
千家信息网最后更新 2024年11月27日如何在centos6.5-64bit上部署hadoop2.4.1分布式环境

这篇文章主要介绍如何在centos6.5-64bit上部署hadoop2.4.1分布式环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1 任务

在centos6.5-64bit上部署hadoop2.4.1分布式环境。

2 准备虚拟机

我们不是土豪,没那么多机器给我们玩。没关系,我们使用虚拟机来部署。准备6台虚拟机,全部安装linux系统。centos、debian等都可以,但是这里用CentOS进行说明。1个maste节点,3个slave节点,另外加1个client节点用来部署nutch环境,给hdfs喂数据。最后1个monitor节点,后期用作部署监控平台,见下表:

主机名IP系统角色说明
master.hadoop192.168.122.100CentOS 6.5 64bitNameNode负责总管分布式数据和分解任务执行
slave1.hadoop192.168.122.101CentOS 6.5 64bit
DataNode负责分布式数据存储和任务的执行
slave2.hadoop
192.168.122.102CentOS 6.5 64bit
DataNode
负责分布式数据存储和任务的执行
slave3.hadoop
192.168.122.103Debian 7.5 64bit
DataNode
负责分布式数据存储和任务的执行
client.hadoop192.168.122.200CentOS 6.5 64bit
nutch solr 中文分词
利用Nutch网络爬虫给hdfs喂数据
monitor.hadoop192.168.122.201Debian 7.5 64bit
Ganglia
Nagios
监控

3 安装配置Hadoop

hadoop要求所有节点使用相同的用户、相同的目录结构部署(没有证实)。

不过我的理解:

1.使用相同的用户部署。这点比较好理解,master管理slave的时候需要登录slave节点执行脚本。如果用户不相同,脚本不能识别使用哪个用户登录slave节点。

2.不一定使用相同的路径。因为有环境变量来指向部署的路径,所以不用一定部署到相同的路径。但是如果部署路径不相同的话,管理部署不方便。所以还是尽量相同吧。

3.1 准备工作

‍ 3.1.1 配置虚拟机IP地址和主机名‍

根据上面的表格配置虚拟机ip和hostname,配置好以后在/etc/hosts文件添加以下解析。有条件配置了自己的DNS服务器的话,这步可以改成在DNS服务器中增加以下解析,然后所有节点DNS地址指向自己的DNS服务器IP。只要保证所有节点主机名称解析IP一致就达到目的了。

192.168.122.100    master.hadoop192.168.122.101    slave1.hadoop192.168.122.102    slave2.hadoop192.168.122.103    slave3.hadoop192.168.122.104    client.hadoop192.168.122.105    monitor.hadoop

完成后验证每个节点是否都能够正确解析。

3.1.2 创建用户

所有节点创建hadoop用户,master节点与slave节点之间配置ssh无密码登录。

完成后,在master.hadoop上ssh slave1.hadoop看看能否无密码登录成功。同样的测试master.hadoop到所有节点是否能够无密码登录成功。

3.1.3 安装JDK

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

这里我们选择下载linux x64版本的tar压缩包。 jdk-7u60-linux-x64.tar.gz

tar -zxvf jdk-7u60-linux-x64.tar.gzmv jdk1.7.0_60/ /usr/lib/

vim /etc/profile 加入JAVA_HOME等环境变量

# JAVAexport JAVA_HOME=/usr/lib/jdk1.7.0_60export JRE_HOME=/usr/lib/jdk1.7.0_60/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

source /etc/profile使环境变量生效,查看java版本。能够查看到版本号,说明JAVA环境配置成功了。

[root@master ~]#source /etc/profile[root@master ~]#java -versionjava version "1.7.0_55"OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

所有机器都要安装JDK。所有节点服务器的JDK使用相同的版本。

3.2 安装hadoop

slave节点的配置跟master节点是一样的。所以我们只要部署好master节点,slave节点等master节点配置好以后scp拷贝或者rsync同步到slave节点就可以了。

安装hadoop有两种方式,一种是下载hadoop二进制编译包。配置好环境变量。配置好hadoop配置文件就可以了。另外一种就是编译安装了。两种方式我都介绍一下,实际部署的时候选择其中一种就可以了。

3.2.1 解压安装编译版

下载tar包,并解压

#wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.4.1/hadoop-2.4.1.tar.gz#tar zxvf hadoop-2.4.1.tar.gz #mv hadoop-2.4.1/  /opt/#cd /opt#chown -R hadoop.hadoop hadoop-2.4.1/

配置环境变量vim /etc/profile,加入HADOOP_HOME等环境变量,其中注释掉的HADOOP_ROOT_LOGGER=DEBUG,console在调试时可以打开,打开后输出的DEBUG日志比较详细。

# HADOOPexport HADOOP_HOME=/opt/hadoopexport HADOOP_PREFIX=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_PREFIXexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/nativeexport HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoopexport HADOOP_HDFS_HOME=$HADOOP_PREFIXexport HADOOP_MAPRED_HOME=$HADOOP_PREFIXexport HADOOP_YARN_HOME=$HADOOP_PREFIX#export HADOOP_ROOT_LOGGER=DEBUG,consoleexport LD_LIBRARY_PATH=$HADOOP_PREFIX/lib/nativeexport PATH=$PATH:$HADOOP_HOME/bin

需要注意的是,apache官方提供的编译版中的native library是32bit的。运行在64bit系统启动集群时会报WARN提示,要解决这个WARN有两个方法,一个是编译源码包,得到64bit的nativ library文件后替换原来的32bit文件。 另一个方法就是网上找别人编译好的64bit native library库文件,下载替换。

3.2.2 编译安装源码版

首先需要安装一些依赖包

yum install lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel cmake

3.3 配置Hadoop

3.3.1 core-site.xml

            hadoop.tmp.dir        /home/hadoop/tmp        Abase for other temporary directories.                fs.defaultFS        hdfs://master.hadoop:9000                io.file.buffer.size        4096    

3.3.2 hdfs-site.xml

            dfs.nameservices        hadoop-cluster1                dfs.namenode.secondary.http-address        master.hadoop:50090                dfs.namenode.name.dir        file:///home/hadoop/dfs/name                dfs.datanode.data.dir        file:///home/hadoop/dfs/data                dfs.replication        3                dfs.webhdfs.enabled        true    

3.3.3 mapred-site.xml

            mapreduce.framework.name        yarn                mapreduce.jobtracker.http.address        master.hadoop:50030                mapreduce.jobhistory.address        master.hadoop:10020                mapreduce.jobhistory.webapp.address        master.hadoop:19888    

3.3.4 yarn-site.xml

            yarn.nodemanager.aux-services        mapreduce_shuffle                yarn.resourcemanager.address        master.hadoop:8032                yarn.resourcemanager.scheduler.address        master.hadoop:8030                yarn.resourcemanager.resource-tracker.address        master.hadoop:8031                yarn.resourcemanager.admin.address        master.hadoop:8033                yarn.resourcemanager.webapp.address        master.hadoop:8088    

3.3.5 slaves

slave1.hadoopslave2.hadoopslave3.hadoop

以上是"如何在centos6.5-64bit上部署hadoop2.4.1分布式环境"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

节点 配置 环境 相同 分布式 编译 变量 数据 用户 任务 登录 文件 服务器 版本 路径 服务 成功 主机 地址 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 支付的软件开发费如何做账 北京服务器机柜哪家强 网络安全处置应急预案 阿德莱德大学网络安全专业研究生 重庆互联网科技公司vi设计案例 国家网络安全宣传团日活动 浙江软件开发以客为尊 现代物流网络技术的应用 独立服务器查询 学校网络安全管理的意义 数据库设计专业大学排名 移动通信网络技术的发展历程 人渣官方服务器会删档吗 数据库技术及应用李雁翎答案 有源代码怎么搞数据库 关于数据库的备份和恢复数据 网络技术进步见证 实现一个web服务器 亚马逊数据库怎么分类 密云区一站式网络技术咨询好处 网络安全科研人员 服务器python环境安装 运城职业技术学院计算机网络技术 钛马信息网络技术 官网 本地连接虚拟机服务器延迟 数据库记录行属性 郑州小妖精网络技术有限公司 公司网络安全培训新闻稿 学校全国网络安全宣传总结 怎么转行软件开发
0