Hadoop配置与安装

 

基础配置

1、关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
查看防火墙状态
firewall-cmd --state
systemctl status firewalld.service
启动防火墙
systemctl start firewalld.service

2、修改主机名
第一种
hostnamectl set-hostname 名称
第二种
vim /etc/hostname
查看主机名
hostnamectl status

3.关闭networkmanage服务
systemctl status NetworkManager #查看NetworkManager状态
systemctl stop NetworkManager #停止NetworkManager
systemctl disable NetworkManager#禁止NetworkManager开机启动

4、修改ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.174.200
NETMASK=255.255.255.0
GATEWAY=192.168.174.2
DNS1=192.168.174.2

5.卸载自带jdk
查看自带jdk
rpm -qa |grep jdk
注意:copy-jdk-configs-3.3-10.el7_5.noarch 不属于自带的,所以不用管
  卸载:
  rpm -e 自带jdk名称 --nodeps

6.安装jdk
上传jdk1.8.0_171到/usr/local/module
解压jdk到soft
cd /usr/local/module
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/soft

配置环境变量
vim /etc/profile
增加
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

检查jdk安装是否成功
java -version

7.映射关系 ip地址 主机名 linux配置路径 vim /etc/hosts windows配置路径 C:\Windows\System32\drivers\etc\hosts

8.修改启动级别之后重启
systemctl set-default multi-user.target #即将原来安装的含桌面的变成优先启动无界面的
reboot #重启

克隆两台然后
9.免密配置
1)创建秘钥
ssh-keygen -t rsa 然后直接三次回车

2)秘钥分发
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id master

注意:
  1、如果执行出错,进入/root/.ssh删除里面所有内容,从新执行
  2、master到master的免密登录也需要配置。因为有时候需要在当前结点启动进程,如不配此项到时候"启动/停止hadoop"是需要输入密码的。
  即 还需在master创建秘钥后,不仅要分发给node1、node2、还需要分发给master自身。
  3、故总结:
  搭建Hadoop时需要配免密登录的关系是:
          master ——> node1
          master ——> node2
          master ——> master
           
  4、(此步骤可以配,但是没必要,故此处忽略!)搭建Hadoop是要求三台虚拟机都需要单独配免密,然后分别分发给另外两台。要求实现任意一台虚拟机都可免密登录另外的其它两台虚拟机。
  区别于取搭建"三台jdk"时的仅需配置master的免密,然后分发秘钥到node1、node2

 

 

10.检查免密是否配置成功
cd /root/.ssh/
ll
当master中有
  authorized_keys //(被分发秘钥的节点node1、node2中只有这一个文件)
              id_rsa //私钥
              id_rsa.pub //公钥
              known_hosts 这些文件都存在时,才表示"任意一台免密登录其它两台的"免密配置成功,
                          如果觉得有问题可删除这些文件后重新配免密

 

安装hadoop

上传hadoop-2.7.6.tar.gz 到 soft
解压:tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/soft/
注意:必须在解压在/usr/local/soft/

配置环境变量:
vim /etc/profile
添加:
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
PATH中新加$HADOOP_HOME/bin:$HADOOP_HOME/sbin

刷新配置文件使修改生效:
source /etc/profile

 

1.修改slaves文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/slaves
删除原有内容
添加两个从节点主机名
node1
node2

 

2.修改hadoop-env.sh文件 
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/hadoop-env.sh
删除/用#注释掉:
export JAVA_HOME=${JAVA_HOME}
新加:
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

 

3.修改core-site.xml文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/core-site.xml
在标签<configuration>  
</configuration>中间复制上以下的内容

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>

 

 

4.修改hdfs-site.xml文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/hdfs-site.xml
在标签<configuration>  
</configuration>中间复制上以下的内容

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

5.修改yarn-site.xml文件
		vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/yarn-site.xml
	在标签<configuration>  
		</configuration>中间复制上以下的内容

<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

6.修改mapred-site.xml文件
	先通过此配置文件的模板mapred-site.xml.template复制一个配置文件出来
		cp /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml.template /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml
	在打开文件编辑
		vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml
	在标签<configuration>  
		</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>

 

7.将hadoop安装目录hadoop-2.7.6文件夹(含所有修改过的配置文件) 分发到 node1和node2
		scp -r /usr/local/soft/hadoop-2.7.6 node1:/usr/local/soft
		scp -r /usr/local/soft/hadoop-2.7.6 node2:/usr/local/soft

 

8.启动hadoop	(仅在master上操作即可)
	先在master中格式化hadoop原信息(如果没有刷新添加hadoop环境变量后的配置文件,则此步会报错)
	(仅第一次启动时执行)
		hdfs namenode -format
		
法一:直接启动hadoop中的所有进程
	再启动所有节点上的hadoop(仅在master上操作即可,仅第一次启动需要输入密码)
		start-all.sh		(配置过环境变量后,此启动命令可在任意目录执行)
	
法二:分开启动hadoop中的各部分,以达到启动hadoop的目的(同样仅在master上启动)
	先启动 hdfs
		start-dfs.sh
	再启动 yarn
		start-yarn.sh			两者都启动后,hadoop便完整启动了

验证是否启动成功

法一:
用jps查看当前结点运行的所有java进程
      主节点进程:namenode/ secondarnamenode/resourcemanager
      子节点进程:datanode /nodemanager

法二:
网页登录,验证HDFS的web界面
      google浏览器输入master:50070
      点击Datanodes,看其中有没有node1、node2。有则表示成功
      点击Utilities -> Browse the file system ,可查看file system(即HDFS存储的文件信息)(即可以浏览文件系统)

补充:
在HDFS中进行文件操作:
在master中,启动hadoop后,在master的控制台中输入:
hdfs dfs -“linux相关的命令” //控制台没有输出代表成功执行
举例:
1、在HDFS中创建目录:
hdfs dfs -mkdir /testHDFSShell //刷新web网页后即可查看到刚刚创建的目录
2、查看存储文件的HDFS中根目录信息的文件
hdfs dfs -ls /

法三:
网页登录,验证Yarn的web界面
      google浏览器输入master:8088

 

如果安装失败

1.关闭hadoop(在主节点)
stop-all.sh
如果关不掉就jps然后 (在所有节点)
kill -9 端口号

2.需要手动将每个节点的tmp目录删除: 所有节点都要删除(在所有节点)
rm -rf /usr/local/soft/hadoop-2.7.6/tmp

3.重新打开各个修改过得配置文件,看是否有问题

4.在主节点执行namenode格式化命令:
hdfs namenode -format

5.启动hadoop
start-all.sh

 

 

 

posted @   呆滞的猪蹄  阅读(182)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示