Centos7+hadoop2.7.3+jdk1.8

Posted 砖治不服

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7+hadoop2.7.3+jdk1.8相关的知识,希望对你有一定的参考价值。

 修改主机名

1.       修改主机名 vi /etc/sysconfig/network ,改为 master , slave1 , slave2

2.       source /etc/sysconfig/network  让刚才的设置生效

3.       如果不行需要 reboot

4.       master主机上输入命令:vi /etc/hosts,添加ip地址和主机名

设置host

5.       将修改后的host文件发送到其他主机,进行远程拷贝

scp /etc/hosts root@192.168.80.131:/etc

6.       设置免密码登录

  a)       ssh-keygen 生成密匙对

  b)      ssh-copy-id 其他主机(例如:ssh-copy-id slave1)

              i.              master-->slave1,slave2,master

           ii.             slave1-->slave1,slave2,master

           iii.            slave2-->slave1,slave2,master

安装jdk

1.       查看之间是否安装jdk

  a)       rpm –qa | grep jdk

2.       输入 rpm -e –nodeps 要卸载的软件

3.       安装包 (我自己备份的,可联系我私发)  /opt/software/java 下进行解压 tar -xvf

4.       配置环境变量  /etc/profile

#set java environment
export JAVA_HOME=/opt/software/java/jdk1.8.0_141
export JRE_HOME=/opt/software/java/jdk1.8.0_141/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

5.       重新加载配置文件source /etc/profile

6.       测试  java -version    javac -version

安装hadoop

1.       /opt/software/hadoop 目录下解压tar -xvf ***  安装包如下

2.       重命名  mv hadoop-2.7.3 hadoop

3.       hadoop目录下创建目录tmp,logs,hdfs,hdfs/data,hdfs/name

4.       修改配置文件 etc/hadoop/hadoop-env.sh 文件中

etc/hadoop/yarn-env.sh

5.       etc/hadoop/slaves文件下删除原来的内容,加上从节点的名字

6.       配置 etc/hadoop/core-site.xml

<configuration>
<property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/opt/software/hadoop/hadoop/tmp</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131702</value>
        </property>
<property>  
  <name>hadoop.proxyuser.root.hosts</name>  
  <value>*</value>  
</property>  
<property>  
  <name>hadoop.proxyuser.root.groups</name>  
  <value>*</value>  
</property> 
</configuration>

 

配置 etc/hadoop/hdfs-site.xml

<configuration>

<property>

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

<!--namenode节点数据存储目录-->

<value>file:/opt/software/hadoop/hadoop/hdfs/name</value>

</property>

<property>

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

<!--datanode数据存储目录-->

<value>file:/opt/software/hadoop/hadoop/hdfs/data</value>

</property>

<property>

<!--指定DataNode存储block的副本数量,不大于DataNode的个数就行-->

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<!--指定master的http地址-->

<name>dfs.namenode.secondary.http-address</name>

<value>master:50090</value>

</property>

<property>

<!--指定master的https地址-->

<name>dfs.namenode.secondary.https-address</name>

<value>master:50091</value>

</property>

<property>

<!--必须设置为true,否则就不能通过web

访问hdfs上的文件信息-->

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

     <name>dfs.datanode.max.xcievers</name>

     <value>4096</value>

</property>

</configuration>

 

配置 etc/hadoop/yarn-site.xml 文件

<configuration>

<property>

<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<!--ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。-->

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。-->

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<!--ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。-->

<name>yarn.resourcemanager.resourcetracker.address</name>

<value>master:8031</value>

</property>

<property>

<!--ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。-->

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<!--用户可通过该地址在浏览器中查看集群各类信息。-->

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

<property>

<!--NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不可动态修改。另外,该参数的默认值是8192MB,因此,这个值通过一定要配置。不过,Apache已经正在尝试将该参数做成可动态修改的。-->

<name>yarn.nodemanager.resource.memory-mb</name>

<value>3072</value>

</property>

</configuration>

 

 

首先修改mapred-site.xml.defaultmapred-site.xml

配置 etc/hadoop/mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

</configuration>

 

 

7.       远程将master上的 /opt/SoftWare 的内容拷贝到子节点, -r 表示递归 scp -r /opt/SoftWare root@slave1:/opt/   scp -r /opt/SoftWare root@slave2:/opt/

8.       配置环境变量

export HADOOP_HOME=/opt/software/hadoop/hadoop

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

export YARN_LOG_DIR=$HADOOP_LOG_DIR

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

9.       远程将master上的 /etc/profile 的内容拷贝到子节点

  scp -r /etc/profile root@slave1:/etc/

  scp -r /etc/profile root@slave2:/etc/

10.  执行全部的source source /etc/profile

11.  同步系统时间

  a)       安装ntpdate工具 yum -y install ntp ntpdate

  b)      设置与网络时间同步ntpdate cn.pool.ntp.org

  c)       系统时间写入硬件时间hwclock -systohc

12.  关闭防火墙

  a)       systemctl stop firewalld

  b)      永久关闭(开机不自启)systemctl disable firewalld

13.  在主节点hadoop下格式化  bin/hdfs namenode -format

14.  启动集群 start-all.sh

以上是关于Centos7+hadoop2.7.3+jdk1.8的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop2.7.3+Centos7

Centos7完全分布式搭建Hadoop2.7.3

Centos7完全分布式搭建Hadoop2.7.3

centos 6.5怎么搭建hadoop2.7.3

Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2

Hadoop2.7.3分布式环境准备