- 环境准备
- 安装ssh软件。(yum install ssh\* -y)
- 本安装基于如下假设进行
- 实现每个机器的名称管理配置。(生产环境中,采用DNS来完成,测试环境可以采用修改本地hosts文件)。在master机器上配置hosts(/etc/hosts)文件:
- 实现每个机器的名称管理配置。(生产环境中,采用DNS来完成,测试环境可以采用修改本地hosts文件)。在master机器上配置hosts(/etc/hosts)文件:
配置完成执行(在master机器上执行):scp /etc/hosts 192.168.186.130:/etc/hosts;scp /etc/hosts 192.168.186.131:/etc/hosts
到此为止每个机器上都有了自己的名称。
- 解决ssh免登录(在master上免登陆其他的非master机器)
- 每个机器上执行ssh-keygen -t rsa 一直回车。
- 在master上执行ssh-copy-id master;ssh-copy-id slave1;ssh-copy-id slave2;
- 复制jdk1.6和hadoop1.2.0安装包到master的/opt目录下。
- 解决ssh免登录(在master上免登陆其他的非master机器)
- 安装软件
- 安装JDK1.6
- 这里实用的是jdk-6u45-linux-x64.bin文件,给其执行权限(chmod +x jdk-6u45-linux-x64.bin),在/opt文件夹下执行 ./jdk-6u45-linux-x64.bin
- 复制解压后的文件到/usr/java文件夹下(mv /opt/jdk1.6.0_45 /usr/java)
- 修改环境变量,并使其生效。
- source /etc/profile
- java -version测试是否安装成功。
- 安装hadoop
- 在根目录下新建/bigdata文件夹。
- 到/opt路径下解压hadoop到/bigdata文件夹下:tar -zxvf hadoop-1.2.0.tar.gz -C /bigdata/
- 到hadoop的解压文件下修改配置文件(目录conf中)
- hadoop-env.sh
- core-site.xm
- hadoop-env.sh
- 安装JDK1.6
l
第一个property指定namenode
第二个property指定namenode相关目录
第三个property指定secondarynamenode,可以不指定,不指定的话默认在master机器上(安全性不高)
- hdfs-site.xm
指定副本个数,hdfs数据存放的目录,以及seconarynamenode相关信息
- mapred-site.xml
指定jobtracker的位置
- masters
- 只有一句话:masterclone 用来指定secondarynamenode机器的名称(默认的话应该是master,这里是分开的)。
- slaves
- slave1 slave2包含所有的datanode的列表
- 修改环境变量并生效
- masters
- 分发安装环境到集群其他节点
- 分发java环境
- master上执行:scp -r /usr/java root@masterclone:/usr/java
- master上执行:scp -r /etc/profile root@masterclone:/etc/profile
- master上执行:ssh root@masterclone source /etc/profile
- 针对slave1,slave2重复以上操作。
- 分发hadoop到集群其他节点
- master上执行:scp -r /bigdata root@masterclone:/bigdata(bigdata文件夹会自动创建)
- master上执行:scp /etc/profile root@masterclone:/etc/profile
- master上执行:ssh root@masterclone source /etc/profile
- 针对slave1,slave2重复以上操作。
- 格式化namenode,并启动查看
- master上执行:hadoop namenode -format
- HADOOP_HOME/bin/start-all.sh启动hadoop,如果没有配置所示免登陆,需要我们输入多次密码,启动成功后的进程状态如下:
- master
- 分发java环境
- masterclone
- slave