hadoop 2.5.0安装(虚拟机)
来源:互联网 发布:淘宝微淘首页 编辑:程序博客网 时间:2024/05/16 01:19
摸索了一下发现网上关于2.5的都不怎么全面自己研究了一下
参照这两个帖子基本可以成功。
这个帖子比较全面不过是2.2的http://blog.csdn.net/bluishglc/article/details/24591185
前期准备内容参照http://blog.csdn.net/flyqwang/article/details/7244552/
1 先决条件
确保在你集群中的每个节点上都安装了所有必需软件:sun-JDK ,ssh,Hadoop
JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。
ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。
2 实验环境搭建
2.1 准备工作
操作系统:Ubuntu
部署:Vmvare
在vmvare安装好一台Ubuntu虚拟机后,可以导出或者克隆出另外两台虚拟机。
先修改主机名方便识别/etc/hostname"文件修改其中"HOSTNAME"
如master机将HOSTNAME改为master
slave1机改为slave1依次类推
说明:
保证虚拟机的ip和主机的ip在同一个ip段,这样几个虚拟机和主机之间可以相互通信。
为了保证虚拟机的ip和主机的ip在同一个ip段,虚拟机连接设置为桥连。
IP设置成固定IP
准备机器:一台master,若干台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访,例如:192.168.0.200 slave1(node2)
192.168.0.201 slave2(node3)
主机信息:
机器名 IP地址作用Node1192.168.0.199NameNode、JobTrackerNode2192.168.0.200DataNode、TaskTrackerNode3192.168.0.201DataNode、TaskTracker为保证环境一致先安装好JDK和ssh:
2.2 安装JDK
#安装JDK$ sudo apt-get install sun-java6-jdk1.2.3
这个安装,java执行文件自动添加到/usr/bin/目录。
验证 shell命令 :java -version 看是否与你的版本号一致。
2.3下载、创建用户
$ useradd hadoop
$ cd /home/hadoop
在所有的机器上都建立相同的目录,也可以就建立相同的用户,最好是以该用户的home路径来做hadoop的安装路径。
例如在所有的机器上的安装路径都是:/home/hadoop/hadoop,这个不需要mkdir,在/home/hadoop/下解压hadoop包的时候,会自动生成)
(当然可以安装/usr/local/目录下,例如/usr/local/hadoop/
chown -R hadoop /usr/local/hadoop/
chgrp -R hadoop /usr/local/hadoop/
)
(最好不要使用root安装,因为不推荐各个机器之间使用root访问 )
2.4 安装ssh和配置
1) 安装:sudo apt-get install ssh
执行$ netstat -nat 查看22端口是否开启了。
测试:ssh localhost。
输入当前用户的密码,回车就ok了。说明安装成功,同时ssh登录需要密码。
(这种默认安装方式完后,默认配置文件是在/etc/ssh/目录下。sshd配置文件是:/etc/ssh/sshd_config):
注意:在所有机子都需要安装ssh。
2) 配置:
在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个datanode上的各种守护进程的,这就须要在节点之间执行指令的时候是不须要输入密码的形式,故我们须要配置SSH运用无密码公钥认证的形式。
以本文中的三台机器为例,现在node1是主节点,他须要连接node2和node3。须要确定每台机器上都安装了ssh,并且datanode机器上sshd服务已经启动。
( 说明:hadoop@hadoop~]$ssh-keygen -t rsa
这个命令将为hadoop上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/home/hadoop/.ssh/authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接复制过去就行.)
3) 首先设置namenode的ssh为无需密码的、自动登录。
切换到hadoop用户( 保证用户hadoop可以无需密码登录,因为我们后面安装的hadoop属主是hadoop用户。)
$ su hadoop
cd /home/hadoop
$ ssh-keygen -t rsa
完成后,在home跟目录下会产生隐藏文件夹.ssh
$ cd .ssh
之后ls 查看文件
cp id_rsa.pub authorized_keys
测试:
$ssh localhost
或者:
$ ssh master
第一次ssh会有提示信息:
The authenticity of host ‘master (10.64.56.76)’ can’t be established.
RSA key fingerprint is 03:e0:30:cb:6e:13:a8:70:c9:7e:cf:ff:33:2a:67:30.
Are you sure you want to continue connecting (yes/no)?
输入 yes 来继续。这会把该服务器添加到你的已知主机的列表中
发现链接成功,并且无需密码。
4 ) 复制authorized_keys到node2 和node3 上
为了保证node1可以无需密码自动登录到node2和node3,先在node2和node3上执行
$ su hadoop
cd /home/hadoop
$ ssh-keygen -t rsa一路按回车.然后回到node1,复制authorized_keys到node2 和node3
[hadoop@hadoop .ssh]$ scp authorized_keys slave1:/home/hadoop/.ssh/
[hadoop@hadoop .ssh]$ scp authorized_keys slave2:/home/hadoop/.ssh/
这里会提示输入密码,输入hadoop账号密码就可以了。改动你的 authorized_keys 文件的许可权限
[hadoop@hadoop .ssh]$chmod 644 authorized_keys
测试:ssh node2或者ssh node3(第一次需要输入yes)。如果不须要输入密码则配置成功,如果还须要请检查上面的配置能不能正确。
还不好使删除用户重试或者参考这个帖子
http://blog.csdn.net/joe_007/article/details/8298814
之后的内容参照2.2版的就可以
- JAVA_HOME=/usr/java/jdk1.7.0_51
- HADOOP_HOME=/usr/local/hadoop
- PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- export JAVA_HOME HADOOP_HOME PATH
- export JAVA_HOME=/your/java/home
- export HADOOP_LOG_DIR=/var/hadoop/logs
- export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
- export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://YOUR-NAMENODE:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/var/hadoop</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>YOUR-SECONDARY-NAMENODE:50090</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
- dfs.namenode.secondary.http-address //指定secondary namenode结点,若不指定,在使用start-dfs.sh启动时,当前节点将自动成为secondary namenode
- dfs.replication //每一个block的复制份数,默认是3,如果集群datanode结点数量小于3应将该值设置小于或等于datanode的结点数量
- dfs.namenode.name.dir //存放namenode相关数据的文件夹
- dfs.datanode.data.dir //存放datanade相关数据的文件夹
- dfs.namenode.checkpoint.dir //存放secondary namenode相关数据的文件夹
在${HADOOP_HOME}/etc/hadoop下拷贝一份mapred-site.xml.template命名为mapred-site.xml,添加如下内容:
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
- mapreduce.cluster.local.dir
- mapreduce.jobtracker.system.dir
- mapreduce.jobtracker.staging.root.dir
- mapreduce.cluster.temp.dir
- <configuration>
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>YOUR-RESOURCE-MANAGER</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- </configuration>
- yarn.nodemanager.local-dirs
- yarn.resourcemanager.fs.state-store.uri
以下单独启动某项服务的命令:
启动namenode
启动secondarynamenode
hadoop-daemon.sh start secondarynamenode
启动datanode
start-yarn.sh
该命令可以任意结点上执行。其slaves结点与hdfs一样,读取的也是${HADOOP_HOME}/etc/hadoop/slaves文件。
启动resourcemanager
yarn-daemon.sh start resourcemanager
- export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
- export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
4.3:Error: JAVA_HOME is not set and could not be found.
虽然你已经在各个节点上正确的配置了JAVA_HOME,但是启动时还是可能会报出上述错误,从etc/hadoop/hadoop-env.sh文件关于第一行配置:export JAVA_HOME=${JAVA_HOME}的注释上来看,对于一个分布式集群,这里JAVA_HOME最好显式地指明而不要使用默认的${JAVA_HOME}。对于etc/hadoop/yarn-env.sh也是如此!
- hadoop 2.5.0安装(虚拟机)
- hadoop之虚拟机安装hadoop
- hadoop-2.5.1虚拟机上集群安装
- hadoop安装(三台虚拟机)一些常见问题
- 安装hadoop集群(三台REDHAT虚拟机)
- centos虚拟机安装hadoop
- 安装配置Hadoop虚拟机集群
- mac 虚拟机安装 hadoop 2.7
- 虚拟机 ubuntu+离线安装hadoop
- hadoop系列之一虚拟机安装
- 虚拟机安装Hadoop环境-1
- Hadoop 2.2.0 安装 (4台CentOs 虚拟机)
- 在centos虚拟机中安装hadoop(伪分布式模式)
- Hadoop学习(2)——虚拟机安装
- Hadoop完全分布式集群安装及配置(基于虚拟机)
- hadoop基础------虚拟机(二)---虚拟机安装以及安装linux系统
- hadoop入门_001-linux虚拟机的安装
- vm(centos) 虚拟机安装 for hadoop
- java 操作数据库clob类型大字段
- 生产者与消费者问题
- 开源ext2read代码走读之-ext2文件系统中的超级块及对应代码
- 致我们终将忘记的算法(数组也疯狂)
- android模拟硬键盘操作
- hadoop 2.5.0安装(虚拟机)
- STL list讲解
- 神奇的算法:B树
- 运输问题 最小费用最大流
- HDU_2602_背包问题
- 什么是Newtonsoft.Json.dll
- 年轻人怎么创业
- xcode快捷键使用
- arm linux中一些重要的宏及地址定义