赞
踩
安装环境
①、四台Linux CentOS6.7 系统 hostname ipaddress 1、master 192.168.1.79 2、slave1 192.168.1.81 3、slave2 192.168.1.82 4、slave3 192.168.1.87 其中 master 机器是 NameNode; slave1 机器是 SecondaryNameNode slave1,slave2,slave3 是三台 DataNode
vim /etc/profile
在末尾增加以下配置:
JAVA_HOME=/home/jdk1.8.0_181
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
使环境变量生效:
source /etc/profile
在 master生成 秘钥对, 机器上输入一下命令:
这条命令是生成无密码秘钥对,rsa 是加密算法,-P ‘’ 表示密码为空。询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储路径:/root/.ssh/id_rsa
ssh-keygen -t rsa -P ''
然后出现对话框:
Enter file in which to save the key (/root/.ssh/id_rsa):
查看"/root/.ssh"下是否有两个刚生产的无密码密钥对
cd /root/.ssh
ls
出现下面情况说明秘钥对生成成功:
-rw-------. 1 root root 816 Oct 8 09:47 authorized_keys
-rw-------. 1 root root 1675 Oct 8 07:41 id_rsa
-rw-r--r--. 1 root root 408 Oct 8 07:41 id_rsa.pub
把公钥 id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改文件"authorized_keys"权限
chmod 600 ~/.ssh/authorized_keys
权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能,即在进行登录时仍然要求你输入密码
用root用户登录服务器修改SSH配置文件:
vim /etc/ssh/sshd_config
把文件中的下面几条信息的注释去掉:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #
公钥文件路径(和上面生成的文件同)
重启服务:
service sshd restart
把公钥复制所有的 slave 机器上
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
如果是第一次使用该命令,则需要在"/root"下创建".ssh"文件夹,并且修改该文件夹权限为 “700”
mkdir ~/.ssh //创建 .ssh 的文件夹
chmod 700 ~/.ssh //给 .ssh 文件夹权限
同样的执行以下命令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
在 slave1 机器上重复以下操作:
vi /etc/ssh/sshd_config
把文件中的下面几条信息的注释去掉:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #
公钥文件路径(和上面生成的文件同)
重启服务
service sshd restart
vi /etc/hosts
增加以下配置
192.168.1.79 node1
192.168.1.81 node2
192.168.1.82 node3
192.168.1.87 node4
解压 hadoop-2.7.3.tar.gz到/home/hadoop
tar -zxvf hadoop-2.7.0.tar.gz
vim /etc/profile
export HADOOP_HOME=/home/hadoop-2.7.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
需要配置的文件如下,hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,所有的文件配置均位于hadoop2.7.0/etc/hadoop下面
vim /home/hadoop2.7.0/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
注意:hadoop.tmp.dir是hadoop 文件系统依赖的配置文件。 默认是在 /tmp 目录下的,而这个目录下的文件,在Linux系统中,重启之后,很多都会被清空。所以我们要手动指定这写文件的保存目录。
这个目录路径要么不存在,hadoop启动的时候会自动帮我们创建;要么是一个空目录,不然在启动的时候会报错。
vim /home/hadoop2.7.0/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value>
</property>
</configuration>
注意:dfs.replication是配置文件保存的副本数;dfs.namenode.secondary.http-address 是指定 secondary 的节点。
设置 JAVA_HOME 为自己在系统中安装的 JDK 目录
vim /home/hadoop2.7.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/home/jdk1.8.0_181
vim /home/hadoop2.7.0/etc/hadoop/slaves
node3
node4
删除默认的localhost,增加以上两个节点
在 /home/hadoop2.7.0/etc/hadoop 目录下手动创建一个 masters 文件
vi masters
打开文件后,输入 SecondaryNameNode 节点的主机名或者 IP 地址
node2
scp -r /home/hadoop2.7.0 node2:/home/
scp -r /home/hadoop2.7.0 node3:/home/
scp -r /home/hadoop2.7.0 node4:/home/
在master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/目录,
初始化,输入命令:
bin/hdfs namenode -format
启动hdfs 命令:
sbin/start-dfs.sh
停止命令:
sbin/stop-dfs.sh
输入命令:
jps
可以看到相关信息
关闭防火墙
service iptables stop
访问 NameNode 节点信息:http://192.168.1.79:50070
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。