【正文】 一、 实验环境配置操作系统:rhel 7.0 x86_64默认桌面安装 软件包:jdk-7u79-linux-x64.rpm hadoop-2.6.4.tar.gz 二、 实验内容a) 伪分布式安装 b) 使用Hadoop进行字数统计实验 三、 安装jdk并配置java home1. 安装 # cd /tmp;yum localinstall -y jdk-7u79-linux-x64.rpm
|
2. 配置java环境变量 #vim java.sh
| JAVA_HOME=/usr/java/jdk1.7.0_79/
PATH=$PATHJAVA_HOME/bin
export JAVA_HOME PATH
|
3. 拷贝到登录环境设置中 #cp java.sh /etc/profile.d/
|
四、 解压hadoop及设置hadoop环境1. 解压到指定路径 #tar -xvf hadoop-2.6.4.tar.gz -C /usr/local/ |
2. 配置hadoop环境变量 #vim hadoop.sh | HADOOP_HOME=/usr/local/hadoop-2.6.4/ PATH=$PATHHADOOP_HOME/binHADOOP_HOME/sbin export PATH HADOOP_HOME |
3. 拷贝到登录环境设置中 #cp hadoop.sh /etc/profile.d/
|
五、 编辑hadoop配置文件1. 编辑core-site.xml # vim /usr/local/hadoop-2.6.4/etc/hadoop/core-site.xml
| <!-- 新变量f:s.defaultFS 代替旧的:fs.default.name --> <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> <description>The name of the default file system.</description> </property> <property> <name>hadoop.tmp.dir</name> <!-- 注意创建相关的目录结构 --> <value>/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> |
2. 编辑hdfs-site.xml # vim /usr/local/hadoop-2.6.4/etc/hadoop/hdfs-site.xml
| <property>
<name>dfs.replication</name>
<!-- 值需要与实际的DataNode节点数要一致,本文为1,因为我们实验的是伪分布模式,仅有一个节点 -->
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<!-- 注意创建相关的目录结构 -->
<value>file:/hadoop/tmp/dfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!-- 注意创建相关的目录结构 -->
<value>file:/ hadoop/tmp/dfs/data</value>
</property>
|
3. 编辑yarn-site.xml # vim /usr/local/hadoop-2.6.4/etc/hadoop/yarn-site.xml
| <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- resourcemanager hostname或ip地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
|
4. 编辑mapred-site.xml # cp /usr/local/hadoop-2.6.4/etc/hadoop/mapred-site.xml.template /usr/local/hadoop-2.6.4/etc/hadoop/mapred-site.xml && vim /usr/local/hadoop-2.6.4/etc/hadoop/mapred-site.x
ml
| <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
| 六、 为运行hadoop创建一个用户,并授权ssh登录本地免输入密码1. 新增用户并设置密码 #useradd hduser
#passwd hduser
|
2. 设置免输入密码 #su - hduser
# ssh-keygen(一直回车生成秘钥)
# ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@localhost(拷贝密钥给自己)
#exit
|
七、 创建hadoop的data文件夹(即上文中的/hadoop/tmp并授权给hduser用户)#mkdir –pv /hadoop/tmp && chown hduser.hduser –R /hadoop
|
八、 更改hadoop程序下的拥有者和拥有组# chown hduser.hduser -R /usr/local/hadoop-2.6.4/
|
九、 启动hadoop(新建ssh登录hduser用户)1. 第一次启动需要格式化名称节点 2. 启动名称节点、数据节点及yarn(资源管理和任务调度) $start-dfs.sh && start-yarn.sh
|
3. 检查启动情况 $jps
| 启动了以下的就证明成功:
35658 DataNode
35856 SecondaryNameNode
36092 NodeManager
35999 ResourceManager
35566 NameNode
36408 Jps
|
十、 实验wordcount1. 先在hadoop文件系统内创建文件夹 2. 创建实验文件/tmp/in,1.txt、2.txt、3.txt 1.txt Hi lythjq welcome to hadoop
|
2.txt Hi lythjq welcome to bigdata
|
3.txt Hi lythjq welcome to canway
|
3. 拷贝/tmp/in文件夹进入hadoop文件系统中的/tmp目录下 $ hdfs dfs -put /tmp/in/ /tmp
|
4. 开始运行wordcount来进行词的统计 $ hadoop jar /usr/local/hadoop-2.6.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar wordcount /tmp/in/ /tmp/out
|
注意:这里的/tmp/in和/tmp/out是指hadoop文件系统里的路径 5. 查看输出的结果 $ hdfs dfs -cat /tmp/out/part-r-00000
|
本文来源于:泛IT职业发展服务平台——学领未来http://www.learnfuture.com
|