【安装包】
官网地址:Apache Hadoop
安装文档:Apache Hadoop 3.3.1 – Hadoop: Setting up a Single Node Cluster.
【环境介绍】
Linux:CentOS Linux release 8.0.1905 (Core)Java版本:jdk1.8.0_211Hadoop版本:hadoop-3.2.1.tar.gzKibana版本:kibana-7.8.0.tar.gzLogstash版本:logstash.tar.gz【实现ssh免密码登录】
由于Hadoop需要使用SSH进行通信,因此需要在Linux操作系统上安装SSH。SSH是一种通过网络连接提供安全的加密连接的客户端服务。
安装过程略。
SSH作为一个安全通信协议,需要在通信的时候输入密码。
操作环境:
机器
操作系统
IP
Node-1
CentOS 8
172.20.49.155
Node-2
CentOS 8
172.20.49.138
1、Node-1机器
执行终端命令“ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa”生成公钥与私钥对。
将本机的公钥复制到远程机器,即Node-2机器的authorized_keys文件中。
ssh-copy_id root@172.20.33.138
执行终端命令“ssh root@172.20.49.138”,测试是否需要输入密码。
Node-2机器与操作1步骤一致,只需修改相应的IP地址即可。如下所示。
# 生成公钥与私钥对ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa# 复制本机的公钥到远程机器的authorized_keys文件中ssh-copy-id root@172.20.49.155
服务器环境如下表所示:
机器
操作系统
IP
Node-1
CentOS 8
172.20.49.138
Node-2
CentOS 8
172.20.49.139
Node-3
CentOS 8
172.20.49.140
注意:请先在上述三台服务器上安装JDK1.8、配置三台机器间实现免密通信。
查看OS版本:
cat /etc/redhat-release
将本地下载完成的hadoop-3.2.1.tar.gz压缩包上传至CentOS服务器,命令如下:
scp hadoop-3.2.1.tar.gz root@172.20.49.138:/usr/local/softscp hadoop-3.2.1.tar.gz root@172.20.49.139:/usr/local/softscp hadoop-3.2.1.tar.gz root@172.20.49.140:/usr/local/soft
接下来,在三台服务器上做同样的操作,只需修改相应的路径即可。
进入/usr/local/soft目录下,解压hadoop到指定目录。
tar -zxvf hadoop-3.2.1 -C /usr/local/softins
进入/usr/local/softins/hadoop-3.2.1目录,查看Hadoop的目录结构。
【hadoop目录】
hadoop目录说明:
bin:hadoop可执行的脚本文件,比如hadoop,mapreduce,yarn;sbin:系统相关的一些执行脚本,比如hadoop的相关启动/关闭脚本;lib:本地库,本地平台的效率实现;etc:相关配置文件;libexec:执行相关文件;include:本地库相关;share:jar包,开发相关;share/doc:开发文档;编辑/etc/profile文件,配置java和hadoop的环境变量。
vim /etc/profile
配置内容如下:
# javaexport JAVA_HOME=/usr/java/jdk1.8.0_291-amd64export CLASSPATH=./$JAVA_HOME/lib:$JAVA_HOME/jre/libexport JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATH# Hadoopexport HADOOP_HOME=/usr/hadoop-3.2.1export LD_LIBRARY_PATH=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin# hadoop-3.2.1export HDFS_NAMENODE_USER=rootexport HDFS_DATANODE_USER=rootexport HDFS_SECONDARYNAMENODE_USER=rootexport YARN_RESOURCEMANAGER_USER=rootExport YARN_NODEMANAGER_USER=root
其中# hadoop-3.2.1部分对hadoop-3.2.1来说必须配置,否则启动报错。
执行命令使配置文件立即生效。
source /etc/profile
执行终端命令“hadoop version”进行安装测试。所示的Hadoop版本信息,则表示Hadoop安装完成。
【配置参数】
修改hadoop-env.sh,配置JAVA_HOME的值,使其值指向jdk的位置。cd /usr/local/softins/hadoop/hadoop-3.2.1vim etc/hadoop/hadoop-env.sh
取消并修改export JAVA_HOME=jdk安装位置,如下所示。
export JAVA_HOME=/usr/local/softins/jdk/jdk1.8.0_241
2.修改core-site.xml文件。
vim etc/hadoop/core-site.xml
添加内容如下所示:
执行终端命令:
mkdir -p /usr/local/data/hadoop-3.2.1/tmp
3.修改hdfs-site.xml文件。
vim etc/hadoop/hdfs-site.xml
编辑内容如下所示:
执行终端命令:
mkdir -p /usr/local/data/hadoop-3.2.1/tmp/dfs/namemkdir -p /usr/local/data/hadoop-3.2.1/tmp/dfs/data
4.修改mapred-site.xml
vim etc/hadoop/mapred-site.xml
编辑内容如下所示:
【启动Hadoop】
初始化文件服务,执行终端命令:
cd /usr/local/softins/hadoop/hadoop-3.2.1/hdfs namenode -format
若出现下列语句就表示hadoop文件服务初始化成功。
common.Storage: Storage directory /usr/local/data/hadoop-3.2.1/tmp/dfs/name has been successfully formatted.
启动进程
执行终端命令:
start-dfs.sh
使用jps查看进程情况。
在本地浏览器上输入链接地址“http://172.20.49.139:9870”,访问Hadoop服务。如果出现如下图则表示hadoop已启动。