1. 安装前资源准备
- 操作系统(我在这里使用的是centos 6.5 64bit)
- 准备jdk的安装包
3.准备Hadoop安装包
2. 必要环境搭建
2.1 Java环境配置
以root用户登录系统
我把jdk安装到/opt目录下,进入该目录进行解压,命令如下
现在该目录下多了jdk1.7.0_71这个文件夹
现在开始配置Java环境,用vi编辑器打开/etc/profile
到文件末尾插入如下配置:
export JAVA_HOME=/opt/jdk1.7.0_71
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
然后退出保存wq
执行source /etc/profile使环境变量生效,然后执行java –version 检验环境是否配置成功,如下图则说明配置成功。
2.2 基础环境登录
2.2.1 修改主机名
在root用户下编辑/etc/sysconfig/network文件
命令:vi /etc/sysconfig/network
将主机名修改为任意名字,我在这里将主机名修改为hadoop。wq保存并退出
修改主机名后需要重启后才能看到效果
修改完主机名后需要更改hosts文件,否则系统不能识别主机名
2.2.2 添加新用户
在这里不建议使用root用户,root权限太大可能会造成很多意外。
先添加一个用户组,我添加一个hadoop用户组
命令:groupadd hadoop
添加新用户,添加一个hadoop用户
命令:useradd hadoop –g hadoop
再为hadoop用户设置密码
命令:passwd hadoop
2.2.3 关闭防火墙
切换到root用户下,执行service iptables stop,然后继续执行chkconfig iptables off禁止防火墙开机自启动。
查看防火墙状态的命令为:service iptables status,若显示如下则证明防火墙已经关闭。
2.2.4 关闭Selinux
执行sestatus –v 查看selinux状态,如果如下显示为enabled,则说明selinux正在工作,需要进行关闭。
编辑文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启机器即可,这样每次机器启动时SELINUX均未关闭状态。
重启后进行验证,输入sestatus –v,如下图则为已经禁用
2.3 SSH 无密码登录
切换至hadoop用户,在hadoop用户目录下
执行ssh-keygen -t rsa,一路回车
将公钥文件添加到~/.ssh/authorized_keys文件中
修改~/.ssh/authorized_keys文件的权限
chmod 600 .ssh/authorized_keys
使用ssh localhost测试是否配置成功。
如果成功则不会提示输入密码。
3. Hadoop环境配置
3.1 解压文件
命令:tar -zxvf cdh/hadoop-2.6.0-cdh5.4.1.tar.gz
3.2 配置Hadoop环境变量
由于hadoop环境只供hadoop用户进行使用,则只需要在.bash_profile中进行配置即可。
vi .bash_profile
保存退出后执行source .bash_profile
3.3 修改Hadoop配置文件
3.3.1 在hadoop文件中加入java_home目录
在以下三个文件中添加export JAVA_HOME=/opt/jdk1.7.0_71(Hadoop配置文件位于$HADOOP_HOME/etc/hadoop/下)
hadoop-env.sh
yarn-env.sh
mapred-env.sh
3.3.2 配置core-site.xml
vi core-site.xml 添加以下内容
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.0-cdh5.4.1/data/tmp</value>
</property>
1处为主节点的主机名,由于我们采用的是伪分布式部署,则此处为本机主机名,即hadoop。
2处为hadoop临时文件存放目录
3.3.3 配置hdfs-site.xml
vi hdfs-site.xml 添加如下内容
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-2.6.0/data/dfs/namenode/name</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///opt/hadoop-2.6.0/data/dfs/namenode/edits</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-2.6.0/data/dfs/datanode</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///opt/hadoop-2.6.0/data/dfs/secondarynamenode/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
这里为文件副本数量,伪分布式设置为1就够了
3.3.4 配置yarn-site.xml
vi yarn-site.xml 添加如下内容
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
3.3.5 配置mapred-site.xml
vi mapred-site.xml 添加如下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.4 启动Hadoop
启动之前先格式化namenode,命令如下
hdfs namenode -format
确定启动成功后再启动Hadoop
启动hdfs,命令如下
Start-dfs.sh,如果在过程中要求输入yes or no,直接输入yes 回车,启动完毕后使用jps命令查看进程,查看是否有如下进程,若有则说明启动成功。
启动yarn,命令如下
Start-yarn.sh,同理使用jps查看进程
至此,Hadoop配置完成。