以5台服务器为例(node1-node5)
node1为namenode,node2为SecondaryNameNode,其余为datanode
步骤
修改每台服务器hostname:vi /etc/hostname 分别改为 node1、node2、node3、node4、node5
修改每台服务器的hosts映射:vi /etc/hosts 增加
192.168.1.200 node1
192.168.1.201 node2
192.168.1.202 node3
192.168.1.203 node4
192.168.1.204 node5
修改之后重启
1.时间同步:ntpdate -u edu.ntp.org.cn
关闭网络hosts防火墙
2.安装jdk
3.上传hadoop安装文件并解压
4.免密钥登录:node1到node1-5
5.修改配置文件
hadoop_env.sh中的JAVA_HOME
core-site.xml
hdfs-site.xml
slaves 指定datanode
手动创建masters 指定SecondaryNameNode
6.同步配置文件
7.格式化namenode:hdfs namenode -format
8.启动 start-dfs.sh
配置 /etc/profile :增加
export HADOOP_HOME=/home/gaojz/hadoop/hadoop-2.7.5(hadoop文件目录)
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
免密钥登录:
进入node1执行命令:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
这两行指令实现node1对node1的免密钥登录,如果仍需密码可以尝试修改/home下用户文件的权限。命令是:
chmod g-w /home/xxx (xxx为用户名)
chmod 700 /home/xxx/.ssh (xxx为用户名)
chmod 600 /home/xxx/.ssh/authorized_keys (xxx为用户名)
node1对node1成功之后,将~/.ssh/路径的下公钥文件id_rsa利用scp命令拷贝到另外几台服务器中(不要放在~/.ssh目录下,会覆盖掉本身的公钥文件),然后在其他服务器用cat xxx/id_rsa.pub >> ~/.ssh/authorized_keys命令将公钥写入authorized_keys中(xxx为id_rsa.pub存放路径)。
配置文件修改(在hadoop目录下的etc目录或者etc/hadoop目录中)
修改hadoop_env.sh中的JAVA_HOME为jdk安装目录
core-site.xml配置
<configuration>
<property>
<name>fs.defaultFS</name> (hdfs访问入口,node1为namenode,设为node1的9000端口)
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>(数据存放目录,建议修改,默认为临时目录)
<value>/home/gaojz/opt/hadoop</value>(必须是一个空的或者不存在的文件夹)
</property>
</configuration>
hdfs-site.xml配置
<configuration>
<property>
<name>dfs.replication</name>(配置副本数量,默认为3)
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>(SecondaryNameNode的http访问路径)
<value>node2:50090</value>(node2为secongarynamenode,所以为node2的50090端口)
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>node2:50091</value>(secondarynamenode的https访问路径)
</property>
</configuration>
slaves文件配置
slaves用来配置所有datanode,打开slaves添加如下配置:
node3
node4
node5
创建masters文件,以指定secondarynamenode,添加:
node2
在node1上
格式化namenode:hdfs namenode -format( 首次启动格式化)
启动 start-dfs.sh
之后可以访问192.168.1.200:50070以访问namenode或者192.168.1.201:50090访问secondarynamenode
网友评论