Hadoop2.7.2完全分布式部署安装

最近需要安装Hadoop,HBase,Zookeeper。目前自己摸索了几天,终于打Hadoop2.7.2的完全分布式安装弄好了。写篇文章Mark下,自己回头可以看一下,也希望对读者有点帮助。目前还是有些问题的,会在文章尾部列出,希望知道的朋友指点一点。

1.准备阶段:

因为Hadoop不同版本差别还是比较大的,所以列出使用的版本,以免误扰大家
JDK:1.8, 安装目录 /home/hadoop/jdk
Hadoop:2.7.2,安装目录/home/hadoop/hadoop
HBase和Zookeeper以后在加上
配置相关的环境变量
主机列表

master192.168.1.103
slave1192.168.1.114
slave2192.168.1.115
2. 配置各个主机的主机名

192.168.1.103 配置为master
192.168.1.114 配置为slave1
192.168.1.115 配置为slave2

sudo vi /etc/hostname
修改为对应的主机名

配置主机 —— IP的映射

sudo vi /etc/hosts
添加
192.168.1.103 master
192.168.1.114 slave1
192.168.1.115 slave2
3.配置SSH免密码登陆

$192.168.1.103

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

将生成的公钥发送给各个主机

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub | ssh slave1 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_rsa.puh | ssh slave2 'cat - >> ~/.ssh/authorized_keys'

测试连接是否成功

ssh master
ssh slave1
ssh slave1

如果第二次连接还是需要密码,查询~/.ssh/ 和~/.ssh/*的权限设置ssh文件夹为700,ssh文件夹的文件为600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
4.配置Hadoop的配置文件

配置文件均在hadoop/etc/hadoop目录下

1. 配置slaves文件
cd ~/hadoop/etc/hadoop
vi slaves
添加主机名称(一行一个主机名称)
master
slave1
slave2
2.配置core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
</configuration>
3.配置hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/home/hadoop/data/dfs/namenode</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/home/hadoop/data/dfs/datanode</value>
        </property>
</configuration>
4.配置mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.frameword.name</name>
                <value>yarn</value>
        </property>
</configuration>
5.配置yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop1</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>
6.配置hadoop-env.sh

配置环境变量
修改其中的JAVA_HOME为 /home/hadoop/jdk

5. 启动Hadoop

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

存在的问题

现在namenode和secondarynamenode都在master主机上。需要将secondarynamenode运行在slave1主机上,目前还没找到解决方法。希望知道的朋友告知下,多谢。

    原文作者:StephenZ
    原文地址: https://www.jianshu.com/p/7891f48fe309
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞