用户配置:
User :root
Password:toor
2.创建新用户 student
Pwd: student
3.安装virtualbox的增强工具软件
4.系统默认安装的是openjdk 1.7.0.5
没有jps等工具可以使用。
但hadoop应该是可以在openjdk中使用的。
卸载openjdk,下载安装oracle jdk.
for i in $(rpm -qa | grep openjdk | grep -v grep)
do
echo "Deleting rpm -> "$i
rpm -e --nodeps $i
done
http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
wget命令在下载的时候不起作用,oracle网站需要认证。所以wget命令失效了。
手动下载oracle jdk.
tar -zxvf jdk-7u79-linux-x64.tar.gz
mkdir /usr/java
mv ./jdk1.7.0_79 /usr/java/
设置java环境变量
JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$CLASSPATH:$PATH
export JAVA_HOME CLASSPATH PATH
vi 如何快速跳转到文档末尾? shift+g
跳转至行尾:$
跳转至行首:0
跳转至文件首:gg
su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径
su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径
原因是我切换用户的时候命令使用不正确。
添加Hadoop用户和group
groupadd hadoop
useradd hadoop -g hadoop
配置ssh免密码登录
ssh-keygen -t rsa -P ''
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_01.pub
2. 更新主机名
cat /etc/sysconfig/network
sudo vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=namenode01
3.克隆另外三个硬盘:
vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_rm2.vdi
vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_dn1.vdi
vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_dn2.vdi
创建另外的三个虚拟机
4.修改hadoop的密码
Root用户下
Passwd Hadoop
5.启动虚拟机
配置虚拟机的网络地址并更新hosts
配置为手动配置的IP地址,以防重启后变更。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.99.100 namenode01
192.168.99.101 namenode02
192.168.99.102 datanode01
192.168.99.103 datanode02
更新ssh公钥私钥,复制公钥到namenode01
在namenode01上集成最全的公钥集合,
然后分发到所有结点。测试免密码访问ssh的效果,保证其能正常访问。
6.关闭防火墙配置
7.
在namenode01,datanode01,datanode02上安装zookeeper
wget http://apache.dataguru.cn/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
配置zoo.cfg
datadir
和
server信息
配置环境变量
vi .bashrc
export HADOOP_HOME=/usr/hadoop26
export ZK_HOME=/home/hadoop/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME
使环境变量生效:
Source ~/.bashrc
启动测试
ZkServer.sh start
Jps
Netstat –an | grep 2181
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉 IT网,http://www.it.net.cn
SELINUX=disabled #增加 Linux学习,http:// linux.it.net.cn
:wq! #保存退出
setenforce 0 #使配置立即生效
通过检查zkServer.sh status的时候可能会发生问题,原因是我们的防火墙规则没有配好,
为了简便起见,直接关闭防火墙。如上所述。
格式化namenode失败:
Hadoop namenode –format
Call From namenode01/192.168.99.100 to namenode01:8485 failed on connection exception: java.net.ConnectException: Connection refused;
先启动journal node之后再格式化即可。
由于我们配置了QJM,所以我们需要先启动QJM的服务,启动顺序如下所示: