一、安装JDK
1.上传jdk-8u121-linux-x64.tar.gz文件到/opt目录
2.解压jdk文件
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local
3.配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4.环境变量生效
source /etc/profile
5.检查jdk是否安装成功
java -version
二、搭建hadoop集群
1. 上传hadoop-2.7.4.tar.gz文件到/opt目录
2. 解压缩hadoop-2.7.4.tar.gz 文件
tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local
解压后即可,看到/usr/local/hadoop-2.7.4文件夹
3. 配置Hadoop
进入目录:
cd /usr/local/hadoop-2.7.4/etc/hadoop/
依次修改下面的文件:
4.1 core-site.xml(在底部Configuration标签内添加以下Configuration标签内的内容,其他文件也是)
4.2 hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_121
4.3 yarn-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_121
4.4 mapred-site.xml
复制cp mapred-site.xml.template mapred-site.xml
4.5 yarn-site.xml
4.6 slaves
删除localhost,添加:
slave1
slave2
slave3
4.7 hdfs-site.xml
4.8 设置IP映射
编辑各节点/etc/hosts
添加:
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com
4.9 克隆虚拟机,如果在配置前已提前克隆,则需拷贝hadoop安装文件到集群slave节点
scp -r /usr/local/hadoop-2.7.4 slave1:/usr/local
scp -r /usr/local/hadoop-2.7.4 slave2:/usr/local
scp -r /usr/local/hadoop-2.7.4 slave3:/usr/local
5.配置SSH无密码登录
(1)使用ssh-keygen产生公钥与私钥对。
输入命令“ssh-keygen -t rsa”,接着按三次Enter键
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a6:13:5a:7b:54:eb:77:58:bd:56:ef:d0:64:90:66:d4 root@master.centos.com
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
| . .E|
| . = |
| . . o o |
| o S . . =|
| o * . o ++|
| . + . . o ooo|
| o . ..o |
| .|
+-----------------+
生成私有密钥id_rsa和公有密钥id_rsa.pub两个文件。
(2)用ssh-copy-id将公钥复制到远程机器中
ssh-copy-id -i /root/.ssh/id_rsa.pub master//依次输入yes,123456(root用户的密码)
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3
(3)验证是否设置无密码登录
依次输入
ssh slave1
ssh slave2
ssh slave3
6.配置时间同步服务
(1)安装NTP服务。在各节点:
yum -y install ntp
(2)设置master节点为NTP服务主节点,
使用命令“vim /etc/ntp.conf”打开/etc/ntp.conf文件,注释掉以server开头的行,并添加:
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)在所有slave节点中配置NTP,同样修改/etc/ntp.conf文件,注释掉server开头的行,并添加:
server master
(4)执行命令“service iptables stop & chkconfig iptables off”永久性关闭防火墙,主节点和从节点都要关闭。
(5)启动之前更正时间。
使用date命令查看时间后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时。
这个时候的bios的时间和系统的时间是不一致的,一个代表 utc 时间,一个代表cst(+8时区),即上海时间。
修改centos的时间,解决时间比本地实际时间快了8小时:
vi /etc/sysconfig/clock #编辑文件
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #linux的时区设置为上海
--------------------------------------------------------------------------
ntpdate 1.cn.pool.ntp.org #对准时间------------------校准时间代码
--------------------------------------------------------------------------
/sbin/hwclock --systohc #设置硬件时间和系统时间一致并校准
使用date命令查看时间
(6)启动NTP服务。
① 在master节点执行命令“service ntpd start & chkconfig ntpd on”
② 在slave1、slave2、slave3上执行命令“ntpdate master”即可同步时间
③ 在slave1、slave2、slave3上分别执行“service ntpd start & chkconfig ntpd on”即可启动并永久启动NTP服务。
7.在/etc/profile添加JAVA_HOME和Hadoop路径
export HADOOP_HOME=/usr/local/hadoop-2.7.4
export JAVA_HOME=/usr/local/jdk1.8.0_121
export PATH=$HADOOP_HOME/bin:$PATH:$JAVA_HOME/bin
source /etc/profile使修改生效
8. 格式化NameNode
进入目录
cd /usr/local/hadoop-2.7.4/bin
执行格式化
./hdfs namenode -format
9.启动集群
进入目录
cd /usr/local/hadoop-2.7.4/sbin
执行启动:
./start-all.sh
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver
使用jps,查看进程
[root@master sbin]# jps
1765 NameNode
1929 SecondaryNameNode
2378 JobHistoryServer
2412 Jps
2077 ResourceManager
[root@slave1 ~]# jps
1844 Jps
1612 DataNode
1711 NodeManager
10. 关闭防火墙(在所有节点执行):
service iptables stop
chkconfig iptables off
11.在Windows下C:WindowsSystem32driversetchosts添加IP映射
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com
12. 浏览器查看:
http://master:50070
http://master:8088
-------------------------HDFS文件命令-----------------------------------
-------新建文件目录-------
hdfs dfs -mkdir /text.txt
-------上传文件-------
text.txt /user
hdfs dfs copyfromlocal text.txt /user
hdfs dfs -put text.txt /user
-------下载文件-----------
hdfs dfs -get /text.txt
hdfs dfs copytolocal /user/text.txt
-------查看文件----------
hdfs dfs -cat /text.txt | head -10
hdfs dfs -cat /user/text.txt
------删除文件-----
hdfs dfs -rm /text.txt
-----------------------结束---------------------------------------
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)