1. 在CentOS中安装Hadoop2.7
1.1 设置静态IP
vim /etc/sysconfig/network-script/ifcfg-eth0
service network restart
验证:执行ifconfig
1.2 修改主机名
修改当前会话中的主机名,执行命令hostname hadoop
修改配置文件中的主机名,执行命令 vim /etc/sysconfig/network
验证:重启
1.3 把hostname与ip绑定
vim /etc/hosts,增加如下一行
192.168.0.110 hadoop
验证:ping hadoop
1.4 关闭防火墙
关闭防火墙:service iptables stop
验证:service iptables status
1.5 关闭防火墙的自动运行
chkconfig iptables off
验证:chkconfig --list
1.6 SSH(Secure Shell)免密码登录
<1>执行“ssh-keygen -t rsa:产生密钥,位于~/.ssh文件夹中
<2>执行命令 cp id_rsa.pub authorized_keys
验证:ssh localhost
1.7 安装jdk
<1>rm -rf /opt/*(不用这步)
<2>使用工具winscp把文件从win复制到/opt/目录下
<3>chmod u+x jdk-6u24.bin
<4>解压缩 ./jdk-6u24.bin
<5>重命名为 mv jdk-6u24 jdk
<6>设置环境变量,执行命令 vim /etc/profile 增加两行内容
export JAVA_HOME=/opt/jdk
export PATH=.:$JAVA_HOME_/bin:$PATH
source /etc/profile,让设置立即生效
验证:java -version
1.8 安装hadoop
<1> 解压缩 tar -xzvf hadoop-2.6.3.tar.gz
<2> 执行命令 mv hadoop-2.6.3 hadoop
<3> 执行命令 vim /etc/profile 设置环境变量,增加了一行内容
export HADOOP_HOME=/opt/hadoop
修改了一行内容
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
source /etc/profile
<4> 修改hadoop的配置文件,位于$HADOOP_HOME/conf目录下
分别是 hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml
具体修改内容见
【hadoop-env.sh修改内容如下】
export JAVA_HOME=/opt/jdk
【core-site.xml的修改内容如下】
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
【hdfs-site.xml的修改内容如下】
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
【mapred-site.xml的修改内容如下】
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
<5> 执行命令 hadoop namenode -format 对hadoop进行格式化
<6> 执行命令 start-all.sh启动
验证:
<1>执行命令jps,发现5个java进程,分别是 NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker
<2>通过浏览器http://hadoop:50070 和 http://hadoop:50030
1.9 常见问题
NameNode进程没有启动成功
(1)没有格式化
(2)配置文件 *
(3)hostname与ip没有绑定
(4)SSH免密码登录没有配置成功
1.10 多次格式化hadoop也是错误的
解决方法:删除/opt/hadoop/tmp文件夹,重新格式化
2. Hadoop初步使用
Hadoop的使用一般分为三种方式,web客户端(简单),下面只讲命令行方式和HadoopAPI方式操作Hadoop
2.1 命令行方式
首先启动Hadoop,执行start-all命令
常用命令如下
2.1.1 hadoop fs -ls / 列出根目录下文件
2.1.2 hadoop fs -ls 列出用户目录下文件
2.1.3 hadoop fs -lsr 递归列出目录文件
2.1.4 hadoop fs -mkdir -P /user/sheldonwong 递归创建文件
2.1.5 hadoop fs -rm -R /tmp/* 递归删除文件
2.2 API方式