linux下安装hadoop-2.0.0-alpha(双namenode federation)安装过程整理

2024-02-19 11:58

本文主要是介绍linux下安装hadoop-2.0.0-alpha(双namenode federation)安装过程整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,安装环境与配置前准备工作

硬件:4个虚拟机分别为master1:192.168.1.220,master2:192.168.1.221,slave1:192.168.1.222,slave2:192.168.1.223

系统:红帽 LINUX 5

HADOOP版本:最新版本hadoop-2.0.0-alpha  安装包为hadoop-2.0.0-alpha.tar.gz

下载官网地址:http://apache.etoak.com/hadoop/common/hadoop-2.0.0-alpha/

JDK版本:jdk-6u6-linux-i586.bin(最低要求为JDK 1.6)

虚拟机的安装和LINUX的安装不介绍,GOOGLE一大堆

创建相关目录:mkdir /usr/hadoop(hadoop安装目录)mkdir /usr/java(JDK安装目录)


二,安装JDK(所有节点都一样)

1,将下载好的jdk-6u6-linux-i586.bin通过SSH上传到/usr/java下

2,进入JDK安装目录cd /usr/java 并且执行chmod +x jdk-6u6-linux-i586.bin

3,执行./jdk-6u6-linux-i586.bin(一路回车,遇到yes/no全部yes,最后会done,安装成功)

4,配置环境变量,执行cd /etc命令后执行vi profile,在行末尾添加

export JAVA_HOME=/usr/java/jdk1.6.0_27

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar

export PATH=$JAVA_HOME/bin:$PATH


5,执行chmod +x profile将其变成可执行文件

6,执行source profile使其配置立即生效

7,执行java -version查看是否安装成功


三,修改主机名,所有节点均一样配置

1,连接到主节点192.168.1.220,修改network,执行cd /etc/sysconfig命令后执行vi network,修改HOSTNAME=master1

2,修改hosts文件,执行cd /etc命令后执行vi hosts,在行末尾添加:

192.168.1.220   master1

192.168.1.221   master2

192.168.1.222   slave1

192.168.1.223   slave2

3,执行hostname master1

4,执行exit后重新连接可看到主机名以修改OK


四,配置SSH无密码登陆

1,SSH无密码原理简介:首先在master上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到所有的slave上。

然后当master通过SSH连接slave时,slave就会生成一个随机数并用master的公钥对随机数进行加密,并发送给master。

最后master收到加密数之后再用私钥解密,并将解密数回传给slave,slave确认解密数无误之后就允许master不输入密码进行连接了

2,具体步骤:

1、执行命令ssh-keygen -t rsa之后一路回车,查看刚生成的无密码钥对:cd .ssh 后执行ll

2、把id_rsa.pub追加到授权的key里面去。执行命令cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

3、修改权限:执行chmod 600 ~/.ssh/authorized_keys

4、确保cat /etc/ssh/sshd_config 中存在如下内容

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

如需修改,则在修改后执行重启SSH服务命令使其生效:service sshd restart

5、将公钥复制到所有的slave机器上:scp ~/.ssh/id_rsa.pub 192.168.1.222:~/    然后输入yes,最后输入slave机器的密码

6、在slave机器上创建.ssh文件夹:mkdir ~/.ssh 然后执行chmod 700 ~/.ssh(若文件夹以存在则不需要创建)

7、追加到授权文件authorized_keys执行命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 然后执行chmod 600 ~/.ssh/authorized_keys

8、重复第4步

9、验证命令:在master机器上执行 ssh 192.168.1.222发现主机名由master1变成slave1即成功,最后删除id_rsa.pub文件:rm -r id_rsa.pub

3,按照以上步骤分别配置master1,master2,slave1,slave2,要求每个master与每个slave之间都可以无密码登录


五,安装HADOOP,所有节点都一样

1,将hadoop-2.0.0-alpha.tar.gz上传到HADOOP的安装目录/usr/hadoop中

2,解压安装包:tar -zxvf hadoop-2.0.0-alpha.tar.gz

3,创建tmp文件夹:mkdir /usr/hadoop/tmp

4,配置环境变量:vi /etc/profile

export HADOOP_DEV_HOME=/usr/hadoop/hadoop-2.0.0-alpha

export PATH=$PATH:$HADOOP_DEV_HOME/bin

export PATH=$PATH:$HADOOP_DEV_HOME/sbin

export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}

export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}

export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}

export YARN_HOME=${HADOOP_DEV_HOME}

export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

5,配置HADOOP

配置文件位于/usr/hadoop/hadoop-2.0.0-alpha/etc/hadoop下

1、创建并配置hadoop-env.sh

vi /usr/hadoop/hadoop-2.0.0-alpha/etc/hadoop/hadoop-env.sh 在末尾添加export JAVA_HOME=/usr/java/jdk1.6.0_27

2、配置core-site.xml文件

<property>

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

   <value>/usr/hadoop/tmp</value>

</property>

3、创建并配置slaves:vi slaves 并添加以下内容

192.168.1.222

192.168.1.223

4、配置hdfs-site.xml

<configuration>

<property>

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

   <value>file:/usr/hadoop/hdfs/name</value>

   <final>true</final>

</property>


<property>

   <name>dfs.federation.nameservice.id</name>

   <value>ns1</value>

</property>


<property>

   <name>dfs.namenode.backup.address.ns1</name>

   <value>192.168.1.223:50100</value>

</property>


<property>

   <name>dfs.namenode.backup.http-address.ns1</name>

   <value>192.168.1.223:50105</value>

</property>


<property>

   <name>dfs.federation.nameservices</name>

   <value>ns1,ns2</value>

</property>


<property>

   <name>dfs.namenode.rpc-address.ns1</name>

   <value>192.168.1.220:9000</value>

</property>


<property>

   <name>dfs.namenode.rpc-address.ns2</name>

   <value>192.168.1.221:9000</value>

</property>


<property>

   <name>dfs.namenode.http-address.ns1</name>

   <value>192.168.1.220:23001</value>

</property>


<property>

   <name>dfs.namenode.http-address.ns2</name>

   <value>192.168.1.221:13001</value>

</property>


<property>

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

   <value>file:/usr/hadoop/hdfs/data</value>

   <final>true</final>

</property>


<property>

   <name>dfs.namenode.secondary.http-address.ns1</name>

   <value>192.168.1.220:23002</value>

</property>


<property>

   <name>dfs.namenode.secondary.http-address.ns2</name>

   <value>192.168.1.221:23002</value>

</property>


<property>

   <name>dfs.namenode.secondary.http-address.ns1</name>

   <value>192.168.1.220:23003</value>

</property>


<property>

   <name>dfs.namenode.secondary.http-address.ns2</name>

   <value>192.168.1.221:23003</value>

</property>


</configuration>


5、配置yarn-site.xml

<configuration>


<!-- Site specific YARN configuration properties -->

<property>

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

   <value>192.168.1.220:18040</value>

</property>


<property>

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

   <value>192.168.1.220:18030</value>

</property>


<property>

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

   <value>192.168.1.220:18088</value>

</property>


<property>

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

   <value>192.168.1.220:18025</value>

</property>


<property>

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

   <value>192.168.1.220:18141</value>

</property>


<property>

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

   <value>mapreduce.shuffle</value>

</property>

</configuration>


六,启动HADOOP集群,并测试WORDCOUNT

1,格式化 namenode:分别在两个master上执行:hadoop namenode -format -clusterid eric

2,启动HADOOP:在master1执行start-all.sh或先执行start-dfs.sh再执行start-yarn.sh

3,分别在各个节点上执行jps命令,显示结果如下即成功启动:

[root@master1 hadoop]# jps

1956 Bootstrap

4183 Jps

3938 ResourceManager

3845 SecondaryNameNode

3652 NameNode

[root@master2 ~]# jps

3778 Jps

1981 Bootstrap

3736 SecondaryNameNode

3633 NameNode

[root@slave1 ~]# jps

3766 Jps

3675 NodeManager

3551 DataNode

[root@slave1 ~]# jps

3675 NodeManager

3775 Jps

3551 DataNode

4,在master1上,创建输入目录:hadoop fs -mkdir hdfs://192.168.1.220:9000/input

5,将/usr/hadoop/hadoop-2.0.0-alpha/目录下的所有txt文件复制到hdfs分布式文件系统的目录里,执行以下命令

hadoop fs -put /usr/hadoop/hadoop-2.0.0-alpha/*.txt hdfs://192.168.1.220:9000/input

6,在master1上,执行HADOOP自带的例子,wordcount包,命令如下:

cd /usr/hadoop/hadoop-2.0.0-alpha/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.0.0-alpha.jar wordcount hdfs://192.168.1.220:9000/input hdfs://192.168.1.220:9000/output

7,在master1上,查看结果命令如下:

[root@master1 hadoop]# hadoop fs -ls hdfs://192.168.1.220:9000/output

Found 2 items

-rw-r--r--   2 root supergroup          0 2012-06-29 22:59 hdfs://192.168.1.220:9000/output/_SUCCESS

-rw-r--r--   2 root supergroup       8739 2012-06-29 22:59 hdfs://192.168.1.220:9000/output/part-r-00000

[root@master1 hadoop]# hadoop fs -ls hdfs://192.168.1.220:9000/input

Found 3 items

-rw-r--r--   2 root supergroup      15164 2012-06-29 22:55 hdfs://192.168.1.220:9000/input/LICENSE.txt

-rw-r--r--   2 root supergroup        101 2012-06-29 22:55 hdfs://192.168.1.220:9000/input/NOTICE.txt

-rw-r--r--   2 root supergroup       1366 2012-06-29 22:55 hdfs://192.168.1.220:9000/input/README.txt

[root@master1 hadoop]# hadoop fs -cat  hdfs://192.168.1.220:9000/output/part-r-00000即可看到每个单词的数量

8,可以通过IE访问:http://192.168.1.220:23001/dfshealth.jsp

到此整个过程就结束了………

本人水平有限,第一次发帖,内容不太详细,不敢做过多的解释,希望大家一起讨论,谢谢!!!!

参考文献:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
http://blog.csdn.net/azhao_dn/article/details/7480201
http://www.cnblogs.com/MGGOON/archive/2012/03/14/2396481.html
http://www.haogongju.net/art/763686
以及官方网站

这篇关于linux下安装hadoop-2.0.0-alpha(双namenode federation)安装过程整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/724585

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte