准备工作:
1.root用户下添加用户,设置密码
2.修改主机名,vi /etc/sysconfig/network,重启
3.修改虚拟机的网络设备选项,仅主机模式
4.切换到root用户,添加权限,vi /etc/sudoers, root ALL=(ALL) ALL
5.切换会普通用户,修改ifcfg-eth0,sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart重启服务 查看ifconfig
DEVICE=eth0
HWADDR=08:00:27:A3:67:AE
TYPE=Ethernet
UUID=dbf06565-ac4c-4441-9813-a2cb06e01e66
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.56.125
GATEWAY=192.168.56.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
6.修改/etc/hosts文件,sudo vi /etc/hosts
7.关闭防火墙,service iptables stop,sudo chkconfig iptables off,
8.检查SSH是否已经安装成功 ,rpm -qa | grep openssh,rpm -qa | grep rsync
9.启动SSH服务,sudo service sshd restart
10.生成公钥,cd .ssh/,ssh-keygen -t rsa 如果发现ssh目录找不到,原因是因为没有用root用户ssh登录过,执行一下ssh操作就会自动生成了 ssh localhost
11.公钥拷贝到本机的authorized_keys列表,ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@master (即主机名)
12.进行SSH免密验证,对于单节点伪分布模式,在主节点(master)进行验证,ssh master (即主机名)
正式开始:
1.ssh连接xshell
2.ssh连接Xftp,用户名,密码
3.上传jdk,如果是root用户,传到/opt下;如果是普通用户,传到/home/lpy(普通用户名)
4.解压jdk tar -zxvf jdk... -C ~/app/ ,或者 ~/opt/ ,
5.查询已有的JDK rpm -qa |grep -i jdk
6.删除jdk rpm -e --nodeps 包名
7.配置环境变量 sudo vi /etc/profile
加入 export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
生效 source /etc/profile
8.校验 java -version
9.解压hadoop sudo tar -zxvf hadoop... -C ~/app/
10.cd到hadoop-2.6.0-cdh5.7.0包中,再cd到etc/hadoop(etc前面没有/,相对路径),因为hadoop的配置文件都在etc/hadoop目录下
11.修改3个配置文件
sudo vi hadoop-env.sh #export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
export HADOOP_HOME=/home/lpy/app/hadoop-2.6.0-cdh5.7.0
core-site.xml (改主机名) <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hdfs/tmp</value>
</property>
</configuration>
hdfs-site.xml <property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hdfs/tmp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hdfs/tmp/dfs/data</value>
</property>
slaves ->hostname改为master
12.修改环境变量,追加HADOOP_HOME到/etc/profile中
sudo vi /etc/profile
export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/home/lpy/app/hadoop-2.6.0-cdh5.7.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
13.格式化HDFS
如果出现java.io.IOException: Cannot create directory /opt/hdfs/tmp/dfs/name/current
表示目录操作权限不够,需要现在/opt/hdfs/tmp/dfs/name和/opt/hdfs/tmp/dfs/data目录下窗口current目录并设置权限:
[lpy@master bin]$ cd /opt/
[lpy@master opt]$ sudo chmod -R a+w /opt/hdfs
[lpy@master ~]$ cd app/hadoop-2.6.0-cdh5.7.0/bin
[lpy@master bin]$ hadoop namenode -format
进入bin目录执行命令 hadoop namenode -format
13.启动Hadoop并验证安装 进入sbin目录执行命令 sudo ./start-dfs.sh
[root@master ~]# cd app/hadoop-2.6.0-cdh5.7.0/
[root@master hadoop-2.6.0-cdh5.7.0]# cd sbin/
[root@master sbin]# ./start-dfs.sh
14.检验是否启动成功有两种方法:
1.通过查看进程
[lpy@master sbin]$ jps
3176 DataNode
3783 Jps
3089 NameNode
3664 SecondaryNameNode
2.通使用浏览器查看
本机端口号:50070 192.168.56.125:50070
15.如果想要停止Hadoop可以,进入sbin目录执行命令./stop-dfs.sh
解决问题:
Commod not found---》环境变量配置错误或者没有生效
格式化失败--》进入opt下 rm -rf hdfs目录 重新格式化(检查 core-site.xml hdfs-site.xml)
少Node 1.先关闭服务再开启 ./stop-dfs.sh ./start-dfs.sh
2.关闭服务 删除opt下的hdfs 重新格式化