Hadoop,master和slave简单的分布式搭建

搭建过程中配置免密钥登录为了以后方便使用

【提醒】安装Hadoop中会遇到新建文件夹,配置路径等问题,这个不能生搬硬套,要使用自己配置的路径,灵活使用。

Hadoop的部署配置文件在http://blog.csdn.net/beeman_xia/article/details/53391479

当初我练习这个不下十遍,熟能生巧,各位加油!

1新建master和slave两台虚拟机

2测试能否上网(浏览器登录)

3修改主机名,原始名都为localhost,为了方便区分,改名为master和slave

命令:vim /etc/sysconfig/network ,将第二行等号后面改为主机名

4查看ip地址,用命令ifconfig,如果没有则执行 ifconfig eth1 ip 自己设置ip,机子上的是eth0或者是eth1,不知道的话执行 cat /etc/sysconfig/network-scripts/ifcfg-eth1,执行不了就换成eth0.//用Tab键自动补齐也会显示自己的网卡

5修改hosts文件。执行vim /etc/hosts,在后面添加两行,格式:ip master 例如第一行192.168.5.123 master,第二行192.168.5.134 slave,如果有多台主机就继续写,ip是自己设的

6做好上述工作就可以检验是否配置好了,我们用命令ping 来检验,在master端执行ping slave ,在slave端执行ping master ,都能通就ok了。

【注】:前几步在两台机子上都要执行,不然怎么Ping?

接下来我们开始安装JDK也是两台机子都要做的

1将JDK解压,放到/usr/java目录下,我用的是JDK1.7版本的,解压的操作是 tar -zxvf jdk***

【注】,在普通用户下会遇到不能建立目录的情况,su到root用户下,然后在/usr下建立Java/目录,再修改目录的权限:chown xia:xia /usr/java,把属主和属组改成普通用户。

2配置环境变量。在家目录(xia@master~)下执行vim .bash_profile ,在后面添加两行,第一行:export JAVA_HOME=/usr/java/jdk**.第二行:export PATH=$JAVA_HOME/bin:$PATH,保存退出,执行source .bash_profile,然后测试JDK是否安装成功,执行Java -version,安装成功会有提示

接下来是免密钥登录

1在master端产生密钥,执行ssh-keygen -t rsa,然后一路回车!如果装过一次没成功有一步要输入yes。

2把密钥写进authorized_keys,执行cat .ssh/id_rsa.pub >>.ssh/authorized_keys

3修改authorized_keys的权限,执行chmod 600 .ssh/authorized_keys

4把authorized 复制到slave节点,执行scp .ssh/authorized_keys xia@slave:~/ 如果有提示输入yes/no,输入yes

6把复制过来的文件移动到.ssh目录下。执行mv quthorized_keys ~/.ssh/

7修改quthorized_keys文件的权限(第一次是在master中修改的),执行chmod 600 authorized_keys

8验证面密钥登录:直接在master执行 ssh slave。

可能还不会生效,执行ssh-add命令。

然后进行Hadoop配置部署,一共要配置7个文件

1在普通用户下,进入安装包的路径(建议放在用户目录下)

2解压Hadoop安装包:tar -zxvf ~/hadoop-2.5.2**

3进入解压后的目录 cd ~/hadoop-2.5.2

4执行ls -l 命令,看到/bin,/etc/...说明解压成功,进入配置文件目录:cd hadoop-2.5.2/etc/hadoop,hadoop的配置文件就在这里面

5配置hadoop-env.sh环境,找到export JAVA_HOME=${JAVA_HOME}; 把jdk的路径写在这里,我的是export JAVA_HOME=/usr/java/jdk1.7.0_71/

6千万不要写错,然后保存退出

7配置yarn-env.sh环境,和上一步一样,只要配置jdk路径就行了,这里注释了一行,找到后去掉注释然后修改路径,保存退出

8配置核心组件core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml。//文件放到另外的文章中,开头有地址

9配置slaves文件:在master中执行:vim hadoop-2.5.2/etc/hadoop/slaves,用slave代替里面的内容即可

10在slave也要配置这些,我们在这里直接远程复制,执行scp -r hadoop-2.5.2  xia@slave:~/,之前设置了免密钥登录,直接复制

配置hadoop启动系统环境变量

1在master中,执行vim .bash_profile,这个文件也是配置jdk的文件

2在后面加上两行,第一行:export HADOOP_HOME=/home/zkpk/hadoop-2.5.2
(要写自己Hadoop的路径)第二行:export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/shin:$PATH

3执行source.bash_profile,使文件生效

4 在用户目录下创建数据目录:mkdir hadoopdata  //配置文件里面有配置目录名称,我设置的是hadoopdata

5格式化文件系统,这个操作在master上执行:hdfs namenode -format 

6启动Hadoop 执行start-all.sh(停止是stop-all.sh)

7启动成功输入jps,master会显示4个进程,slave有3个进程

8启动虚拟机的浏览器,输入http://master:50070/检查namenode和datanode是否正常

输入http://master:18088/检查yarn是否成功

上一篇:Step by step guide to set up master and slave machines on Windows


下一篇:Jenkins安装Slave节点