龙空技术网

Hadoop单机版本安装

隔壁King2 195

前言:

如今咱们对“apachehadoop2安装教程”都比较关怀,小伙伴们都想要剖析一些“apachehadoop2安装教程”的相关内容。那么小编在网摘上搜集了一些对于“apachehadoop2安装教程””的相关知识,希望姐妹们能喜欢,咱们一起来了解一下吧!

主机规划

hostname

ip

安装软件

版本

备注

node01

192.168.17.101

Java

1.8

ntp

同步时间

Hadoop

3.3.4

服务规划

hostname

ip

NameNode

DataNode

SecondaryNameNode

node01

192.168.17.101

关闭防火墙

不关闭防火墙,本地无法访问hadoop相关的UI界面。

关闭防火墙

systemctl stop firewalld.service 

确认防火墙状态

systemctl status firewalld.service 

时间同步安装ntp软件

yum install -y ntp
添加阿里时间同步服务器
# 第一步vim /etc/ntp.conf# 在文件中加入阿里时间同步服务器server ntp.aliyun.com iburst

启动ntp服务

service ntpd start
设置开机启动
chkconfig ntpd on
免密登录
# 执行以下命令,动态生成.ssh 目录ssh localhost # 生成免密登录数字签名ssh-keygen -t dsa -P ''# 把生成的 id_dsa.pub 文件内容追加到 authorized_keys 中cat id_dsa.pub  >> authorized_keys# authorized_keys 授权600,不然ssh node01 还是需要输入密码chmod 600 authorized_keys 

安装软件安装JDK下载JDK安装包,当前选择JDK版本为1.8

下载地址:

选择RPM包,下载到本地

上传下载的rpm包到服务器

安装软件

[root@node01 ~]# rpm -i jdk-8u351-linux-x64.rpm

安装成功后,如果可以看到/usr/java,并且能看到如下图显示的内容,表示安装成功

注:有些软件默认配置的JDK目录为/usr/java/default,如果以解压的方式安装JDK,这几个目录需要手动创建软链接,所以建议使用rpm的方式安装JDK

配置环境变量

# 打开 /etc/profile 文件vim /etc/profile# 添加以下两行内容export JAVA_HOME=/usr/java/defaultexport PATH=$PATH:%JAVA_HOME/bin# 让配置文件生效source /etc/profile
验证jdk是否安装成功,输入下面的命令,如果出现下图所示内容表示安装成功
java -version

安装Hadoop下载Hadoop安装包,当前选择版本为3.3.4

下载地址:

上传到服务器

解压软件包

tar -xvf hadoop-3.3.4.tar.gz

把解压的文件放到合适的位置

# 创建目录mkdir /opt/bigdata#移动加压的文件夹到创建的目录mv hadoop-3.3.4/ /opt/bigdata/
添加环境变量
# 打开 /etc/profile 文件vim /etc/profile# 添加以下两行内容export HADOOP_HOME=/opt/bigdata/hadoop-3.3.4export PATH=$PATH:%JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# 让配置文件生效source /etc/profile
添加Hadoop核心配置

hadoop-env.sh

# 打开hadoop-en.sh文件vim /opt/bigdata/hadoop-3.3.4/etc/hadoop/hadoop-env.sh # 添加JAVA_HOME配置export JAVA_HOME=/usr/java/default

详细配置如下:

core-site.xml

# 打开core-site.xml文件vim /opt/bigdata/hadoop-3.3.4/etc/hadoop/core-site.xml

添加如下配置:

<!--配置NameNode服务启动的节点  --><property>    <name>fs.defaultFS</name>    <value>hdfs://node01:9000</value></property>

详细配置如下:

hdfs-site.xml

# 打开hdfs-site.xml 文件vim /opt/bigdata/hadoop-3.3.4/etc/hadoop/hdfs-site.xml 

添加如下配置:

<!-- HDFS副本数 --><property>    <name>dfs.replication</name>    <value>1</value></property><!-- NameNode日志文件目录 --><property>    <name>dfs.namenode.name.dir</name>    <value>/var/bigdata/hadoop/local/dfs/name</value></property><!-- DataNode日志文件目录 --><property>    <name>dfs.datanode.data.dir</name>    <value>/var/bigdata/hadoop/local/dfs/data</value></property><!-- secondaryNode启动服务的节点  --><property>    <name>dfs.namenode.secondary.http-address</name>    <value>node01:9868</value></property><!--secondaryNode日志文件目录  --><property>    <name>dfs.namenode.checkpoint.dir</name>    <value>/var/bigdata/hadoop/local/dfs/secondary</value></property>

详细配置如下:

workers

# 打开workers文件vim /opt/bigdata/hadoop-3.3.4/etc/hadoop/workers # 修改内容为node01node01

老版本的Hadoop配置文件为slaves。

当前的配置为DataNode服务启动的节点,因为我们当前是单机版本,所以只需要配置node01就行了。

完整的配置如下:

初始化HDFS

# 初始化HDFS,会创建NameNode需要的目录,并创建空的fsimagehdfs namenode -format  

cd 到我们的配置的目录,可看到如下目录:

启动服务

当前版本默认不推荐使用root用户直接启动服务,需要把需要的目录切换归属为hadoop,并使用hadoop用户启动服务。

start-dfs.sh

启动成功后,会在/var/bigdata/hadoop/local/dfs看到如下目录:

验证修改windows的hosts文件

# 新增配置192.168.17.101 node01

登录HDFS控制台

浏览器浏览:

注意:老版本访问的端口号为50070,3.x以后改为9870。

创建目录

hdfs dfs -mkdir /bigdata

本地创建一个文件,并上传

# 创建文件echo "hello hadoop" >> hadoop.txt# 上传文件hdfs dfs -put hadoop.txt /bigdata

常见错误

1、ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. ERROR: Attempting to operate on hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation. ERROR: Attempting to operate on hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

当前版本Hadoop默认不允许root用户启动服务,最简单的解决方案:把需要的使用的Hadoop目录的归属改为hadoop

# 修改软件安装的目录归属chown -R hadoop /opt/bigdata/hadoop-3.3.4/# 修改日志和数据目录归属chown -R hadoop /var/bigdata

2、Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

当前Hadoop配置文件中配置服务启动节点都是node01,启动脚本中有需要ssh 到对应的节点启动服务,所有必须要提前配置好免密登录,解决方案在安装步骤中。

标签: #apachehadoop2安装教程 #apache22安装解压教程