前言:
如今咱们对“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 到对应的节点启动服务,所有必须要提前配置好免密登录,解决方案在安装步骤中。