Hadoop环境搭配

前面是环境搭建,最后面是我在搭建过程遇到的问题!

 小弟不才,只能总结出这份资料。


网络配置环境:/etc/sysconfig/network-scripts

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6ebbf8d9-7be0-42fe-8818-47ccccf2bd4a
DEVICE=ens33
ONBOOT=yes

 

IPADDR=192.168.201.123
NETMASK=255.255.255.0
GATEWAY=192.168.201.2

DNS1=8.8.8.8
DNS2=223.5.5.5

重启网卡:service network restart


 搜索安装包:yum search 。。。。。

安装:yum -y install 。。。。。


 配置Java需要配置到bin目录下

Hadoop 需要配置到bin和sbin

修改主机名路径:/etc/hosts(改完之后需要重启)

环境配置:/etc/profile

刷新环境变量:source /etc/profile


hadoop配置: hadoop下的etc文件


core-site.xml

<property>

   <name>hadoop.tmp.dir</name>

   <value>file:/home/hadoop/hadoop/tmp</value>#路径

</property>

<property>

   <name>fs.defaultFS</name>

   <value>hdfs://IP地址或用户名:9000</value>

</property>  


 

 hdfs-site.xml

<property>

<name>dfs.permissions.enabled</name>

<value>false</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop/hdfs/name</value>#存放的路径,按需求改

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop/hdfs/data</value>#存放的路径按需求改

</property>


mapred-site.xml 

<property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

<property>

    <name>mapred.job.tracker</name>

    <value>192.168.92.35:9001</value>#改ip

</property>


  yarn-site.xml

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>0.0.0.0</value> 

</property>


 slave:去掉主机名,加上子节点机名


hadoop-env.sh中的环境变量  

export JAVA_HOME=加上JAVA_HOME的路径


免密操作:ssh-keygen -t rsa

传密钥:sh-copy-id root@用户名(或IP地址)


 给其他主机传文件:

scp 文件 root@目的机名:路径

传目录: scp -r 目录 root@目的机:/路径


防火墙(分布式需要全部关闭防火墙)

启动: systemctl start firewalld

关闭: systemctl stop firewalld


 格式化:hdfs namenode -format 


 服务:

启动:start-all.sh

关闭:stop-all.sh


给Hadoop传文件:hdfs dfs -put a.txt /

hdfs dfs -put 文件 Hadoop目标位置


使用jar包命令:hadoop jar aa.jar wordcount /a.txt /out

解释:hadoop jar jar包 类名(如果有包则要加 包名.  ) 输入文件 输出目的位置

查看结果:hdfs dfs -cat /out/part-r-00000

解释:hdfs dfs -cat 目录/part-r-00000


在完全分布式中,wordcount任务可能会停在: INFO mapreduce.Job: Running job: job_1609081522418_0002

可以尝试修改成以下配置:

1、hadoop/etc/capacity-scheduler.xml       将0.1改成0.5

<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>0.1</value>

<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>

  <value>0.5</value>

2、capacity-scheduler.xml中添加以下配置:

<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>

3、重启系统


如果子节点上缺少datenode 可以尝试将/hadoop/hdfs删除


如果自己导的wordcount包报代码错误,可以用官方的jar包使用(谨考试急用)

位置:/user/hadoop-2.7.7/share/hadoop/mapreduce 的 hadoop-mapreduce-examples-2.7.7.jar


报错:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/user/hadoop-2.7.7/share/hadoop/common/lib/hadoop-auth-2.7.7.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

可能是因为我jdk版本太高导致的问题,暂时不影响使用。(如果有如果的大神知道的话,希望可以告诉我怎么回事,谢谢!!)

原文地址:https://www.cnblogs.com/mi-9/p/14188192.html