一、规划 1、本系统包括主节点1个,从节点3个,用Vmware虚拟机实现; 2、主节点hostname设为hadoop,IP地址设为192.168.137.100; 3、从节点hostname分别设为slave01、slave02,slave03,IP地址设为192.168.137.201、192.168.137.202、192.168137.203。今后如要扩充节点,依此类推; 基本原理:master及slave机器的配置基本上是一样的,所以我们的操作方式就是先配置好一台机器,然后克隆3台机器出来。这样可以节省大量的部署时间,降低出错的概率。安装配置第一台机器的时候,一定要仔细,否则一台机器错了所有的机器都错了。
二、前期准备
1、在Vmware中安装一台CentOS虚拟机; 2、设置主机名(假设叫hadoop)、IP地址,修改hosts文件; 3、关闭防火墙;
4、删除原有的JRE,安装JDK,设置环境变量;
5、设置主节点到从节点的免密码登录(此处先不做,放在第七步做);
三、安装Hadoop 在hadoop机上以root身份登录系统,按以下步骤安装hadoop:
1、 将hadoop-1.0.4.tar.gz复制到 /usr 目录;
2、 用 cd /usr命令进入 /usr目录,用 tar –zxvf hadoop-1.0.4.tar.gz进行
解压,得到一个 hadoop-1.0.4目录; 3、 为简单起见,用 mv hadoop-1.0.4 hadoop命令将hadoop-1.0.4文件夹
改名为 hadoop;
4、 用 mkdir /usr/hadoop/tmp命令,在hadoop文件夹下面建立一个tmp
目录;
5、 用vi /etc/profile 修改profile文件,在文件最后添加以下内容:
export HADOOP_HOME=/usr/hadoop export PATH=$PATH:$HADOOP_HOME/bin
6、 用 source /usr/profile命令使profile 立即生效;
四、配置Hadoop Hadoop配置文件存放在 /usr/hadoop/conf目录下,本次有4个文件需要修改。这4个文件分别是hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml。
1、 修改hadoop-env.sh,在文件末添加如下内容:
export JAVA_HOME=/usr/jdk (此处应与Java所在的目录一致) 2、 修改core-site.xml文件,在文件中添加如下内容(教材109):
(这里填master的IP地址,所有机器上都是一样的。)
3、 修改hdfs-site.xml文件,在文件中添加如下内容:
(伪分布模式下写1,如果写3,至少得有3台slave)
4、 修改mapred-site.xml文件,在文件中添加如下内容:
以上步骤,主节点和从节点都要做
五、修改/usr/hadoop/conf/masters和/usr/hadoop/conf/slaves文件。将主节点的IP地址写入masters文件,将所有从节点的IP地址写入slaves文件,每行写一个IP。
六、利用Vmware的克隆功能,克隆出3台虚拟机作为slave 1、虚拟机关机,右击虚拟机Hadoop管理克隆,按提示操作; 2、修改机器名、IP地址机其他相关配置文件;
七、配置masterslave之间免密码登录 1、在master机器及每台slave机器上分别执行ssh-keygen -t rsa命令,生成公钥/私钥对。 2、在slave01机器上用 mv id_rsa.pub id_rsa_01.pub命令将id_rsa.pub改名为rd_rsa_01.pub,然后用
scp id_rsa_01.pub root@192.168.137.100:/root/.ssh 命令将公钥
文件id_rsa_01.pub复制到master机的/root/.ssh目录。 3、在slave02机器上将公钥文件改名为id_rsa_02.pub,然后用scp命令复制到服务器的/root/.ssh目录。其他slave机器均照此操作。 4、在master机器上用root 身份登录,用cd /root/.ssh命令进入.ssh 目录。此时用ls命令可看到各个slave机器传过来的公钥文件id_rsa_01.pub、
id_rsa_02.pub等,还有master机器自己的公钥文件id_rsa.pub。 5、在master机器上用 cat *.pub >>authorized_keys 命令,将所有机器的公钥文件合并在一起,形成authorized_keys文件。 6、在master机器上用
scp authorized_keys root@192.168.137.201:/root/.ssh scp authorized_keys root@192.168.137.202:/root/.ssh
scp authorized_keys root@192.168.137.203:/root/.ssh 命令,将scp
authorized_keys 文件分别复制到每一台slave机器的/root/.ssh目录中。复制完以后可测试一下,如果一切正常,master到slave之间,以及各台slave之间应该是可以免密码登录的了。
六、验证
节点配置完成之后,余下的操作都是在master上进行操作。 1、格式化HDFS文件系统 2、启动hadoop 3、验证hadoop
具体操作见教材114-116
注意:如果采用的是伪分布式节点,5个进程都在一台机器上运行。如果采用完全分布式节点,则master上运行Namenode、SecondaryNamenode、JobTracker进程,slave上运行TaskTracker、DataNode进程。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务