Linux Hadoop入门(伪分布式)
【正文】一、 实验环境配置操作系统: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=$PATH:$JAVA_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=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport 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. 第一次启动需要格式化名称节点
$hdfs namenode -format
2. 启动名称节点、数据节点及yarn(资源管理和任务调度)
$start-dfs.sh && start-yarn.sh
3. 检查启动情况
$jps
启动了以下的就证明成功:
35658 DataNode
35856 SecondaryNameNode
36092 NodeManager
35999 ResourceManager
35566 NameNode
36408 Jps
十、 实验wordcount1. 先在hadoop文件系统内创建文件夹
$hdfs dfs –mkdir /tmp
2. 创建实验文件/tmp/in,1.txt、2.txt、3.txt1.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 -ls /tmp/out
$ hdfs dfs -cat /tmp/out/part-r-00000
http://image.learnfuture.com/7E5288049F9311BCD02586197093BA418CCE8EB6.jpg
本文来源于:泛IT职业发展服务平台——学领未来http://www.learnfuture.com
页:
[1]