CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建

  • 一、前提准备
  • 二、JDK安装
  • 三、ssh免密登录设置
    • 1. 更改用户名
    • 2. 关闭防火墙
      • 2.1 方法一:
      • 2.2 方法二:
    • 3. 添加域名
    • 4.修改selinux中的配置文件
    • 5. ssh免密登录(全部操作用root执行)
  • 四、Hadoop安装
    • 4.1 解压:
    • 4.2 重命名:
    • 4.3 配置环境变量:
    • 4.4 配置hadoop集群
    • 4.5 从节点安装jdk和hadoop
    • 4.6 格式化以及启动集群
  • 五、安装过程中出现的问题

一、前提准备

  1. 两台虚拟机
  2. 两台虚拟机的网络是互通的且可以上网
  3. jdk1.8安装包
  4. WinScp 用来将安装包传到虚拟机中

二、JDK安装

  1. 用WinScp将jdk1.8压缩包上传到/opt/software文件夹下

  2. 在 opt目录下解压jdk: tar -zxvf software/jdk-8u241-linux-x64.tar.gz
    CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第1张图片

  3. jdk重命名:

mv jdk1.8.0_241/ jdk

在这里插入图片描述

  1. 配置环境变量:
vim /etc/profile.d/hadoop_etc.sh  #  在这个中编写环境变量

写入以下内容:

export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

更新环境变量:

source  /etc/profile.d/hadoop_etc.sh

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第2张图片

三、ssh免密登录设置

本人将虚拟机 master作为主节点 s1作为从节点

1. 更改用户名

vim /etc/sysconfig/network

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第3张图片

2. 关闭防火墙

2.1 方法一:

		2.1 安装:  yum install iptables-services
		2.2 关闭: service iptables stop & chkconfig iptables off
		2.3 检查: service iptables status

2.2 方法二:

  1. 关闭:systemctl stop firewalld.service
  2. 永久关闭: systemctl disable firewalld.service
  3. 检查: firewall-cmd --state

3. 添加域名

打开配置文件添加一下内容:

	1. 打开文件:  vim /etc/hosts`
	2. 添加:
			192.168.1.100 master
			192.168.1.101 s1

验证:

ping s1   / ping master  

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第4张图片

4.修改selinux中的配置文件

vim /etc/selinux/config

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第5张图片

5. ssh免密登录(全部操作用root执行)

5.1 用 vim /etc/hosts往 hosts中添加以下内容(ip 和主机名)

192.168.1.100 master
192.168.1.101 s1

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第6张图片
5.2 将 /etc/hosts文件拷贝到从机文件中:

scp /etc/hosts [email protected]:/etc/hosts

在这里插入图片描述
5.3 生成密钥对: (两台机字分别执行)

ssh-keygen -t rsa   # 中间直接敲三个回车会看到以下内容

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第7张图片
在 /root/.ssh 路径下查看:(公钥和私钥)

ls

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第8张图片
5.4 复制从节点的公钥放到主节点中:

scp id_rsa.pub root@master:/root/.ssh/id_rsa.pub.s1

检查:
在这里插入图片描述
5.5 将主节点和从节点的公钥添加到主节点的authorized_keys中:

cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.s1 >> authorized_keys

检查:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第9张图片
5.6 修改authorized_keys 文件的权限:(必须要做)

chmod 644 ~/.ssh/authorized_keys

5.7 拷贝authorized_keys 这个文件到从节点中:

scp /root/.ssh/authorized_keys s1:/root/.ssh/authorized_keys

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第10张图片
验证:

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第11张图片

四、Hadoop安装

4.1 解压:

 tar -zxvf software/hadoop-3.2.1.tar.gz 

4.2 重命名:

mv hadoop-3.2.1/ hadoop
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第12张图片

4.3 配置环境变量:

4.3.1 配置文件1

vim /etc/profile.d/hadoop_etc.sh

写入:

export HADOOP_INSTALL=/opt/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export HADOOP_YARN_HOME=$HADOOP_INSTALL
export HADOOP_CONF_HOME=$HADOOP_INSTALL

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第13张图片
4.3.2 让其生效,就可以看到hadoop的版本信息了

source /etc/profile.d/hadoop_etc.sh
hadoop version

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第14张图片

4.4 配置hadoop集群

4.4.1 编辑hadoop的配置文件在/opt/hadoop/etc/hadoop目录下:

vim hadoop-env.sh   vim yarn-env.sh中
分别添加: export JAVA_HOME=/opt/jdk

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第15张图片
4.4.2 在workers中配置workers节点的ip或hostname(或者vim一个slaves)

sudo vim workers

删除localhost,增加s1再添加一个master
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第16张图片
4.4.3 建立相关的hdfs文件:在opt目录下:

 mkdir -p hd_space/tmp
 mkdir -p hd_space/hdfs/name
 mkdir -p hd_space/hdfs/data
 mkdir -p hd_space/mapred/local
 mkdir -p hd_space/mapred/system

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第17张图片
4.4.4 下面配置的文件都在:/opt/hadoop/etc/hadoop目录下:

配置1:core-site.xml文件: vim core-site.xml

<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/opt/hd_space/tmpvalue>
property>
configuration>

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第18张图片
配置2 : hdfs-site.xml文件: vim hdfs-site.xml

<configuration>
<property>
<name>dfs.name.dirname>
<value>/opt/hd_space/hdfs/namevalue>
property>
<property>
<name>dfs.data.dirname>
<value>/opt/hd_space/hdfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
  <name>dfs.http.addressname>
  <value>master:50070value>
property>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>s1:50090value>
property>
configuration>

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第19张图片
配置3 :mapred-site.xml文件:(如果没有这个文件则用这个文件的模板创建一个)

vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.cluster.local.dirname>
<value>/opt/hd_space/mapred/localvalue>
property>
<property>
<name>mapreduce.cluster.system.dirname>
<value>/opt/hd_space/mapred/systemvalue>
property>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>master:19888value>
property>
configuration>

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第20张图片
配置4: yarn-site.xml文件: vim yarn-site.xml

<configuration>

<property>
<description>The hostname of the RM.description>
<name>yarn.resourcemanager.hostnamename>
<value>mastervalue>
property>
<property>
<description>the valid service name should only contain a-zA-Z0-9_ and
can not start with numbersdescription>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
configuration>

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第21张图片

4.5 从节点安装jdk和hadoop

4.5.1 将主节点上的东西传到从节点上:

拷贝jdk:  scp -r /opt/jdk root@s1:/opt/
拷贝hadoop: scp -r /opt/hadoop root@s1:/opt/
拷贝hd_space:  scp -r /opt/hd_space root@s1:/opt/

4.5.2 拷贝配置文件:

scp -r /etc/profile.d/hadoop_etc.sh root@s1:/etc/profile.d/hadoop_etc.sh

4.5.3 在从节点(s1)中重启环境变量:

source /etc/profile.d/hadoop_etc.sh

4.5.4 验证Hadoop和java是否安装成功:

hadoop version
java -version

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第22张图片

4.6 格式化以及启动集群

4.6.1 格式化:hdfs namenode -format
在这里插入图片描述
4.6.2 启动集群: start-all.sh
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第23张图片
4.6.3 验证:
jps : 查看守护进程
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第24张图片
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第25张图片
首页: 192.168.1.100:50070
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第26张图片
应用:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第27张图片
节点:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第28张图片
文件目录:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第29张图片

五、安装过程中出现的问题

5.1 使用yum 命令出现以下错误时:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第30张图片
解决方法:
用这个命令修改文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 加上最后两句
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第31张图片
更改完后重启网络:

service network restart

5.2 启动hadoop时出现问题:
问题出现的原因: 没有权限
解决方法:
执行: (可以在目录:/opt/hadoop/sbin中的start-all.sh、stop-all.sh文件中加入以下内容)
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”
5.3 要注意的是:启动hadoop前:
(1)关闭防火墙
(2)权限足够
(3)配置的时候地址填对

5.4 用hadoop上传文件的时候出现错误:

put: File /data/file/group._COPYING_ could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node(s) are excluded in this operation.

原因:
1)datanode没有启动
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第32张图片
2)之前由于格式化不成功的原因格式化了两次出现:data/current/下的VERSION中的clusterID和name/current/下VERSION中的clusterID不一样
解决:
1) 启动datanode :hadoop --daemon start datanode使用这个启动
2)将name中的clusterID复制到data的clusterID中,覆盖data的。(如果data下没有current文件,请先启动datanode节点)
查看VERSION的存放目录:
在hdfs-site.xml文件中
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第33张图片
5.5 归档时出现的错误:
1)没有找到类:
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第34张图片
解决方法:

hadoop classpath

在这里插入图片描述

vim yarn-site.xml

CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第35张图片
更改后重启hadoop
2)出现安全问题
CentOS7中jdk安装和ssh免密和Hadoop集群搭建搭建_第36张图片
解决:关闭安全模式: hdfs dfsadmin -safemode leave
在这里插入图片描述

你可能感兴趣的:(大数据)