安装模式
环境准备
su # 上述提到的以 root 用户登录
useradd -m hadoop -s /bin/bash # 创建新用户hadoop
passwd hadoop
visudo
添加hadoop ALL=(ALL) ALL
#安装java,ssh,配置无密码登陆。这些本博客都有。
mkdir -p /opt/hadoop/
cd /opt/hadoop/
sudo wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
sudo tar -zxf hadoop-2.7.2.tar.gz
sudo chown -R hadoop:hadoop ./hadoop-2.7.2 # 修改文件权限
cd /opt/hadoop/hadoop-2.7.2
./bin/hadoop version #验证hadoop版本
(1)单机模式配置方式
安装单机模式的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。
以下是运行官方的例子:
#验证单机模式
cd /opt/hadoop/hadoop-2.7.2
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看运行结果
(2)伪分布式Hadoop配置
可以把伪分布式的Hadoop看做只有一个节点的集群,在这个集群中,这个节点既是Master,也是Slave;既是NameNode,也是DataNode;既是JobTracker,也是TaskTracker。
伪分布式的配置过程也很简单,只需要修改几个文件。
这里以Yarn为配置
etc/hadoop/hadoop-env.sh
添加JAVA_HOME、HADOOP_COMMON_HOME
这是Hadoop核心的配置文件,这里配置的是HDFS(Hadoop的分布式文件系统)的地址及端口号。
修改etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9005</value>
</property>
<property>
<name>hadoop.tmp.dir</name><!--临时目录,其他临时目录的父目录-->
<value>/home/hadoop/hadoop_tmp</value><!--需要创建此目录-->
<description>A base for other temporary directories.</description>
</property>
</configuration>
以下是Hadoop中HDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中,需要将其改为1。
修改etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name><!--文件副本数-->
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name><!--HDFS文件系统的元信息保存,Yarn的方式 -->
<value>file:/tmp/hadoop/dfs/datalog1,file:/tmp/hadoop/dfs/datalog2</value>
</property>
<property>
<name>dfs.datanode.data.dir</name><!--data node的数据目录,Yarn的方式 -->
<value>/tmp/hadoop/dfs/data1,/tmp/hadoop/dfs/data2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
以下是Hadoop中MapReduce的配置文件,配置JobTracker的地址及端口。
conf/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value><!--使用Yarn-->
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
接下来,在启动Hadoop前,需要格式化Hadoop的文件系统HDFS。进入Hadoop文件夹,输入命令:
bin/hdfs namenode -format
格式化文件系统,接下来启动Hadoop。
输入命令,启动所有进程:
启动namenode和datanode
sbin/start-dfs.sh
最后,验证Hadoop是否安装成功。
打开浏览器,分别输入网址:
http://localhost:50070(HDFS的Web页面)
如果都能查看,说明Hadoop已经安装成功。
启动resourcemanager和nodemanager
sbin/start-yarn.sh
打开浏览器,查看配置Yarn是否成功:
http://localhost:8088/
测试WordCount
hdfs dfs -mkdir -p /test/input
hdfs dfs -ls /
cd ~
touch wc.input
//文件放到hdfs中
hdfs dfs -put ./wc.input /test/input/
//查看文件内容
hdfs dfs -text /test/input/wc.input
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /test/input/ /test/output/
//查看输出内容
hdfs dfs -ls /test/output/
//查看具体输出
hdfs dfs -text /test/output/part-r-00000
完全分布式
待补充
原文链接:Hadoop学习笔记(4)--安装,转载请注明来源!