linux centos7下Hadoop3.1.2配置和启动记录

前置1:配置好java

vim /etc/profile
#java
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

前置2:主机映射配置,配置后要重启(虚拟机为centos7)

设置自己的主机名

vim /etc/hostname,将localhost改成hadoop100

配置IP-主机名映射

vim /etc/hosts

#ip地址   主机名/域名   (主机别名)
192.168.10.100 hadoop100

vi /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=hadoop100
重启:reboot

前置3:安装SSH服务

#root账号登录安装SSH
yum install -y openssl openssh-server
yum install rsync

#root账户修改配置文件,去掉permitrootlogin前面的注释
vim /etc/ssh/sshd_config

#启动SSH服务: 
systemctl start sshd.service
#设置SSH开机自启动:
systemctl enable sshd.service

(rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,分布式部署需要) 

1、配置Hadoop

1.1 进入配置目录,命令:cd /opt/hadoop/etc/hadoop

1.2 修改Hadoop配置文件 core-site.xml

命令:vim core-site.xml

键盘输入i进入编辑状态,在<configuration></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://hadoop100:9000</value>
    </property>

操作esc,输入:wq,退出编辑并保存

1.3 修改Hadoop配置文件 hdfs-site.xml

(初始配置没加最后一项,导致9870无法访问,需要配置最后一项)

同路径下,输入命令:vim hdfs-site.xml

键盘输入i进入编辑状态,在<configuration></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>

<property>

<name>dfs.http.address</name>

<value>本机ip:9870</value>

</property>
 操作esc,输入:wq,退出编辑并保存

1.3 配置 mapred-site.xml,在<configuration></configuration>节点内插入如下内容

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

1.4 配置 yarn-site.xml,在<configuration></configuration>节点内插入如下内容

(起初搭建只配置了前两项内容,启动后8088不能访问)

 <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>xxxx</value>   <!--填写自定义的主机名/ip-->
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>0.0.0.0:8032</value>
         </property>
         <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>0.0.0.0:8030</value>
         </property>
         <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>0.0.0.0:8031</value>
         </property>
         <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>0.0.0.0:8033</value>
         </property>
         <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>0.0.0.0:8088</value>
         </property>

2、配置SSH免密登录(分布式

2.1 切换目录,命令:cd ~

2.2 执行命令,创建公钥和私钥 ssh-keygen -t rsa,根据提示一路回车,再切换至路径 cd .ssh,然后输入命令: cat id_rsa.pub >> authorized_keys,将公钥添加到authorized_keys文件中

由此生成一个私钥和一个公钥,存储在/root/.ssh/目录下(目录实际情况按自己的来) 

2.3 主机与节点之间的免密登录

#登录主机hadoop100
scp id_rsa.pub hadoop@hadoop101:/opt/hadoop/
#登录节点机器hadoop101
cat id_rsa.pub >> ~/.ssh/authorized_keys
##登录主机hadoop100测试免密登录hadoop101
 ssh hadoop101

 

 

 

3、 切换路径 cd ~,vim /etc/profile,在环境变量中添加下面的配置,编辑完成保存后,输入命令source /etc/profile,使配置生效

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

4、启动Hadoop

切换到目录 cd /opt/hadoop/bin,然后输入命令:hadoop namenode -format,初始化namenode(如果有提示选择y/n,输入y)。

切换到cd /opt/hadoop/sbin,然后输入命令:start-dfs.sh,然后输入命令:start-yarn.sh,再输入jps查看,如下图的6个进程

打开浏览器访问:http://XXXX:8088/clusterhttp://XXXX:50070

问题:如果进程里面没有DataNode,为重新初始化后/opt/hadoop/tmp/dfs/name/current/VERSION与/opt/hadoop/tmp/dfs/data/current/VERSION的clusterID不一致,可以按照如下操作:

停止进程:stop-all.sh

将/opt/hadoop/tmp/dfs/name/current/VERSION的clusterID的值复制到/opt/hadoop/tmp/dfs/data/current/VERSION的clusterID上。

重新启动进程:start-dfs.sh,start-yarn.sh(注意:初始化命令hadoop namenode -format不用操作,不然又会导致不一致)

参考资料:

Linux(阿里云)安装Hadoop(详细教程+避坑)_小韩(承蒙厚爱)的博客-CSDN博客_linux安装hadoop

 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 - thousfeet - 博客园

超详细的Hadoop3.1.2架构单机、伪分布式、完全分布式安装和配置_caojianhua2018的博客-CSDN博客

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值