Hadoop配置文档(一)
下载安装
下载jdk-7u80-linux-x64.tar.gz
sudo tar -xvf jdk-7u80-linux-x64.tar.gz -C /opt/modules/
下载hadoop-1.2.1-bin.tar.gz
sudo tar -xvf hadoop-1.2.1-bin.tar.gz -C /opt/modules/
现在各位小伙伴Hadoop2用的比较多,原理是一样的
我这边的目录结构如下
/opt
/data //数据文件,输入输出文件
/modules //安装文件,Hadoop JDK ZooKeeper...
/softwares // 压缩包文件存放,hadoop.tar.gz ...
/conf //配置文件 想用独立配置可以自行设置配置
/opt默认是没有权限的,所以需要更改权限
chown USERNAME /opt //更改文件夹所属用户,USERNAME直接更改为自己的用户名就可以,以后就不必使用Sudo
chgrp USERGROUP /opt //更改文件夹所属用户组,有需要的可以在详细了解
有些小伙伴会因为权限设置问题导致namenode datanode启动故障
可以查询文件权限,通过上述方法进行修改
sudo权限 无密码
切换到root权限下
vim /etc/suders
添加
USERNAME ALL=(root)NOPASSWD:ALL
组件依赖
环境配置
JAVA环境配置
编辑/etc/profile文件,末尾增加
或新建/etc/profile.d/development.sh,写入
## JAVA
export JAVA_HOME=/opt/modules/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
切换到root,执行
source /etc/profile
配置生效,退出root切换回管理员
java -version
检查是否生效
Hadoop环境配置–本地模式
编辑/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测试
Hadoop环境配置–伪分布模式
关闭防火墙
首先需要切换到root 用户,关闭FIREWALL
service iptables stop //关闭防火墙,下次开机还会启动
service iptables status //查看防火墙状态
结果正确如下,防火墙关闭
iptables: Firewall is not running.
也可使用
chkconfig iptables on //开启防火墙开机启动
chkconfig iptables off //关闭防火墙开机启动
禁用SElinux
vim打开/etc/sysconfig/selinux,设置SELINUX=disabled
静态IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
.....
IPADDR=192.168.40.128
.....
静态IP地址可以按照自己情况来配置。
修改HOSTNAME和HOST
hostname指令可以查看当前hostname
方法一 用这种方式修改hostname之后重启之后回恢复
hostname ----
方法二 修改之后,重启不回复
vim /etc/sysconfig/network
HOSTNAME=----
配置host文件
vim /etc/hosts
添加
IP 域名 HOSTNAME
IP需要和静态IP对应,HOSTNAME也需要对应,域名可以自己设置
设置SSH自动登录
切换到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交互。