当前位置: 首页 > news >正文

hadoop环境配置及HDFS配置

环境与配置

  • ubuntu 20.04.6 /centos8
  • hadoop 3.3.5
    指令有部分不一样但是,配置是相同的

安装步骤

  1. 创建一个虚拟机,克隆三个虚拟机,master内存改大一点4G,salve内存1Gj
  2. 修改主机名和配置静态ip(管理员模式下))
    `
    hostnamectl set-hostname node1 # 修改主机名
    sudo passwd root #设置root密码

sudo apt install -y ifupdown net-tools #安装网络服务
sudo apt-get install openssh-server -y # 安装ssh服务
init 6 # 重启
vi /etc/network/interfaces # 创建文件夹,填入下面的内容

auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168.139.130
netmask 255.255.255.0
gateway 192.168.139.2
dns-nameservers 223.5.5.5
dns-nameservers 8.8.8.8

systemctl restart networking(重启网络服务)

可参考链接: https://blog.csdn.net/alfiy/article/details/122279914
3. 修改windows的hosts和linux的host
vim /etc/hosts # 修改主机映射

4. 设置ssh免密登录,三台机器都要
ssh-keygen -t rsa -b 4096

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

如果报错 Permission denied (publickey,password)

参考: https://blog.csdn.net/weixin_41891385/article/details/118631106

每台机器创建hadoop用户

sudo useradd -r -m -s /bin/bash hadoop

sudo passwd hadoop

sudo vim /etc/sudoers
复制root那一行,把root改为hadoop
参考链接: https://www.cnblogs.com/geyouneihan/p/9839153.html
`

  1. 把hadoop包分别拉倒三个虚拟机中
    `
    mkdir -p /export/server
    tar -zxvf jdk.tar.gz -C /export/server/
    ln -s /export/server/jdk jdk
    vim /etc/profile 添加下面内容
    export JAVA_HOME=/export/server/jdk
    export PATH= P A T H : PATH: PATH:JAVA_HOME/bin

source /etc/profile
先删除系统的java链接,然后在添加自己的软连接
rm -f /usr/bin/java
ln -s /export/server/jdk/bin/java /usr/bin/java

apt-get install lib32z1 # 解决报错问题
验证
java -version
javac -version

scp -r jdk/ node2:pwd/ 远程复制到node2,首先先进入到jdk所在的文件夹
6. 关闭防火墙 sudo ufw disable 7.同步三台机器的时间
sudo apt install -y ntp
rm -f /etc/localtime ;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
apt install ntpdate
ntpdate -u ntp.aliyun.com
sudo service ntp restart
8. 安装hadoop设置软连,修改hadoop文件夹下面的/etc/里面的文件
worker 文件添加
node1
node2
node3

vim hadoop-env.sh 添加
export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR= H A D O O P H O M E / e t c / h a d o o p e x p o r t H A D O O P L O G D I R = HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR= HADOOPHOME/etc/hadoopexportHADOOPLOGDIR=HADOOP_HOME/logs

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export YARN_PROXYSERVER_USER=root

下面这些参数是ubuntu系统需要的
export HADOOP_COMMON_HOME= H A D O O P H O M E e x p o r t H A D O O P H D F S H O M E = HADOOP_HOME export HADOOP_HDFS_HOME= HADOOPHOMEexportHADOOPHDFSHOME=HADOOP_HOME
export HADOOP_YARN_HOME= H A D O O P H O M E e x p o r t H A D O O P M A P R E D H O M E = HADOOP_HOME export HADOOP_MAPRED_HOME= HADOOPHOMEexportHADOOPMAPREDHOME=HADOOP_HOME

core-site.xml 添加

fs.defaultFS
hdfs://node1:9001

io.file.buffer.size 131072 hadoop.tmp.dir /export/server/hadoop/tmp

hdfs-site.xml 添加

dfs.datanode.data.dir.perm
700


dfs.namenode.name.dir
/data/nn


dfs.namenode.hosts
node1,node2,node3


dfs.blocksize
268435456


dfs.namenode.handler.count
100


dfs.datanode.data.dir
/data/dn


dfs.namenode.datanode.registration.ip-hostname-check
false


dfs.replication
3

三台机器都创建datanode和namenode对应的文件夹
mkdir -p /data/nn;mkdir -p /data/dn
把node1的hadoop文件夹复制到node2,node3
scp -r hadoop-3.3.5/ node2:pwd/
scp -r hadoop-3.3.5/ node3:pwd/
复制完之后创建软连
ln -s /export/server/hadoop hadoop
三台机器都操作配置环境变量
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin::$HADOOP_HOME/sbin

source /etc/profile

为hadoop用户创建权限操作/data,/export
chown -R hadoop:hadoop /data; chown -R hadoop:hadoop /export
9.格式化hadoop
su hadoop
hadoop namenode -format
10.启动hadoop
start-dfs.sh
jps 查看启动状态
stop-dfs.sh
`
11. 如果三个节点总有一个datanode或者主节点的namenode启动失败
删除 data/dn;data/nn;hadoop/logs;hadoop/tmp里面的内容
hadoop namenode -format 最好执行一次,否则每次执行都要删除上面的内容

http://www.lryc.cn/news/91853.html

相关文章:

  • HTML中 meta的基本应用
  • docker compose 下 Redis 主备配置
  • Tomcat ServletConfig和ServletContext接口概述
  • linux内核open文件流程
  • 遗传算法讲解
  • PostgreSQL修炼之道之高可用性方案设计(十六)
  • Bybit面经
  • GORM---创建
  • 高级查询 — 分组汇总
  • 【多线程】阻塞队列
  • python2升级python3
  • Apache Hudi初探(八)(与spark的结合)--非bulk_insert模式
  • Java之旅(九)
  • 6年测试经验之谈,为什么要做自动化测试?
  • 二分法的边界条件 2517. 礼盒的最大甜蜜度
  • java设计模式(十六)命令模式
  • [运维] iptables限制指定ip访问指定端口和只允许指定ip访问指定端口
  • JS学习笔记(3. 流程控制)
  • 遥感云大数据在灾害、水体与湿地领域典型案例及GPT模型教程
  • 什么是文件描述符以及重定向的本质和软硬链接(Linux)
  • LVM逻辑卷元数据丢失恢复案例 —— 筑梦之路
  • Java技术规范概览
  • 【OpenMMLab AI实战营第二期】二十分钟入门OpenMMLab笔记
  • docker-compose单机容器集群编排
  • CentOS7 安装Gitlab
  • Mysql InnoDB的Buffer Pool
  • SMTP简单邮件传输协议(C/C++ 发送电子邮件)
  • uploads靶场通关(1-11关)
  • 6.1黄金探底回升是否到顶,今日多空如何布局
  • 自定义ViewGroup实现流式布局