首页 > 代码库 > 在CentOS上部署单机版Hadoop

在CentOS上部署单机版Hadoop

本文记录如何在一台CentOS上部署单机版Hadoop。CentOS安装在Azure上。

安装CentOS

在Azure上新建一台虚拟机,选择操作系统CentOS6.8。记住主机名,比如centosforhd。主机名在后面设置中会用到。

安装好之后,用Putty工具登录到CentOS上。登录之后请转为root用户来操作下面的安装。(命令: sudo su

安装Java

1 下载JDK 

从Java官网下载最新的JDK。如果是在windows下下载,下载之后可以通过SSH Secure File Transfer Client工具拷贝到CentOS上。把下载好的JDK文件(jdk-8u131-linux-x64.tar.gz)放到 ~/java/文件夹下(临时存放)。

2 解压

在目录 /usr/lib/jvm 下解压JDK压缩文件: tar -zxvf ~/java/jdk-8u131-linux-x64.tar.gz

解压之后,通过ls命令可以看到目录 /usr/lib/jvm 下多了个目录 jdk1.8.0_131 。

3 设置环境变量

编辑 /etc/profile 设置环境变量。 vim /etc/profile

在文件末尾添加下面几行:

export JAVA_HOME=/usr/lib/jvm/java8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:$JAVA_HOME/bin

 

然后运行命令让改动立刻生效: source /etc/profile

4 确认安装成功

运行命令 java -version,看是返回java版本号。

安装Hadoop

1 下载Hadoop Binary 

到Hadoop官网(http://hadoop.apache.org/)下载Hadoop binary。在CentOS下用命令wget http://apache.fayea.com/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz 下载到 ~/hadoop/ 目录下。

2 解压

把tar.gz解压缩到目录 /usr/bin/hadoop/ 下。在目录 /usr/bin/hadoop/ 下运行命令 tar -zxvf ~/hadoop/hadoop-2.8.0.tar.gz

解压之后,通过ls命令可以看到目录 /usr/lib/hadoop/ 下多了个目录 hadoop-2.8.0 。

3 设置环境变量

编辑 /etc/profile 设置环境变量。 vim /etc/profile

在文件末尾添加下面几行:

export HADOOP_HOME=/usr/lib/hadoop/hadoop-2.8.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后运行命令让改动立刻生效: source /etc/profile

4 配置ssh无密码登录

运行命令 ssh-keygen -t rsa

导入公钥,把id_rsa.pub追加到授权的key文件中: cat .ssh/id_rsa.pub >> .ssh/authorized_keys

5 更改设置文件

5.1 配置core-site.xml

vim /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centosforhd:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/usr/lib/hadoop/hadoop-2.8.0/tmp</value>
</property>
</configuration>

注意上面红色部分,请替换成主机的名字。

5.2 配置hdfs-site.xml

vim /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

5.3 配置mapred-site.xml

先将mapred-site.xml.temporary 重命名为 mapred-site.xml :mv /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml.temporary /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml

再编辑: vim /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

5.4 配置yarn-site.xml

vim /usr/lib/hadoop/hadoop-2.8.0/etc/hadoop/yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centosforhd</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

6 格式化hdfs

在hadoop安装目录下(/usr/lib/hadoop/hadoop-2.8.0)下运行: ./bin/hdfs namenode -format

7 启动服务

在hadoop安装目录下(/usr/lib/hadoop/hadoop-2.8.0)下运行:./bin/start-all.sh

8 确认运行

输入命令 jps 查看java进程,看是否有 DataNode, SecondaryNameNode, NameNode。

 

在CentOS上部署单机版Hadoop