首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >环境搭建-hadoop安装

环境搭建-hadoop安装

作者头像
数据仓库晨曦
发布2024-01-08 15:42:06
发布2024-01-08 15:42:06
3810
举报
文章被收录于专栏:数据仓库技术数据仓库技术

步骤1:准备环境

1.云服务器环境

有三台云服务,系统centOS7.6,为了能够尽可能“分布”一下,所以三台机器都作为计算节点,master机器担任NameNode节点,兼任一个DataNode节点,slave1兼任secondaryNameNode和DataNode节点。

内网IP

主机名

功能

10.*.*.127

master

NameNodesecondaryNameNodeDataNode

10.*.*.118

slave1

DataNode

10.*.*.96

slave2

DataNode

2.配置CentOS

设置主机名称:(三台机器都需要进行操作)

设置主机名称为master,slave1这种名称,不设置不影响使用,但是看起来类似下面这个样子:

在master机器上执行:

代码语言:javascript
复制
hostnamectl set-hostname master

执行完成后重新登陆即可看到更新后的主机名

同样在slave1服务器执行:

代码语言:javascript
复制
hostnamectl set-hostname slave1

在slave2服务器执行:

代码语言:javascript
复制
hostnamectl set-hostname slave2

配置hosts:(三台机器都需要进行操作)

代码语言:javascript
复制
vi /etc/hosts

在文件中添加各个服务器内网IP和名称映射:

注意:云服务安装时,一定要使用内网IP,使用外网IPNameNode无法启动!!!

注意:云服务安装时,一定要使用内网IP,使用外网IPNameNode无法启动!!!

注意:云服务安装时,一定要使用内网IP,使用外网IPNameNode无法启动!!!

代码语言:javascript
复制
10.*.*.127 master
10.*.*.118 slave1
10.*.*.96 slave2

关闭防火墙(三台机器都需要进行操作)

代码语言:javascript
复制
systemctl status firewalld.service  //检查防火墙状态
systemctl stop firewalld.service  //关闭防火墙
systemctl disable firewalld.service  //禁止开机启动防火墙

3.安装JDK

安装配置 JDK(master操作)

下载jdk包(免费的,注册一个oracle账号即可)

官方地址:https://www.oracle.com/java/technologies/downloads/#license-lightbox

将JDK安装包放到root目录,新建文件夹,并把jdk解压到新文件夹下。

代码语言:javascript
复制
mkdir /usr/java
tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/java/
rm -rf jdk-8u361-linux-x64.tar.gz

各个主机之间复制 JDK(master操作)

代码语言:javascript
复制
scp -r /usr/java slave1:/usr
scp -r /usr/java slave2:/usr

配置各个主机 JDK 环境变量(三台机器都需要进行操作)

代码语言:javascript
复制
vi /etc/profile

最下方添加内容

代码语言:javascript
复制
export JAVA_HOME=/usr/java/jdk1.8.0_361
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出后,更新配置文件

代码语言:javascript
复制
source/etc/profile

之后执行下面命令显示Java版本代表安装成功

代码语言:javascript
复制
java -version

4.配置无秘钥访问

配置SSH无秘钥访问

分别在各个主机上生成密钥(三台机器都需要进行操作):

代码语言:javascript
复制
ssh-keygen -t rsa

slave1:

代码语言:javascript
复制
cp ~/.ssh/id_rsa.pub ~/.ssh/slave1.id_rsa.pub
scp ~/.ssh/slave1.id_rsa.pub master:~/.ssh

slave2:

代码语言:javascript
复制
cp ~/.ssh/id_rsa.pub ~/.ssh/slave2.id_rsa.pub
scp ~/.ssh/slave2.id_rsa.pub master:~/.ssh

master:

代码语言:javascript
复制
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
cat slave1.id_rsa.pub >>authorized_keys
cat slave2.id_rsa.pub >>authorized_keys
scp authorized_keys slave1:~/.ssh
scp authorized_keys slave2:~/.ssh
rm -rf slave1.id_rsa.pub
rm -rf slave2.id_rsa.pub

步骤2:安装配置 Hadoop

1.安装hadoop(仅master执行,设置完成后复制到其他服务器)

安装包下载地址:https://dlcdn.apache.org/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz

先将安装包上传到root目录下,然后进行解压安装

代码语言:javascript
复制
tar -zxvf hadoop-2.10.2.tar.gz -C /usr
rm -rf hadoop-2.10.2.tar.gz
mkdir /usr/hadoop-2.10.2/tmp
mkdir /usr/hadoop-2.10.2/logs
mkdir /usr/hadoop-2.10.2/hdf
mkdir /usr/hadoop-2.10.2/hdf/data
mkdir /usr/hadoop-2.10.2/hdf/name

2.配置 Hadoop

进入配置文件所在的文件夹

代码语言:javascript
复制
cd /usr/hadoop-2.10.2/etc/hadoop

a.修改hadoop-env.sh文件,增加JAVA_HOME配置

代码语言:javascript
复制
export JAVA_HOME=/usr/java/jdk1.8.0_361

b.修改 yarn-env.sh,增加JAVA_HOME配置

代码语言:javascript
复制
export JAVA_HOME=/usr/java/jdk1.8.0_361

c.修改slaves,删除原来的localhost,改为一下内容:

代码语言:javascript
复制
master
slave1
slave2

d.修改core-site.xml

代码语言:javascript
复制
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/hadoop-2.10.2/tmp</value>
  </property>
</configuration>

e.修改hdfs-site.xml

代码语言:javascript
复制
<configuration>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/hadoop-2.10.2/hdf/data</value>
    <final>true</final>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/hadoop-2.10.2/hdf/name</value>
    <final>true</final>
  </property>
</configuration>

f.从mapred-site.xml.template复制一个mapred-site.xml文件,然后修改mapred-site.xml

代码语言:javascript
复制
cp mapred-site.xml.template mapred-site.xml
代码语言:javascript
复制
<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>

g.修改yarn-site.xml

代码语言:javascript
复制
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.mapred.ShuffleHandler</value>
  </property>
  <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
  </property>
</configuration>

h.各个主机之间复制 Hadoop

代码语言:javascript
复制
scp -r /usr/hadoop-2.10.2 slave1:/usr
scp -r /usr/hadoop-2.10.2 slave2:/usr

i.各个主机配置 Hadoop 环境变量(三台服务器执行)

代码语言:javascript
复制
vi /etc/profile

在下面添加配置内容

代码语言:javascript
复制
export HADOOP_HOME=/usr/hadoop-2.10.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/usr/hadoop-2.10.2/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR

使配置文件生效

代码语言:javascript
复制
source /etc/profile

3.启动hadoop(仅master操作)

1.格式化 namenode

代码语言:javascript
复制
cd /usr/hadoop-2.10.2/sbin
hdfs namenode -format

2.启动

代码语言:javascript
复制
cd /usr/hadoop-2.10.2/sbin
start-all.sh

3.检查进程(三台机器各自执行查看)

master结果:

slave1:

slave2:

4.查看

在浏览器中访问 http://master:50070 可以进入hadoop 查看。(前提在本地配置了master的外网IP映射)或者也可以直接访问http://你的master外网IP:50070 进行访问即可

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据仓库技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.配置CentOS
  • 3.安装JDK
  • 4.配置无秘钥访问
  • 1.安装hadoop(仅master执行,设置完成后复制到其他服务器)
  • 2.配置 Hadoop
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档