Ubuntu 18.04系统Hadoop集群配置

Hadoop集群配置

本文档演示采用Ubuntu 18.04系统,下载地址:http://mirrors.aliyun.com/ubuntu-releases/18.04

桌面虚拟计算机软件采用VMware workstation 15.5.0

参考:https://www.cnblogs.com/guangluwutu/p/9705136.html

Java和Hadoop安装及环境变量配置请参考其他教程 (注意jdk及Hadoop版本不同导致的安装目录不同的问题),请完成后再进行Hadoop集群配置。

如无特别说明,则该操作是在主机上完成

前置准备

可选:拍摄快照,如配置失败可方便回滚
更新apt:

sudo apt-get update

安装net-tools:

sudo apt install net-tools

完整克隆若干份已经安装配置好java和Hadoop的虚拟机作为从机

网络配置

修改主机名(主机和从机都要操作)

sudo gedit /etc/hostname

删除原本的主机名

将主机的主机名修改为master或其他

将从机1的主机名修改为slave1或其他

以此类推

例:

master

保存后重启

将虚拟机改为静态IP(主机和从机都要操作)

ifconfig

记录下inet和netmask
在这里插入图片描述
依次点击
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改losts

sudo gedit /etc/hosts

在末尾添加:

主机inet 主机主机名
从机1inet 从机1主机名
……

例:

192.168.159.130 master
192.168.159.131 salve1

配置SSH无密码登陆节点

安装及启动SSH服务(主机和从机都要操作)

安装服务(一路回车即可):

sudo apt-get install openssh-server

启动服务:

sudo /etc/init.d/ssh restart

关闭防火墙:

sudo ufw disable

执行以下命令看是否成功运行:

ps -e | grep ssh

如果成功会出现如下俩个进程:
在这里插入图片描述

生成SSH公钥

cd ~/.ssh               # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa*            # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa       # 一直按回车就可以

让 master 节点可以无密码 SSH 本机:

cat ./id_rsa.pub >> ./authorized_keys

验证:

ssh 主机主机名

如成功会出现如下字符:
在这里插入图片描述
退出:

exit

传输公钥(过程中需要输入从机的密码)

scp ~/.ssh/id_rsa.pub 从机用户名@从机主机名:/home/从机用户名/

例:

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/

把公钥加入授权(在从机操作)

mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在则忽略
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

验证:

ssh 从机主机名

如成功会出现如下字符:
在这里插入图片描述

退出:

exit

配置分布式集群环境

修改配置文件

修改slaves:
sudo gedit /usr/local/hadoop/hadoop-2.9.2/etc/hadoop/slaves

此文件记录的是将要作为 Datanode 节点的名字,将从机主机名写入。如果想让主机同时作为 Datanode 节点则保留localhost。

从机1主机名
从机2主机名
……

例:

slave1
修改core-site.xml:
sudo gedit /usr/local/hadoop/hadoop-2.9.2/etc/hadoop/core-site.xml

覆盖<configuration>标签:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>
修改hdfs-site.xml:
sudo gedit /usr/local/hadoop/hadoop-2.9.2/etc/hadoop/hdfs-site.xml

dfs.replication为从机数量,请根据实际更改
覆盖<configuration>标签:

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>
修改mapred-site.xml:
sudo gedit /usr/local/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml

可能默认文件名为 mapred-site.xml.template ,此时需要重命名:

mv mapred-site.xml.template mapred-site.xml

覆盖<configuration>标签:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>
</configuration>
修改yarn-site.xml:
sudo gedit /usr/local/hadoop/hadoop-2.9.2/etc/hadoop/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>
</configuration>

将主机的/usr/local/hadoop文件夹传输到从机:

在主机执行:
cd /usr/local
sudo rm -r ./hadoop/tmp     # 删除 Hadoop 临时文件
sudo rm -r ./hadoop//hadoop-2.9.2/logs/*   # 删除日志文件
tar -zcf ~/hadoop.master.tar.gz ./hadoop   # 先压缩再复制
cd ~     #跳转到有压缩包的路径下
scp ./hadoop.master.tar.gz 从机主机名:/home/从机用户名

例:

scp ./hadoop.master.tar.gz slave1:/home/hadoop
在从机执行:
sudo rm -r /usr/local/hadoop
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R 从机用户名 /usr/local/hadoop

例:

sudo chown -R hadoop /usr/local/hadoop

启动Hadoop

首次启动需要格式化:

hdfs namenode -format

启动:

start-all.sh
mr-jobhistory-daemon.sh start historyserver

验证(主机和从机都要操作):

jps

如成功,NameNode节点应有NameNode、ResourceManager、SecondrryNameNode、JobHistoryServe 4个进程,DataNode节点应有DataNode、 NodeManager 2个进程,缺一不可。

主机:

在这里插入图片描述

从机:
在这里插入图片描述

检查DataNode节点数量:

hdfs dfsadmin -report

在这里插入图片描述
若成功,则Live datanode数量与实际数量相等。

附录

从机没有DataNode进程解决方案

原因

主机和从机的clusterID不一致

解决方法

将主机和从机的/usr/local/hadoop/tmp文件夹和/usr/local/hadoop/hadoop-2.9.2/logs文件夹删除,主机再次格式化即可解决问题

WARNING: An illegal……原因

JDK版本过新导致,可以不用理会

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 以下是Ubuntu 18.04安装Hadoop的教程: 1. 安装Java Hadoop需要Java环境,因此需要先安装Java。在终端中输入以下命令: sudo apt-get update sudo apt-get install default-jdk 2. 下载HadoopHadoop官网下载最新版本的Hadoop,下载地址为:https://hadoop.apache.org/releases.html 3. 解压Hadoop 将下载的Hadoop压缩包解压到指定目录,例如解压到/opt/hadoop目录中。在终端中输入以下命令: sudo tar -zxvf hadoop-3.3..tar.gz -C /opt/ 4. 配置Hadoop环境变量 打开/etc/profile文件,添加以下内容: export HADOOP_HOME=/opt/hadoop-3.3. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 保存并退出文件,然后在终端中输入以下命令使环境变量生效: source /etc/profile 5. 配置Hadoop 进入Hadoop的安装目录,编辑etc/hadoop/hadoop-env.sh文件,将JAVA_HOME设置为Java的安装路径,例如: export JAVA_HOME=/usr/lib/jvm/default-java 然后编辑etc/hadoop/core-site.xml文件,添加以下内容: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:900</value> </property> </configuration> 接着编辑etc/hadoop/hdfs-site.xml文件,添加以下内容: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-3.3./data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-3.3./data/datanode</value> </property> </configuration> 最后编辑etc/hadoop/mapred-site.xml文件,添加以下内容: <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 6. 启动Hadoop 在终端中输入以下命令启动Hadoop: start-all.sh 7. 验证Hadoop是否正常运行 在浏览器中输入http://localhost:50070/,如果能够看到Hadoop的Web界面,则说明Hadoop已经正常运行。 以上就是Ubuntu 18.04安装Hadoop的教程,希望能够帮助到你。 ### 回答2: Hadoop是一个开源的基于Java的分布式计算平台,主要用于处理大规模数据。ubuntu18.04是目前较为常见的一个Linux发行版,本文将对如何在ubuntu18.04安装hadoop进行具体介绍。 1. 安装Java环境 Hadoop是基于Java开发的,因此需要先安装Java环境。在终端执行以下命令: sudo apt-get update sudo apt-get install openjdk-8-jdk 2. 配置SSH Hadoop需要使用SSH来进行节点之间的通信,因此需要先配置SSH。在终端执行以下命令: sudo apt-get install ssh ssh-keygen -t rsa -P '' 这样在当前用户的home目录下就会生成.id_rsa.pub和id_rsa两个文件,这两个文件分别是公钥和私钥。 3. 下载与安装Hadoop 可以从官网下载Hadoop二进制安装包,解压后将文件夹移动到指定的目录即可。 tar -xzvf hadoop-2.7.3.tar.gz sudo mv hadoop-2.7.3 /usr/local/hadoop 4. 配置Hadoop环境变量 为了在任何目录下都可以使用Hadoop命令,需要将Hadoop的bin目录添加到环境变量中。打开~/.bashrc文件,在最后添加以下代码: export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin 保存文件后,执行以下命令,让环境变量立即生效: source ~/.bashrc 5. 修改Hadoop配置文件 目前,需要修改三个配置文件:hadoop-env.sh,core-site.xml和hdfs-site.xml。 hadoop-env.sh配置文件: 打开$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,找到以下一行: #export JAVA_HOME=${JAVA_HOME} 将其修改为: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ core-site.xml配置文件: 打开$HADOOP_HOME/etc/hadoop/core-site.xml文件,找到以下代码块: <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> 将其修改为: <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop_scratch</value> </property> hdfs-site.xml配置文件: 打开$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件,找到以下代码块: <property> <name>dfs.replication</name> <value>1</value> </property> 修改为: <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop-2.7.3/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop-2.7.3/dfs/data</value> </property> 6. 格式化Hadoop文件系统 在终端执行以下命令: hdfs namenode -format 执行该命令后,会将Hadoop文件系统初始化。 7. 启动Hadoop集群 在终端执行以下命令启动Hadoop集群: start-dfs.sh start-yarn.sh 8. 验证Hadoop集群是否正常 执行以下命令: hadoop fs -mkdir /test 如果命令执行成功,则说明Hadoop集群已经成功安装和配置! 以上就是在Ubuntu18.04上安装Hadoop的教程。Hadoop作为一个大数据处理框架,安装和配置相对较为繁琐,需要仔细操作。希望本文能够帮助到读者,为日后的工作和学习提供方便。 ### 回答3: Ubuntu 18.04安装Hadoop的步骤如下: 1. 安装Java JDK:Hadoop是用Java编写的,所以必须要安装JDK。在终端中使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install default-jdk ``` 2. 确认Java是否成功安装: ``` java -version ``` 3. 下载Hadoop:在Hadoop的官网上下载二进制文件,也可以使用以下命令来下载: ``` wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz ``` 4. 解压缩Hadoop文件: ``` tar -xzf hadoop-3.2.2.tar.gz ``` 5. 设置Hadoop环境变量:编辑~/.bashrc文件并添加以下内容: ``` export HADOOP_HOME=/path/to/hadoop-3.2.2 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 6. 配置Hadoop:打开Hadoop配置文件进行编辑: ``` cd ~/hadoop-3.2.2/etc/hadoop/ sudo nano hadoop-env.sh //编辑文件 ``` 找到以下内容: ``` export JAVA_HOME=${JAVA_HOME} ``` 将“${JAVA_HOME}”更改为实际的Java JDK路径: ``` export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 //修改后 ``` 7. 配置Hadoop的核心文件:打开core-site.xml文件进行编辑: ``` sudo nano core-site.xml //编辑文件 ``` 添加以下内容: ``` <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 8. 配置Hadoop的HDFS:打开hdfs-site.xml文件进行编辑: ``` sudo nano hdfs-site.xml //编辑文件 ``` 添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>file:///home/<username>/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>file:///home/<username>/hadoop/hdfs/datanode</value> </property> </configuration> ``` 将“<username>”更改为您的用户名。 9. 格式化HDFS: ``` hdfs namenode -format ``` 10. 启动Hadoop服务: ``` start-dfs.sh ``` 11. 验证Hadoop: 使用以下命令创建一个测试文件并将其上传到HDFS: ``` echo "Hello World" > test.txt hdfs dfs -mkdir /inputs hdfs dfs -put test.txt /inputs ``` 查看HDFS中是否存在test.txt: ``` hdfs dfs -ls /inputs ``` 以上就是在Ubuntu 18.04上安装Hadoop的全部步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值