Hadoop环境配置(5)-完全分布式

一、配置核心文件

1配置:hadoop-env.sh(在/opt/module/hadoop-3.1.3/etc/hadoop目录下)

从Linux系统中获取jdk的安装路径

echo $JAVA_HOME
#获得jdk的安装路径

切换到cd /opt/module/hadoop-3.1.3/etc/hadoop/路径下

cd /opt/module/hadoop-3.1.3/etc/hadoop/
vi hadoop-env.sh

在hadoop-env.sh中修改JAVA_HOME的路径

export JAVA_HOME=/opt/module/jdk1.8.0_212

注意代码前不要#号,否则后期会报错

2.配置core-site.xml

vi core-site.xml

在configuration中添加如下代码:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop100:9820</value>
</property>
 
<!-- hadoop.data.dir是自定义的变量,下面的配置文件会用到 -->
    <property>
        <name>hadoop.data.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
</configuration>

3.配置hdfs文件

vi hdfs-site.xml

在configuration中添加如下代码:

<configuration>
 <!-- namenode数据存放位置 -->
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file://${hadoop.data.dir}/name</value>
 </property>

 <!-- datanode数据存放位置 -->
 <property>
  <name>dfs.datanode.data.dir</name>
  <value>file://${hadoop.data.dir}/data</value>
 </property>

 <!-- secondary namenode数据存放位置 -->
  <property>
  <name>dfs.namenode.checkpoint.dir</name>
<value>file://${hadoop.data.dir}/namesecondary</value>
 </property>

 <!-- datanode重启超时时间是30s,解决兼容性问题,跳过 -->
 <property>
  <name>dfs.client.datanode-restart.timeout</name>
  <value>30</value>
 </property>

 <!-- 设置web端访问namenode的地址 -->
<property>
  <name>dfs.namenode.http-address</name>
  <value>hadoop100:9870</value>
</property>

 <!-- 设置web端访问secondary namenode的地址 -->
 <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop102:9868</value>
 </property>
</configuration>

4.配置yarn文件

vi yarn-site.xml

在configuration中添加如下代码:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop101</value>
  </property>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
  <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  </property>
</configuration>

5.配置mapreduce文件

vi mapred-site.xml

在configuration中添加如下代码:

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

在配置成功后,需要去克隆下我们的虚拟机,因为是建立在配置好的情况下,所以后期我们连接moba就不用进行集群分发这个过程了。

6.分布式集群的格式化

格式化之前要把hadoop安装目录下的data目录和log目录都移除(需要用的服务器上都要删除)

cd /opt/module/hadoop-3.1.3
#切换到此目录下将data和logs文件删掉,
rm -rf data
rm -rf logs

格式化namenode,因为namenode只在hadoop100上运行,所以只在100上格式化就可以。

hdfs namenode -format

7.启动进程

Hadoop100Hadoop101    Hadoop102
          HDFSNamenode DatanodeDatanodeSecondary Namenode
          YARNnodemanagerResourceManger
nodemanager
nodemanager
启动hdfs相关
		hdfs --daemon start namenode
		hdfs --daemon start datanode
启动yarn相关
		yarn --daemon start resourcemanager
		yarn --daemon start nodemanage

 

二、ssh免密登录

在每个节点生成公钥和私钥,并将公钥和私钥拷贝到其他两个目标机器上

1.在Hadoop100上生成公钥和私钥

ssh-keygen -t rsa
#按三下回车键

 出现密钥直接copy就行

将Hadoop100的公钥拷贝到其他两个目标机器上

ssh-copy-id hadoop100    输入密码,回车
ssh-copy-id hadoop101    输入密码,回车
ssh-copy-id hadoop102    输入密码,回车

2.在Hadoop101上生成公钥和私钥

ssh-keygen -t rsa
#按三下回车键

 将Hadoop101的公钥拷贝到其他两个目标机器上

ssh-copy-id hadoop100    输入密码,回车
ssh-copy-id hadoop101    输入密码,回车
ssh-copy-id hadoop102    输入密码,回车

3.在Hadoop102上生成公钥和私钥

ssh-keygen -t rsa
#按三下回车键

 将Hadoop102的公钥拷贝到其他两个目标机器上

ssh-copy-id hadoop100    输入密码,回车
ssh-copy-id hadoop101    输入密码,回车
ssh-copy-id hadoop102    输入密码,回车

 4.免密登录

ssh 主机名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值