美文网首页
【ubuntu】部署hadoop

【ubuntu】部署hadoop

作者: 一钱科技 | 来源:发表于2022-12-28 17:13 被阅读0次

   hadoop版本:3.3.4

或者: 下载 3.3.4

环境准备

  • Java 8环境
sudo apt-get install openjdk-8-jdk
java -version
# 配置环境变量
sudo echo export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc 
echo $JAVA_HOME
  • 其他软件
sudo apt-get install ssh
sudo apt-get install pdsh

hadoop环境配置

  • 变量设置
# 解压文件,如果出现文件名过长,则放在根目录下
# 修改 etc/hadoop/hadoop-env.sh,设置java_home
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

# 运行命令,判断环境变量是否正确
bin/hadoop

单机节点

# 单机简单示例,将配置xml文件拷贝到input文件夹,通过正则表达式,筛选文件放在output文件夹
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'
cat output/*

伪集群节点

  单机伪集群部署

  • 变量设置
# 修改etc/hadoop/core-site.xml
<configuration>
   <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
   </property>
</configuration>

# 修改etc/hadoop/hdfs-site.xml
<configuration>
   <property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
</configuration>
  • 启动 passphraseless ssh
# 检查本地环境
ssh localhost

# 如果不能免密登录,则执行命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
  • 执行mapreduce任务
# 格式化文件系统
bin/hdfs namenode -format

# 启动NameNode和DataNode
sbin/start-dfs.sh

# 查看NodeName
http://localhost:9870/
# 创建mapreduce任务所需hdfs目录
bin/hdfs dfs -mkdir /home
bin/hdfs dfs -mkdir /home/test

# 拷贝文件的到input文件夹
bin/hdfs dfs -mkdir input
bin/hdfs dfs -put etc/hadoop/*.xml input

# 执行样例
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'

# 计算结果
bin/hdfs dfs -get output output
cat output/*
# 结束节点
sbin/stop-dfs.sh

如果使用root用户登录,则需要在start-dfs.sh,stop-dfs.sh中设置

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

相关文章

网友评论

      本文标题:【ubuntu】部署hadoop

      本文链接:https://www.haomeiwen.com/subject/acinqdtx.html