hadoop学习笔记-2-安装
环境
Windows XP + VMWare WorkStation7.1 +centos6虚拟机 + JDK1.7 + Hadoop0.20.2
centos安装JDK1.7(如果使用centos自带的jdk,忽略这一步)
1. 在oracle官方网站下载最新的jdk1.7的i586的rpm包
2. 双击rpm包运行,需要root授权,即可安装成功,也可使用命令行:rpm –ivh ***
3. 卸载centos自带的openjdk,我使用的centos6.3自带了1.5和1.6两个版本,使用命令:
rpm -qa|grep gcj
查看版本号,然后使用root权限用户删除其中的jdk为1.5的,具体与centos自带的版本有关:
yum -y remove java java-1.X.Y-gcj-compat-1.X.Y.0-40jpp.115
使用命令:
rpm –qa | grep jdk
再使用上面的命令删除jdk1.6自带的
yum -y remove java java-1.X.Y-gcj-compat-1.X.Y.0-40jpp.115
4. 编辑/etc/profile文件,末尾添加环境变量(中间是冒号,classpath中开头为逗点和冒号):
export JAVA_HOME=/usr/java/jdk1.6.0_21
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5. 重启操作系统:reboot
6. 执行java –version,可以看到已经是最新的jdk1.7了
安装Hadoop0.20.2
1. 按照教材要求,安装Hadoop0.20.2,官网下载Hadoop0.20.2
2. 解压到指定目录:tar –zxvf hadoop-x.y.z.tar.gz -C /usr
3. 编辑/etc/profile文件,末尾继续添加,设置环境变量:
export HADOOP_INSTALL=/usr/hadoop-0.20.2
export PATH=$PATH:$HADOOP_INSTALL/bin
4. 重启操作系统:reboot,执行hadoop version,正常显示即安装成功
提示
1) 安装hadoop0.20.2需要指定环境变量:JAVA_HOME,所以如果使用centos自带的openjdk,需要指定添加JAVA_HOME环境变量,如:export JAVA_HOME=/usr/lib/jvm/jvm-6**
2) 查看设定的环境变量的值,可使用echo命令,如:[user@localhost ~]# echo $JAVA_HOME
安装伪分布Hadoop模式
1. 进入hadoop根目录(例如:cd/usr/hadoop-x.y.z),进入config目录,编辑其中的配置文件:core-site.xml(配置hdfs所在的机器,即namenode),hdfs-site.xml(配置复制策略),mapred-site.xml(配置job所在的机器,即jobtracker),
2. 伪分布不是真正的分布式,所以这些都为本机地址:
<!—core-site.xml-->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost</value>
</property>
<configuration>
<!—hdfs-site.xml-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<configuration>
<!—mapred-site.xml-->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
<configuration>
3. 按照下面centos设置ssh免密码登录设置ssh
4. 格式化namenode,执行hadoop namenode -format
5. 启动进程:
start-dfs.sh
start-mapred.sh
6. 验证是否正常启动。访问jobtracker:http://localhost:50030,访问namenode:http://localhost:50070,如果都能访问,说明正常启动了。
7. 关闭进程:
stop-dfs.sh
stop-mapred.sh
提示:
1. 如果不能正常运行,提示JAVA_HOME没有找到路径,则需要编辑在conf/hadoop-env.sh中指明JAVA_HOME的路径。
2. 如果还是不能运行,或者能访问50030不能访问50070,则说明namenode没有正常启动,重新格式化一次,重新启动试试:hadoop namenode -format
centos设置ssh免密码登录
1. 切换root用户,创建密码为空的RSA密钥,执行:
ssh-keygen -trsa –P ‘’ –f ~/.ssh/id_rsa
2. 将公钥添加到authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. 编辑sshd配置文件,在etc/ssh/sshd_config中,将其中的
#AuthorizedKeysFile .ssh/authorized_keys 前面的注释取消掉
4. 设置开机启动sshd服务,运行:chkconfig sshd on
5. 重启sshd服务:service sshd restart
6. 登录本机ssh试试:ssh localhost
提示:
1. Linux机器需要安装ssh,centos默认安装自带了ssh
2. 第三步是centos特别需要注意的,否则提示connect refuse错误