欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Hadoop安装】伪分布式hadoop集群安装,实现集群间免登陆

时间:2023-06-21

【安装包】

官网地址: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

        添加内容如下所示:

                                fs.defaultFS                hdfs://localhost:9000                                        hadoop.tmp.dir                /opt/hadoop/tmp        

        执行终端命令:

mkdir -p /usr/local/data/hadoop-3.2.1/tmp

 3.修改hdfs-site.xml文件。

vim etc/hadoop/hdfs-site.xml

        编辑内容如下所示:

                                dfs.replication                3                                dfs.namenode.name.dir                file:/opt/hadoop/tmp/dfs/name                                dfs.datanode.data.dir                file: /opt/hadoop /tmp/dfs/data        

        执行终端命令:

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

        编辑内容如下所示:

                                mapreduce.framework.name                yarn        

【启动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已启动。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。