apache hadoop初体验
来源:互联网 发布:淘宝旺铺基础班页头 编辑:程序博客网 时间:2024/06/07 11:15
我选择了amazon ec2作为了体验平台,总体来讲对于免费一年的试用产品来说真的很好用~账户注册和使用方面的就不在这里说了,网上应该资料很多,如果有需要也可以PM我,我可以另外再写一个详细的amzon aws使用攻略。这里就先从创建完所有的AMI的状态开始讲,下图是我建好的5个AMI,这里有一点要注意,就是AMI必须处于同一个Security Group中,名字就不要在意了,刚开始对这些概念都不熟,别被我误导了
然后你还需要确认你的security group的网络通讯策略,点击左侧的Security Groups到下图所示页面
点击右下的inbound标签页设置网络路由策略,对于hadoop来说,所有的TCP端口通讯就可以,SSH的22端口通讯是默认存在的不用管他,好了,系统环境就这样搞定了,下面开始hadoop运行环境的部署:
1.安装jdk,hadoop1.0.0要求1.5及以上版本,我用的是1.6.0_29,linux的jdk安装文件其实就是一个解压缩而已,纯绿色,一般会解压到你运行安装文件的目录,然后用sudo vim /etc/profile 这里的sudo表示以root权限运行程序,需要你输入当前用户的密码,不过AMI这里不需要所以不用理会,在profile文件里添加以下语句
export JAVA_HOME=YOUR_JDK_DIR
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
然后保存退出,source /etc/profile 使配置生效,可以使用如下命令验证配置是否生效 java -version 来查看jdk版本;
2.配置namenode到其他所有节点的ssh证书登陆
运行如下命令 ssh-keygen -t rsa 接下来的选项全部保持默认直接回车,然后cd /home/ec2-user/.ssh目录会看到id_rsa id_rsa.pub authorized_keys这三个文件authorized_key这个文件没有的话就自己创建,然后将id_rsa.pub文件中的内容复制添加到authorized_key文件的末尾,同时把id_rsa.pub文件的内容添加到所有其他节点机器的authorized_key文件中,然后测试下namenode到其他所有node的ssh登陆 ssh ip-10-194-23-155(这个是我的机器名,换成相应的机器名就行) ,ec2上的AMI内网都有完善的DNS所以省去了我们手动去配置hosts文件的麻烦途中ec2-user为默认的AMI登陆用户,@后面的就是相应的机器名称了,我们之后配置hadoop全部采用这个名字。
3.下载 安装hadoop
下载就不多说了,apache官方项目页随便找个镜像下下来就行hadoop1.0.0.tar.gz
安装,说是安装,其实就是解压缩……tar -xf hadoop1.0.0.tar.gz 当前目录下就会多出一个hadoop1.0.0的目录,好了,安装完成 /被打晕拖走
4.配置hadoop
下面就是正题了,hadoop分布式集群的搭建:
根据第一张图我们可以看到集群中包含5个AMI,今天我们暂时只用其中四个,分别命名为
namenode tasktracker01 tasktracker02 tasktracker03
首先开始配置namenode
cd ~/hadoop/hadoop1.0.0/conf 进入hadoop配置文件文件夹,对于最基本集群配置也就是 apache官方所说的hadoop-deamon(这种基本配置是无法真正应用于大型分布式运算平台的),我们只需要修改其中4个文件
core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://namenode:9000</value><!-- 此处namenode为主节点的hostname 9000为端口,可以自由选择 -->
</property>
</configuration>
mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>namenode:9001</value> <!-- 此处namenode为jobtracker的hostname,可以选择使用独立的服务器作为jobtracker 9001为端口,可以自由选择 -->
</property>
</configuration>
masters
#配置hadoop的主节点,可以为IP或者hostname,一行一条记录
namenode
slaves
#配置hadoop的从节点,即datanodes和tasktracker,和masters的配置方法一样
tasktracker01
tasktracker02
tasktracker03
最后修改hadoop-env.sh,找到export JAVA_HOME这一行,去掉顶部的#注释,将值改为你相应的JAVA_HOME根目录,保存
到此为止hadoop的配置完成,将整个hadoop1.0.0文件夹分别拷贝到所有的子节点上,目录结构没有关系,但是鉴于维护方面考虑最好采用全部相同的目录结构,如果你各节点上的jdk安装目录不同,则hadoop-env.sh文件中JAVA_HOME的值需要改为i各节点上相应正确的值
回到namenode 到hadoop1.0.0目录下,先运行bin/hadoop namenode -format 格式化hdfs文件系统,然后运行bin/start-all.sh 启动所有的hadoop节点,启动以后可以用jps命令查看当前节点的进程,如果配置正确,那么namenode应该运行有namenode jobtracker SecondaryNameNode这三个进程,而三个从节点应该都运行有tasktracker datanode两个进程,返回namenode 使用 bin/hadoop dfsadmin -report可以查看整个hdfs系统的报告,正常情况下按照前面的配置应该有三个datanode在运行,如果少了,请查看相应datanode节点的日志文件,各节点日志文件在hadoop1.0.0/logs目录下,各进程pid文件和hdfs文件系统目录都在/tmp目录下。
配置完成以后我们就可以来测试一下hadoop的工作了,
bin/hadoop dfs -mkdir test-in 在hdfs下创建test-in文件夹
bin/hadoop dfs -copyFromLocal README.txt LICENSE.txt CHANGE.txt NOTICE.txt test-in 拷贝四个文件到test-in目录下
bin/hadoop jar hadoop-example-1.0.0.jar wordcount test-in test-out 对test-in目录下所有文件进行字数统计,然后将结果输出到test-out目录
bin/hadoop dfs -cat 可以用来查看某一个文件的内容,内容多时使用 |more 参数来分页浏览
呼,文字果然不是我强项,写东西比自己研究的时候还累,初体验就暂时到这结束啦,后面再陆续写一些深入的真实大型集群配置和配置文件的详细解读,上面的文字如有什么疏漏请PM~谢谢~
- apache hadoop初体验
- hadoop初体验
- Apache FtpSever 初体验
- linux-apache初体验
- hadoop初体验-配置
- Hadoop初体验(一)
- Apache Solr初体验一
- Apache Solr初体验二
- Apache Solr初体验三
- Apache Solr初体验四
- apache ActiveMQ之初体验
- CDH5 Apache Spark初体验
- 全分布式的Hadoop初体验
- 大数据架构hadoop初体验一
- 大数据架构hadoop初体验二
- MVC框架Apache-Tapestry5的初体验
- APACHE PIG BATCH MODE初体验
- Apache-OFBIZ初体验(HelloWorld)
- USACO Section 5.3 Window Area - 又一矩形覆盖问题
- 字符串相互转字符数组 string byte 数组 array of byte
- 使用JavaBean连接数据库
- Fedora 使用备忘信息
- 收缩日志
- apache hadoop初体验
- Sybase数据库----简介(2)
- Android日记之2012/01/31
- DBCC相关
- Java工厂方法---Factory Method
- Struts2.0: http://apache.freelamp.com/struts/source/struts-2.0.11.2-src.zip
- DockPanel使用简介(转载合集)
- zoj 3487 Ordinal Numbers
- 文件系统处理总结(1)