一、准备情况
1. 修改本地服务器的名称
/etc/hostname
2. 准备四台服务器,将所有服务器集群要映射到 /etc/hosts文件中,主要目的是访问名称就等同于访问IP地址了,比较方便
3. 服务器集群linux互信
①先切入到root用户 下,当用centos7安装linux系统时,一般是在root用户组下创建用户,所以需要切换root用户。
②在root用户下执行 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
linux互信逻辑:假如有两台服务器node1和node2,将node1的id_dsa.pub放到node2里的authorized_keys中,则在node1服务器中执行 ssh node2 命令 可以免密码登陆node2服务器。
注:一般在执行 authorized_keys
③将登录机的ssh中的pub 拷贝到目标机中 [root@node1 .ssh]# scp ./id_dsa.pub root@node3:install/ (需要修改自己的目录)
④在目标机中执行 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys (需要修改自己的目录),将登录机的pub放到目标机中的 .ssh/中的authorized_keys中就可了
二、安装
9000 9200 9300 22 8080 80 50090 50070
1. cd /root/hadoop-2.7.2/etc/hadoop
vim hadoop-env.sh
添加JAVA_HOME的环境变量
2. vim /root/hadoop-2.7.2/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node5:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop-2.7.2</value>
</property>
</configuration>
node5是对应的主节点的主机名称,只有在添加映射/etc/hosts之后才会起作用
/root/hadoop-2.7.2 路径要添加自己的路径
3. vim /root/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<property> <name>dfs.namenode.secondary.http-address</name> <value>node6:50090</value></property><property> <name>dfs.namenode.secondary.https-address</name> <value>node6:50091</value></property>
https和http是second的节点
node6是映射ip地址
4. vim slaves
5. vim masters (没有改文件,需要自己创建)
6. 将其他的主机的配置文件也相应的修改,直接复制
scp -r /opt/hadoop-2.7.2 root@node2:/opt/ 根据自己的目录填写
7. 格式化(只能在主节点执行一次,如果多次就会在显示live nodes 为0
hdfs namenode -format 只能在master的主机上敲
目录及初始化文件
8. 上传和下载用的是9000
node1:50070监控用的
9. 打开服务器端口,这是centos7,打开端口的方式,centos7一下,需要自行百度
方法一:
查询端口号:firewall-cmd --query-port=8020/tcp 打开端口号:
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=50070/tcp --permanent
firewall-cmd --zone=public --add-port=50090/tcp --permanent
firewall-cmd --zone=public --add-port=50091/tcp --permanent
firewall-cmd --zone=public --add-port=50071/tcp --permanent
firewall-cmd --list-ports
firewall-cmd --reload
方法二:
启动默认不打开防火墙
systemctl start firewalld.service
systemctl disable firewalld.service
systemctl stop firewalld.service
10. hadoop环境变量
export PATHJAVA_HOME=/opt/jdk1.8.0_111 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar export JAVA_HOME JRE_HOME PATH CLASSPATHexport HADOOP_HOME=/opt/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
11. 启动/关闭
start-dfs.sh
stop-dfs.sh
12. 效果