在本章中学习如何在CentOS 6.4上安装配置Hadoop开发环境。
配置ssh及生成密码对
首先需要安装ssh:
引用
# yum install ssh
紧接着启动ssh,并将之设置开机运行:
引用
# service sshd start
# chkconfig sshd on
好,现在已经安装并启动了sshd,接下来我们来为hadoop生成面登录的密码对:
引用
# ssh-keygen
然后接下来的交互中一路回车,如下图所示:
再然后将刚才生成的公钥copy到.ssh/authorized_keys目录下:
引用
# cd /root/.ssh
# cat ./id_rsa.pub>>./authorized_keys
这样,ssh和免密码登录的配置就应经好了,见下图:
配置机器时间同步
手动同步:
引用
# usr/sbin/ntpdate cn.pool.ntp.org
自动同步:
引用
# crontab e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
安装Hadoop 1.0.3
在安装hadoop之前,需要先配置Java环境,java安装过程这里不再赘述。
下载并解压hadoop 1.0.3:
引用
# wget https://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/hadoop-1.0.3-bin.tar.gz
# chmod +x hadoop-1.0.3-bin.tar.gz
# tar xzvf hadoop-1.0.3-bin.tar.gz
然后将hadoop-1.0.3复制到/opt/bigdata目录下:
引用
# cp -rf hadoop-1.0.3 /opt/bigdata
紧接着配置hadoop的环境:
引用
# vi /ect/profile.d/java.sh
引用
# source /etc/profile
然后我们来看配置后的效果:
最后,配置hadoop的一些相关配置文件:
1、配置$HADOOP_HOME/conf/hadoop-env.sh,在文件的末尾添加下面内容:
引用
#set java environment
export JAVA_HOME=/usr/local/jdk6
2、配置core-site.xml文件
core-site.xml是Hadoop核心配置文件,这里配置的是HDFS的地址和端口号:
引用
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/bigdata/hadoop-tmp</value>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错
3、配置hdfs-site.xml文件
修改Hadoop中HDFS的配置,配置的备份方式默认为3:
引用
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<configuration>
4、配置mapred-site.xml文件
配置的是JobTracker的地址和端口:
引用
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
好了,到这里hadoop在CentOS 6.4下的伪分布式环境已经陪好了。
最后一步还要修改/etc/hosts,将用户名映射到127.0.0.1,如:
引用
127.0.0.1 JackyChen
不然DataNode节点启动不起来。接下来然我们初始化NameNode:
引用
# cd bin
# hadoop namenode -format
最后启动hadoop:
引用
# ./start-all.sh