Jdk:1.8.144 VMware 12.x Centos6.5 Hadoop 2.7.1
下载安装包:jdk-8u144-linux-x64.rpm,移动到/tmp文件夹下进行解压,rpm -ivh jdk-8u144-linux-x64.rpm;解压后查看/usr/目录下是否有java文件夹生成,查看当前java版本:java -version;
配置全局环境变量:
Vi /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAV A_HOME/jre/lib/rt.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
chkconfig iptables off;
vi /etc/hosts 192.168.66.128 hong
192.168.66.129 n2
192.168.66.130 n3
Groupadd hadoop
Useradd -g hadoop hadoop
将hadoop用户添加进hadoop用户组
将设置好的主机克隆成n2,n3;
更改主机名vi /etc/sysconfig/network;
更改ip后,重启虚拟机reboot
1)在每个节点上执行ssh-keygen -t rsa -P “”,使每个节点生成密钥;
2)主机上执行cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 追加公钥到对方认证库文件;
3)从hong到n2,n3节点,都执行以下步骤:
在主机上:
scp id_rsa.pub hadoop@n2:/home/hadoop/.ssh/id_rsa.pub.a
在n2,n3节点上执行:
cat id_rsa.pub.a >> /home/hadoop/.ssh/authorized_keys
rm id_rsa.pub.a
4)从n2,n3到hong,执行以下步骤:
在n2,n3上执行:
scp id_rsa.pub hadoop@hong:/home/hadoop/.ssh/id_rsa.pub.a
在主机上执行:
cat id_rsa.pub.a >> /home/hadoop/.ssh/authorized_keys
rm id_rsa.pub.a
注意:修改authorized_keys的文件权限(所有节点上)
Chmod 600 ~/.ssh/authorized_keys
Chmod 700 ~/.ssh
这样配置完成后,主机与各个子节点能无密码登陆,但是子节点与子节点之间不能,如果想实现子节点与子节点之间也可以,就将主机下的authorized_keys文件复制到各个子节点。
1)在tmp下解压hadoop-2.7.1.tar (1).gz:
Tar -zxvf hadoop-2.7.1.tar (1).gz,
生成hadoop-2.7.1 文件夹,将文件夹移动到/home/hadoop/sw;
2) 在每个节点/usr/local/下创建hadoop文件夹:
Mkdir tmp mkdir dfs/name mkdir dfs/data
并且chown -R hadoop:hadoop /usr/local/hadoop,保证hadoop文件夹权限是hadoop用户;
3)进入/home/hadoop/sw/hadoop-2.7.1/etc/hadoop,更改目录下的配置文件:
Core-site.xml
Hdfs-site.xml
mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
yarn-site.xml
4) 设置/home/hadoop/sw/hadoop-2.7.1/etc/hadoop下的hadoop-env.sh yarn-env.sh的JAVA_HOME,如果不设置会启动不了;
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
5) 配置/home/hadoop/sw/hadoop-2.7.1/etc/hadoop下的slaves,删除默认的localhost,添加n2,n3
6) 将配置好的hadoop复制到各个节点对应的位置中,
scp -r /home/hadoop/sw/hadoop-2.7.1 n2:/home/hadoop/sw/
scp -r /home/hadoop/sw/hadoop-2.7.1 n3:/home/hadoop/sw/
7) 在hong主机中进入hadoop-2.7.1目录:
初始化:bin/hdfs namenode -format
全部启动:sbin/start-all.sh 也可以分开启动sbin/start-dfs.sh、sbin/start-yarn.sh
停止的话:sbin/stop-all.sh
输入Jps可以看见进程;
8)Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,systemctl stop firewalld.service
(2)浏览器打开http://hong:8088/
(3)浏览器打开http://hong:50070/
其它注意事项:
a)
如果datanode起不来最好是此操作
master(即:namenode节点)若要重新格式化,请先清空各datanode上的data目录(最好连tmp目录也一起清空),
否则格式化完成后,启动dfs时,datanode会启动失败
b) 如果觉得master机器上只运行namenode比较浪费,想把master也当成一个datanode,直接在slaves文件里,添加一行master即可
c) 为了方便操作,可修改/etc/profile,把hadoop所需的lib目录,先加到CLASSPATH环境变量中,
同时把hadoop/bin,hadoop/sbin目录也加入到PATH变量中,可参考下面的内容:
export HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
至此,Hadoop安装完毕。