?
?
A、集群搭建:
???????? 机器:(两台机器,后续会加数据节点,以及次节点和主节点分离)
???????? 192.168.9.193 master
???????? 192.168.10.29 slave
?
???????? 1、下载hadoop-1.0.3、jdk1.7.0_04(略过)
???????? 2、安装hadoop和jdk
???????? ?? (hadoop目录为:/opt/789/hadoop-1.0.3,jdk安装目录为:/opt/789/jdk1.7.0_04)
???????? 3、用户设置以及无密钥通信
?????????????????? a、分别为机器创建hadoop专用用户,命令:$adduserhadoop
?????????????????? b、为hadoop用户设置密码,命令:$passwdhadoop
?????????????????? c、给hadoop用户一定的权限(视个人需求,为的给的是/opt/下的789目录。我的hadoop就安装在此。)
???????? 4、无密钥通信
?????????????????? a、使用hadoop用户登录master主机执行命令$ssh-keygen-t rsa,然后一路回车,完毕后会生成文件/home/hadoop/.ssh/id_rsa.pub(私钥)
?????????????????? b、查看在/home/hadoop/.ssh/目录下是否存在authorized_keys(公钥)。
??????????????????????????? I、如果存在就将上一步生成的私钥追加到已经存在的公钥上,
?????????????????????????????????????????????? 命令:$cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
??????????????????????????? II、如果不存在,就把上一步生成的私钥匙复制到当前位置,命名为authorized_keys
?????????????????????????????????????????????? 命令:$cpid_rsa.pub authorized_keys
??????????????????????????? III、检查是否可以无密钥通信,$sshlocalhost,如果不需要密码,则配置成功。如果需要输入密码,修改authorized_keys的权限,命令:$chown 644 authorized_keys
??????????????????????????? IV、将authorized_keys拷贝到slave主机上的同目录下(/home/hadoop/.ssh/)
???????????????????????????????????? 如果slave主机上的.ssh目录不存在,需要手动创建,并赋予600权限
???????? 5、修改hadoop配置文件
?????????????????? a、修改/opt/789/hadoop-1.0.3/conf/下的hadoop-env.sh文件
??????????????????????????? exportJAVA_HOME=/opt/789/jdk1.7.0_04?????? jdk安装路径
??????????????????????????? exportHADOOP_HEAPSIZE=512 ?????????????????????????????? hadoop的jvm内存大小
???????? ???????? b、修改/opt/789/hadoop-1.0.3/conf/下的core-site.xml文件
??????????????????????????? <configuration>
?????????????????????????????????? <property>
??????????????? ??????????????????????????? <name>fs.default.name</name>
??????????????? ??????????????????????????? <value>hdfs://192.168.9.193:9000</value>
?????????????????????????????????? </property>
??????????????????????????? </configuration>
?????????????????? ??修改/opt/789/hadoop-1.0.3/conf/下的mapred-site.xml文件
??????????????????????????? <configuration>
?????????????????????????????????? <property>
?????????????? ???????????????????? ?<name>mapred.job.tracker</name>
????????????? ?????????????????????? ??<value>192.168.9.193:9001</value>
???? ????????????????????????? ???</property>
??????????????????????????? </configuration>
?????????????????? ? 修改/opt/789/hadoop-1.0.3/conf/下的hdfs-site.xml文件(数据快备份数)
??????????????????????????? <configuration>
??????????????????????????? ??????? <property>
??????????????? ??????????????????????????? <name>dfs.replication</name>
??????????????? ??????????????????????????? <value>3</value>
??????????????????????????? ??????? </property>
??????????????????????????? </configuration>
?????????????????? c、修改/opt/789/hadoop-1.0.3/conf/下的master文件(配置次节点)
??????????????????????????? 192.168.9.193
?????????????????? ?? 修改/opt/789/hadoop-1.0.3/conf/下的master文件(配置数据节点)
??????????????????????????? 192.168.10.29
???????? 6、格式化hdfs文件系统:$/opt/789/hadoop-1.0.3/bin/hadoopnamenode -format
???????? 7、启动hadoop命令:$/opt/789/hadoop-1.0.3/bin/start-all.sh
?
??
B、eclipse开发环境配置
???????? 1、下载插件hadoop-eclipse-plugin-1.0.1.jar(见附件)。将该jar包放入eclipse下的plugins/文件夹下。重启eclipse。
???????? 2、将Map/Reduce视图和hdfs文件系统的视图配置,见下图:
????????
?
??????????????????
?
?
???????? 3、在eclipse中配置hadoop的安装路经,见下图
? ? ??
?
???????? 5、新建hadoop项目
?????????????????? a、将hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java
??????????????????????????? 的文件copy到项目中。
?
?????????????????? b、上传模拟数据文件夹。 为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。
??????????????????????????? 在本地新建word.txt
?
??????????????????????????? javac++ python c c# android
??????????????????????????? javac++ object-c
??????????????????????????? hadooporacle
??????????????????????????? mapreducehive hbase
?
?????????????????? 通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:bin/hadoopfs -mkdir /tmp/wordcount
?????????????????? 通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:bin/hadoopfs -copyFromLocal /home/hadoop/word.txt? /tmp/wordcount/word.txt
??????????????????
???????? 6、运行项目
?????????????????? a.在新建的项目Hadoop,点击WordCount.java,右键-->RunAs-->Run Configurations
?????????????????? b、在弹出的RunConfigurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount
?????????????????? c、配置运行参数,点Arguments,在Programarguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”
?????????????????? d、点击run
???????? 详细见下图:
? ? ? ?
?
???????? 7、查看运行结果
?????????????????? 等运行结束后,查看运行结果。
?????????????????? 使用命令:bin/hadoop fs -ls /tmp/wordcount/out查看例子的输出结果,发现有两个文件夹和一个文件,使用命令查看part-r-00000文件, bin/hadoop fs -cat /tmp/wordcount/out/part-r-00000可以查看运行结果。
?????????????????? 在eclipse试图中查看
8、合并文件实例
?
?
?
运行结果:
?
?