刚接触hadoop,想把学习过程记录下来,以备以后忘了查阅。因为还处于学习阶段,所以配置的是Hadoop-1.2.1版本,也为了能与集群服务器上的hadoop版本兼容。
1、要在Ubuntu下配置hadoop,首先需要安装JDK,这个在这里不多说,可以查看其他教程。
2、在官网上下载hadoop-1.2.1版本的压缩包,hadoop-1.2.1.tar.gz,网址http://mirror.sdunix.com/apache/hadoop/common/。
3、先创建一个hadoop目录,我的目录是/home/hadoop
sudo mkdir /home/hadoop
4、将下载好的hadoop-1.2.1.tar.gz解压到新建的目录下
tar -zxvf Downloads/hadoop-1.2.1.tar.gz -C /home/hadoop
5、免密码SSH访问设置
在伪分布模式下(集群分布模式更需要这个设置),hadoop需要使用ssh进行通信。为了实现免密码SSH登录连接,需要进行相应的配置,方式是创建一个认证文件,然后用publickey实现免密码登录连接。
执行命令生成认证文件:
ssh -keygen -t rsa -P ""
然后会在/home/hadoop/.ssh目录下生成id_rsa认证文件,一般出现如下图所示:
将该文件复制到名为authorized_keys的文件
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
设置好了。下面可以测试下能不能登录:
ssh localhost
出现如上图就说明设置成功了。
6、修改hadoop的配置文件
配置hadoop的环境变量
打开conf/hadoop-env.sh文件,按如下形式添加内容,
sudo vim conf/hadoop-env.sh
使用source hadoop-env.sh使配置信息立即生效
配置hadoop伪分布式模式还需要配置conf目录下的core-site.xml、hdfs-site.xml、mapred-site.xml文件。core-site.xml主要配置hdfs的IP地址和端口,配置文件内容如下图:其中fs.default.name对应的value是hdfs的ip和端口;hadoop.tmp.dir对应的value是hadoop临时文件的保存目录
sudo vim conf/core-site.xml
hdfs-site.xml主要配置replication等参数信息,配置文件内容如下图,其中dfs.replication的value是数据保存的副本数,dfs.name.dir和dfs.data.dir分别是namenode和datanode的数据目录
sudo vim conf/hdfs-site.xml
mapred-site.xml主要配置Jobtracker的地址和端口,配置文件内容如下:
sudo vim conf/mapred-site.xml
9、格式化namenode
上面是最简单的伪分布式配置。完成之后要进行hadoop的namenode格式化,命令为:hadoop namenode –format,结果如下图所示
如果格式化成功,会返回一堆有关namenode的启动信息,其中会有一句“.....has been successfully formatted.”
10、启动hadoop
start-all.sh
并用命令检查一下是否正常启动
jps
11、可以通过hadoop中用于监控集群状态的web页面查看hadoop运行情况
http://localhost:50030/jobtracker.jsp
http://localhost:50060/tasktracker.jsp
http://localhost:50070/dfshealth.jsp
12、停止hadoop
stop-all.sh