One:Hadoop的安装和使用

it2025-05-20  11

Author:龙箬 数据科学与大数据技术专业 用数据改变世界! @weixin_43975035 “我可以怀疑一切,但我却不能怀疑我正在怀疑。”

Hadoop的安装和使用

进入实验环境的命令行步骤: 鼠标右击选择“Open Terminal Here” 进入命令行终端: 输入su,使用root用户(注意:下图的红色框显示的是虚拟机的主机名,主机名固定,不能做更改)

1安装和配置JDK

Hadoop是以JAVA语言写成,需要在服务器上预先安装Java或者更新版本。目前使用最广泛的Sun的JDK。 首先在此虚拟机中执行两个命令:

yum clean all rpm --rebuilddb

这两条命令消除404错误 通过#java -version 命令查看一下虚拟机是否自带jdk,如果存在,用一下命令将其删除。

#java -version

实验中,采用的版本是jdk-8u191-linux-x64.tar.gz。安装步骤如下: jdk-8u191-linux-x64.tar.gz在/data/soft目录下。 拷贝到/opt目录,命令为 cp /data/soft/jdk-8u191-linux-x64.tar.gz /opt 1)在/opt目录下解压jdk-8u191-linux-x64.tar.gz文件。 系统默认进入的是/root目录,通过命令# cd /opt进入/opt目录

# ls

//ls命令可以看到目录下的文件,如果已经有了jdk的文件夹,要先删除,防止版本冲突,这里使用重命名来避免错误删除,给操作留有回滚的空间,命令为# mv jdk/ jdk_bak/ 等待命令执行完成

#tar -zxvf jdk-8u191-linux-x64.tar.gz

# mv jdk1.8.0_191/ jdk //将解压后的jdk1.8.0_191/目录名称改成jdk

2)配置JAVA_HOME以及CLASS_PATH, vi进入/etc/profile,在文件中最后加上如下语句:

#vi /etc/profile //执行进入配置环境文档

按i键进行编辑,在文档末尾另起一行,添加如下内容:

export JAVA_HOME=/opt/jdk export PATH=$PATH:$JAVA_HOME/bin

3)保存退出,执行以下命令使得配置文件生效。 按Esc,然后 :wq回车,即可保存退出。

#source /etc/profile //使环境变量生效

4)执行以下命令查看当前版本配置是否生效。

#java -version //查看当前jdk版本

2 配置SSH

为了保证在远程管理Hadoop节点以及Hadoop节点间用户共享访问时的安全性,Hadoop系统需要配置和使用SSH(安全外壳协议)。 配置SSH的主要工作是创建一个认证文件,使得用户以public key 方式登录,而不用手工输入密码。配置基本步骤如下:

# cd 进入/root目录

# ssh-keygen -t rsa //紧跟三次回车,生成无密码密钥对,如果第一个回车出现下面的Overwrite情况,输入y,继续回车。会在/root目录下生成.ssh目录。

注意:master是主机名,root密码是自己云平台设置的密码

# ssh-copy-id master //生成公钥验证文件authorized_keys

# ssh master //验证密钥是否完成

3 安装Hadoop

在这里采用Hadoop版本是hadoop-2.7.1 1)复制 hadoop-2.7.1.tar.gz 到/opt/目录下,并解压。

# cp /data/soft/hadoop-2.7.1.tar.gz /opt # cd /opt

# tar -zxvf hadoop-2.7.1.tar.gz //解压hadoop

# mv hadoop-2.7.1 hadoop //更改解压后的hadoop名称 # ls // 查看目录中的内容

4 配置Hadoop环境

vi进入/etc/profile,修改环境变量如下:

#vi /etc/profile 进入配置环境

按i键进行编辑,在export JAVA_HOME=/opt/jdk下面另起一行,添入以下内容: export HADOOP_HOME=/opt/hadoop 将export PATH改成下面的形式:

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

按Esc,然后 :wq回车,即可保存退出,执行以下命令使得配置文件生效。

#source /etc/profile //是环境变量生效

# vi /etc/hosts

hadoop-2.7.1的配置文件是core-site.xml、hdfs-site.xml和mapred-site.xml。其中core-site.xml是全局配置文件,hdfs-site.xml是HDFS的配置文件,mapred-site.xml是MapReduce的配置文件。以下列出几个示例配置文件。 进入文件夹/opt/hadoop/etc/hadoop 1)配置hadoop-env.sh

#vi hadoop-env.sh

进入文件,按i编辑, 最下面添加如下信息 将export JAVA_HOME=${JAVA_HOME} 改成:

export JAVA_HOME=/opt/jdk

按Esc,然后 :wq回车,即可保存退出。 2)配置core-site.xml (编辑保存方式同hadoop-env.sh)

#vi core-site.xml

在<configuration>与 <configuration>标签中间添加如下配置: 其中,hdfs://master:9000需要注意master是否跟你的主机名一致

<property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property>

3)配置hdfs-site.xml(编辑保存方式同hadoop-env.sh)

#vi hdfs-site.xml

在<configuration>与 </configuration>标签中间添加如下配置:

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

4)配置mapred-site.xml (编辑保存方式同hadoop-env.sh) 添加如下配置: 这里需要注意下,文件夹里面没有这个XML,需要将mapred-site.xml.template这个文件复制,然后重命名为mapred-site.xml。

#cp mapred-site.xml.template mapred-site.xml #vi mapred-site.xml

然后在mapred-site.xml中<configuration>与 </configuration>标签中间添加如下配置:

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

5)配置yarn-site.xml(编辑保存方式同hadoop-env.sh) <value>与 </value>中的master是主机名,改成与自己的主机名相同

#hostname // 查看主机名

#vi yarn-site.xml

在<configuration>与 </configuration>标签中间添加如下配置:

<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>

6)#vi slaves //将里面的内容删除掉,然后改成自己的主机名

5 Hadoop的运行

1)格式化HDFS文件系统 在初次安装和使用Hadoop之前,需要格式化分布式文件系统HDFS。使用如下命令进行格式化分布式文件系统:

# cd //进入/root目录 # hdfs namenode -format //执行这条命令。使hdfs格式化

注意:格式化在安装hadoop时只能执行一次。 2)启动NameNode 和 DataNode 守护进程

#cd /opt/hadoop/sbin //进入hadoop的sbin目录 #./start-dfs.sh //启动hadoop,第一次启动需要输入yes

3)启动ResourceManager 和 NodeManager 守护进程

# ./start-yarn.sh

4)hadoop验证 执行jps命令,有如下进程,说明Hadoop正常启动

# jps

NameNode DataNode Jps NodeManager ResourceManager SecondaryNameNode 测试hadoop

# hdfs dfs -mkdir -p /user //在hdfs中创建user目录 # hdfs dfs -ls / //查看是否有user目录

# hdfs dfs -mkdir -p /user/test //在user目录下创建test目录 # hdfs dfs -ls /user //查看在/user是否有test

如果创建目录并且可以查找到目录,则hadoop部署完成。 5)停止Hadoop守护进程。 最后要停止Hadoop守护进程,命令如下:

#cd /opt/hadoop/sbin //进入hadoop的sbin目录下 #./stop-all.sh //停止进程

本实验大数据技术平台来自于本人所在高校机器学习实验室 如有侵权,请联系侵删 需要本实验源代码和实验报告的小伙伴请联系QQ:2225872659

最新回复(0)