我爱编程

Hadoop单机模式的配置

2018-01-30  本文已影响0人  文刀鑫

目标:

只用一台机器来构建Hadoop环境。

预计完成时间:2小时。

内容:

1. 设置SSH无密码登录;

2.下载&安装Hadoop 2.5.0;

3.Hadoop配置文件的配置;

4.创建HDFS目录并格式化;

5.启动&验证

前置条件:

1.已安装VirtualBox虚拟机,本案例VirtualBox版本是5.1.30;

2.已安装CentOS 7.4系统,本案例是CentOS 7.4 的minimal安装;

3.已安装JAVA JDK 1.8,因为Hadoop是以Java开发的,所以必须安装Java环境;

   使用echo $JAVA_HOME来查看JAVA安装在哪个目录。

以上三部分将会在另一篇章详细介绍安装的过程。

执行步骤:

Step 1. 设置SSH无密码登录:

Hadoop是由多台服务器组成,多台服务器之间的通信系统会要求输入密码,为了不需手动输入密码,我们使用SSH设置无秘登录。

1.1安装SSH: 执行脚本‘yum install ssh’

1.2 安装rsync:执行脚本‘yum install rsync’

1.3 生成SSH Key:执行脚本‘ssh-keygen -t dsa -P ' ' -f ~/.ssh/id_dsa’

1.4 查看秘钥:ll ~/.ssh

1.5 将生成的秘钥放到许可文件中,为了能最终无密码登录本机,我们必须将产生的公钥加入到许可文件中。执行脚本:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Step 2:下载&安装Hadoop 2.5.0

2.1 确定下载的URL地址:http://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz

一般在下面这两个地址下载:

http://archive.apache.org/dist/

http://archive.cloudera.com/cdh5/

2.2 下载,有两种方式:

第一种,在centos环境下直接执行下载命令:Wget http://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz 。但是这种方式下载速度特别慢。

第二种,使用迅雷下载,然后使用filezilla上传到centos环境上。

2.3 解压缩hadoop 2.5.0,执行脚本:tar -zxf /root/hadoop-2.5.0.tar.gz -C /usr/local

2.4 瘦身,把一些不需要的文件删除掉,我的256G的SSD不够用啊。

首先到share目录下,,删除掉doc目录下所有文件:

cd /usr/local/hadoop-2.5.0/share

rm -rf ./doc/

然后删除全部在windows下运行的cmd文件:

cd /usr/local/hadoop-2.5.0/etc/hadoop

rm -rf ./*.cmd

Step3:Hadoop配置文件的配置:

需配置编辑一下文件:hadoop-env.sh、core-site.xml、yarn-site.xml、mapred-site.xml、hdfs-site.xml。

注:为了提高文件的编辑效率,这里我使用Notepad++的插件NppFTP来连接到CentOS上的文件直接进行修改,设置见下图,插件安装请自行百度。

3.1编辑hadoop-env.sh,文件路径/usr/local/hadoop-2.5.0/etc/hadoop

3.2 编辑core-site.xml,文件路径/usr/local/hadoop-2.5.0/etc/hadoop

3.3 编辑yarn-site.xml,文件路径/usr/local/hadoop-2.5.0/etc/hadoop

3.4 编辑mapred-site.xml,用于设置监控Map和Reduce程序的JobTracker任务的分配和运行情况

复制模板文件:执行下面脚本:cp /usr/local/hadoop-2.5.0/etc/hadoop/mapred-site.xml.template /usr/local/hadoop-2.5.0/etc/hadoop/mapred-site.xml

编辑mapred-site.xml,增加如下内容:

3.5 设置hdfs-site.xml,用于设置HDFS分布式文件系统

Step4.创建HDFS目录并格式化;

4.1 创建上面hdfs-site.xml配置文件中所需要的目录:

mkdir -p /usr/local/hadoop-2.5.0/hadoop_data/hdfs/namenode

mkdir -p /usr/local/hadoop-2.5.0/hadoop_data/hdfs/datanode

4.2 设置hadoop的环境变量

vi /etc/profile,进行环境变量配置,在文件最下面增加内容如下:

HADOOP_HOME=/usr/local/hadoop-2.5.0/

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

见下图:

vi ~/.bashrc ,进行环境变量配置,在文件最下面增加内容如下:


export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre

export HADOOP_HOME=/usr/local/hadoop-2.5.0/

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH


保存完之后,执行source ~/.bashrc ,让修改生效。

4.3 将HDFS进行格式化,格式化namenode:

cd /usr/local/hadoop-2.5.0/bin

hadoop namenode -format


Step 5.启动 & 验证

5.1 首先需要关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

5.2 启动

start-all.sh

5.3验证结果

用浏览器访问:http://192.168.56.101(你的主机名或者IP):8088

因为我在centos和windows的hosts分别设置了主机名映射,所以可以通过主机名访问,如果你们没有设置主机名,直接使用IP访问。

到此单机版的配置就完成啦。

上一篇下一篇

猜你喜欢

热点阅读