hadoop环境配置及HDFS配置

news/2024/12/19 8:16:40/

环境与配置

  • 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.ppmy.cn/news/209229.html

相关文章

联咏系列行车记录仪方案

现在 写起关于这方面的博客,可能不晚吧。 那是在差不多一年前了,接触过,大概是16年4月左右。 定制化方案模块调整与功能模块细分: 1. 不同客户之间的显示屏驱动调用 2.不同公司或厂家的开机启动画面不同,&#xff0…

12111

<code>$reg /<img\s?src"(data:image\/(\w?);base64,(.?))"\s*?\/>/si;</code>