下载jdk-7u80-linux-x64.tar.gz
sudo tar -xvf jdk-7u80-linux-x64.tar.gz -C /opt/modules/java
下载hadoop-1.2.1-bin.tar.gz
sudo tar -xvf hadoop-1.2.1-bin.tar.gz -C /opt/modules/node
如今各位小伙伴Hadoop2用的比较多,原理是同样的
我这边的目录结构以下linux
/opt /data //数据文件,输入输出文件 /modules //安装文件,Hadoop JDK ZooKeeper... /softwares // 压缩包文件存放,hadoop.tar.gz ... /conf //配置文件 想用独立配置能够自行设置配置
/opt默认是没有权限的,因此须要更改权限vim
chown USERNAME /opt //更改文件夹所属用户,USERNAME直接更改成本身的用户名就能够,之后就没必要使用Sudo chgrp USERGROUP /opt //更改文件夹所属用户组,有须要的能够在详细了解
有些小伙伴会由于权限设置问题致使namenode datanode启动故障
能够查询文件权限,经过上述方法进行修改ssh
切换到root权限下分布式
vim /etc/suders
添加oop
USERNAME ALL=(root)NOPASSWD:ALL
编辑/etc/profile文件,末尾增长学习
或新建/etc/profile.d/development.sh,写入测试
## JAVA export JAVA_HOME=/opt/modules/jdk1.7.0_80 export PATH=$PATH:$JAVA_HOME/bin
切换到root,执行.net
source /etc/profile
配置生效,退出root切换回管理员
java -version
检查是否生效
编辑/etc/profile文件,末尾增长
或/etc/profile.d/development.sh,写入
## HADOOP export HADOOP_HAOME=/opt/modules/opt/hadoop-1.2.1 export PATH=$PATH:$HADOOP_HOME/bin
切换到root,执行
source /etc/profile
配置生效,退出root切换回管理员
hadoop
检验是否生效,若生效,切换到/opt/modules/hadoop-1.2.1/conf目录下
sudo vim hadoop-env.sh
将其中JAVA_HOME启用,并改成前项JAVA_HOME的地址
MapReduce测试
首先须要切换到root 用户,关闭FIREWALL
service iptables stop //关闭防火墙,下次开机还会启动 service iptables status //查看防火墙状态
结果正确以下,防火墙关闭
iptables: Firewall is not running.
也可以使用
chkconfig iptables on //开启防火墙开机启动 chkconfig iptables off //关闭防火墙开机启动
vim打开/etc/sysconfig/selinux,设置SELINUX=disabled
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ..... IPADDR=192.168.40.128 .....
静态IP地址能够按照本身状况来配置。
hostname指令能够查看当前hostname
方法一 用这种方式修改hostname以后重启以后回恢复
hostname ----
方法二 修改以后,重启不回复
vim /etc/sysconfig/network HOSTNAME=----
配置host文件
vim /etc/hosts
添加
IP 域名 HOSTNAME
IP须要和静态IP对应,HOSTNAME也须要对应,域名能够本身设置
切换到User(推荐,root下也能够完成,但不符合设计原则)
ssh-keygen -t rsa cd ~/.ssh/
keygen以后能够按照本身的需求设计密码,此时.ssh文件有两个文件,id_rsa和id_rsa.pub,分别是SSH生成的公钥和私钥。复制公钥到当前文件夹下,名字必须命名为authorized_keys
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
此时能够经过SSH链接,首次链接会有询问,链接以后会在.ssh文件夹中know_hosts文件记录,在此链接则不会须要。此时能够添加刚刚配置好的hosts
ssh HOSTNAME exit
链接以后须要断开。
此时SSH协议的配置用于伪分布式中NameNode与DataNode交互。