Hadoop安装步骤大致分8步:
- 安装运行环境
- 修改主机名和用户名
- 配置静态IP地址
- 配置SSH无密码连接
- 安装JDK
- 配置Hadoop
- 格式化HDFS
- 启动Hadoop并验证安装
安装运行环境
〉〉〉〉见Centos安装
修改主机名和用户名
修改用户名要先添加用户
useradd <username>
修改密码
passwd <username>
//建议不添加用户,直接使用root用户,免去授权问题。
修改主机名
vi /etc/hostname
直接修改为master,其他节点修改为slave1,slave2....
为了让各个节点能够使用主机名相互访问,需修改hosts文件
vi /etc/hosts
192.168.130.137 master
192.168.130.138 slave1
192.168.130.139 slave2
改完后保存退出
配置静态IP地址
为了使Hadoop集群在启动时可以通过固定的主机名或者IP地址启动
修改ifcfg-ens33文件(名称可能不一样,可以执行ifconfig查询)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改成如下
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=76e3e6d0-8e36-4584-9ee7-a2e6c82350b3
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.130.137
NETMASK=255.255.255.0
GATEWAY=192.168.130.2
DNS1=8.8.8.8
GATEWAY查询命令
netstat -rn
配置SSH无密码连接
为了能通过一个节点来操作其他的节点
在这之前,先关闭防火墙
先检查是否安装了iptables
service iptables status
安装iptables
yum install -y iptables
安装iptables-services
yum install iptables-services
iptables-services 和 iptables 是不一样的
安装了 services才有/etc/sysconfig/iptables
禁用/停止自带的firewalld服务
停止firewalld服务
systemctl stop firewalld
安装rsync工具(远程数据同步工具)
yum install rsync
检查是否安装成功
rpm -qa | grep rsync
出现如下信息说明安装成功
rsync-3.1.2-4.el7.x86_64
生成SSH公钥(仅需主节点操作)
为了无密码访问子节点
在master执行
ssh-keygen -t rsa
遇到提示一直按回车即可
将公钥发送至从节点的authorized_keys的列表,执行
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave2
...
验证安装
在主节点执行
ssh slave1
没有出现输入密码提示,说明安装成功
安装JDK
卸载自带的Open JDK
查看目前系统JDK,执行
rpm -qa | grep jdk
如果出现openjdk,卸载之
yum -y remove ***
安装Oracle JDK,将JDK安装在/opt文件夹下
tar -xzvf jdk-********.tar.gz
配置环境变量(所以节点都需要),对/etc/profile文件追加
export JAVA_HOME=/opt/jdk****
export PATH=$PATH:$JAVA_HOME/bin
使其生效
source /etc/profile
验证安装
java -version
如果出现如下信息,则安装成功
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
配置Hadoop
一般安装在/opt下
解压文件
修改配置文件
hadoop-env.sh
在其末尾追加环境变量
export HADOOP_HOME=/opt/hadoop-2.9.0
export PATH=$PATH:$HADOOP_HOME/bin
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.9.0/tem</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hdfs/data</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
slaves
Master
Slave1
Slave2
复制到从节点
scp -r /opt/hadoop*** root@slave1:/opt
scp -r /opt/hadoop*** root@slave2:/opt
格式化HDFS
hadoop namenode -format
启动hadoop并验证安装
执行脚本
sh ./opt/hadoop/sbin/start-all.sh
验证,输入jps,出现下面信息,安装成功
10448 DataNode
10773 ResourceManager
10311 NameNode
10619 SecondaryNameNode
11071 NodeManager
11679 Jps
大功告成