Hadoop配置——两个节点(master和slave1)

配置要求

目标是配置一个基本的 Hadoop 分布式集群:

  • 一台主节点:master
  • 一台从节点:slave1
  • 支持:HDFS + YARN
  • Java 已配置
  • Hadoop 已安装成功,路径在 /opt/hadoop(你可替换为实际路径)
    • 使用 hadoop version 命令测试

注:前置参考资料在文末,建议先按照前置参考资料进行安装配置到 hadoop version 命令成功执行步骤,再继续参照本文章。

修改hosts、hostname

hosts: /etc/hosts
集群所有主机IP地址与对应主机名
格式:IP(空)主机名

hostname: /etc/hostname
主节点命名为master,子节点命名为slave1
把主机名直接写入此文件(只能保留一个名字),定义本机的主机名(可能需要重启生效)
使用 sudo hostnamectl set-hostname 新主机名 设置(即时生效)
使用 hostname 命令查看当前主机名

SSH 配置免密

1. 生成 SSH 密钥对(如果尚未生成)

在每台机器上执行:ssh-keygen -t rsa

一路回车即可(不要设置密码短语)。

2. 将自己的公钥添加到目标机器的 authorized_keys 中

master 上执行以下命令,把自己的公钥发给 slave1

ssh-copy-id root@localhost
ssh-copy-id root@slave1

同理,在 slave1 上执行:

ssh-copy-id root@localhost
ssh-copy-id root@master

从每台机器尝试 ssh 到其他机器(包括自己)进行验证:

ssh root@localhost
ssh root@master
ssh root@slave1

配置Hadoop的配置文件

1. core-site.xml

<configuration>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/hadoop/tmp</value>
    <description>location to store temporary files</description>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
</configuration>

2. hdfs-site.xml

<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/opt/hadoop/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/hadoop/tmp/dfs/data</value>
</property>
</configuration>

3. mapred-site.xml

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>

4. yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

5. workers(以前叫 slaves)

列出所有的从节点(一个 hostname 一行)。

slave1

复制配置文件

scp -r /opt/hadoop/etc/hadoop/ root@slave1:/opt/hadoop/etc/

启动 Hadoop

hdfs namenode -format
start-dfs.sh
start-yarn.sh

验证是否成功

在 master 和 slave1 分别运行:jps
你应该看到:

  • master 节点有:
    • NameNode
    • SecondaryNameNode
    • ResourceManager
  • slave1 节点有:
    • DataNode
    • NodeManager

然后运行以下命令进行测试,检查是否有问题:

hdfs dfs -ls /
hdfs dfs -mkdir /testdir
hdfs dfs -ls /
echo "Hello Hadoop" > hello.txt
hdfs dfs -put hello.txt /testdir/
hdfs dfs -ls /testdir/
hdfs dfs -cat /testdir/hello.txt
hdfs dfs -get /testdir/hello.txt ./hello_from_hdfs.txt
hdfs dfs -rm /testdir/hello.txt
hdfs dfs -rmdir /testdir
hdfs dfsadmin -report

如果出现问题请先检查防火墙是否开放相应端口。

# 开放端口
for p in 9000 9870 {50010..50020} 50075 8088 8042 9864 9866 9867; do firewall-cmd --permanent --add-port=${p}/tcp; done && firewall-cmd --reload

# 关闭端口
for p in 9000 9870 {50010..50020} 50075 8088 8042 9864 9866 9867; do firewall-cmd --permanent --remove-port=${p}/tcp; done && firewall-cmd --reload

前置参考资料

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇