大数据学习——Hadoop完全分布式环境搭建

搭建 Hadoop 2.7.2 完全分布式

我使用了4台虚拟机来搭建相对应的节点,具体情况如下:

masterslave1slave2slave3
NameNode
SecondaryNameNode
DataNode
ResourceManage
NodeManage

软件版本:

  • Hadoop 2.7.2

另注:我的所有软件都安装在 /usr/wang/ 目录下。

安装JDK

1.解压

tar -zxvf jdk-8u191-linux-x64.tar.gz

2.重命名并建立软链

mv jdk-8u191-linux-x64 jdk-8u191
ln -s jdk-8u191 jdk

3.配置环境变量

sudo vim /etc/profile
# JAVA ENVIROMENT
export JAVA_HOME=/usr/wang/jdk
export PATH=$JAVA_HOME/bin:$PATH

4.验证JDK是否安装成功

source /etc/profile
java -version

如果出现相对应的java版本,则安装成功。

安装 Hadoop

设置免密钥登录

1.生成公钥和私钥

ssh-keygen -t rsa

2.分发密钥

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

解压 Hadoop 并配置环境变量

1.解压

tar -zxvf hadoop-2.7.2.tar.gz

2.建立软链

ln -s hadoop-2.7.2 hadoop

3.将 Hadoop 添加到环境变量

sudo vim /etc/profile
# HADOOP ENVIROMENT
export HADOOP_HOME=/usr/wang/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

4.验证 Hadoop 是否安装成功

source /etc/profile
hadoop version

如果出现相对应的 Hadoop 版本,则安装成功。

配置相应的 Hadoop 的配置文件

需要修改的配置文件主要包括:core-site.xmlhadoop-env.shhdfs-site.xmlyarn-env.shyarn-site.xmlmapred-env.shmapred-site.xmlslaves
这些相关的配置文件都在 hadoop/etc/hadoop/
1.配置 core-site.xml

vim core-site.xml 

添加相应的属性:

<configuration>
        <!-- 指定HDFS中NameNode的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>

        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/wang/hadoop/data/tmp</value>
        </property>
</configuration>

2.配置 hadoop-env.sh

vim hadoop-env.sh

配置 JDK 所在目录

# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk

3.配置 hdfs-site.xml

vim hdfs-site.xml

添加相应的属性:

<configuration>
        <!-- 配置副本数 -->
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <!-- 指定Hadoop辅助名称节点主机配置 -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave3:50090</value>
        </property>
</configuration>

4.配置 yarn-env.sh

vim yarn-env.sh

配置JDK所在目录

# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk

5.配置 yarn-site.xml

vim yarn-site.xml

添加相应的属性:

<configuration>
        <!-- Reducer获取数据的方式 -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

        <!-- 指定YARN的ResourceManager的地址 -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
</configuration>

6.配置 mapred-env.sh

vim mapred-env.sh

配置 JDK 所在目录

# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk

7.配置 mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

添加相应的属性:

<configuration>
        <!-- 指定MR运行在Yarn上 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

8.修改 slaves

添加相对应的 DataNode 主机名:

slave1
slave2
slave3

分发配置完成的 Hadoop 到其它节点

rsync -rvl hadoop-2.7.2 spark@slave1:/usr/wang/
rsync -rvl hadoop-2.7.2 spark@slave2:/usr/wang/
rsync -rvl hadoop-2.7.2 spark@slave3:/usr/wang/

格式化 NameNode

进入你设置的 NameNode 节点中 hadoop 的 bin/ 目录,格式化 NameNode:

./hadoop namenode -format

最终如果在打印的消息中提示 successfully 的话,就表示格式化成功,接下来就可以启动 HDFS 和 YARN 了。

启动 HSDF 和 YARN

sbin/start-hdfs.sh
sbin/start-yarn.sh

该命令位于 hadoop 文件中的 sbin/ 目录下。

关闭 HDFA 和 YARN

sbin/stop-hdfs.sh
sbin/stop-yarn.sh

该命令同样位于 hadoop 文件中的 sbin/ 目录下。

  • 12
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值