一.准备3台机器和环境
配置/etc/hosts
10.1.1.161 ubuntu1 (master)
10.1.1.17 ubuntu2 (slave)
10.1.1.94 ubuntu3 (slave)
ubuntu1部署 NameNode
ubuntu2部署 SecondaryNameNode,DataNode
ubuntu3部署 DataNode
3台机器已安装jdk1.8,hadoop-2.7.7
配置环境变量:
JAVA_HOME=/app/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
HADOOP_HOME=/app/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
二.配置免密码登录
3台机器安装
apt install rsync
1.在master机器执行
ssh-keygen -t rsa -P ''
2.把公钥 id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.修改文件"authorized_keys"权限
chmod 600 ~/.ssh/authorized_keys
4.用root用户登录服务器修改SSH配置文件
vi /etc/ssh/sshd_config
把文件中的下面几条信息的注释去掉:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
重启服务
service sshd restart
5.把公钥复制所有的 slave 机器上
scp ~/.ssh/id_rsa.pub hecj@ubuntu2:~/
scp ~/.ssh/id_rsa.pub hecj@ubuntu3:~/
6.登录2台slave机器
mkdir ~/.ssh #创建 .ssh 的文件夹
chmod 700 ~/.ssh #给 .ssh 文件夹权限
7.将 master 的公钥追加到 slave1 的授权文件 “authorized_keys” 中
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm -rf ~/id_rsa.pub
8.2台slave机器重复上述4步骤
vi /etc/ssh/sshd_config
service sshd restart
9.完毕,在ubuntu1机器登录ubuntu2,ubuntu3,验证是否已无需密码登录
ssh ubuntu2 -l hecj
ssh ubuntu3 -l hecj
三.配置 hadoop 文件中相应的文件
需要配置的文件如下,hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,所有的文件配置均位于hadoop2.7.7/etc/hadoop下
1.core-site.xml修改
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ubuntu1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/tmp</value>
</property>
</configuration>
2.hdfs-site.xml修改
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>ubuntu2:50090</value>
</property>
</configuration>
3.hadoop-env.sh修改JAVA_HOME环境
export JAVA_HOME=/app/jdk1.8.0_171
4.slaves修改:
ubuntu2
ubuntu3
5.etc/hadoop 目录下手动创建一个masters 文件
ubuntu2
6.将配置好的hadoop配置文件复制到slave节点
scp -r etc/hadoop/* hecj@ubuntu2:/app/hadoop-2.7.7/etc/hadoop/
scp -r etc/hadoop/* hecj@ubuntu3:/app/hadoop-2.7.7/etc/hadoop/
7.初始化hadoop
bin/hdfs namenode -format
8.启动hdfs 命令
sbin/start-dfs.sh
停止hdfs命令
sbin/stop-dfs.sh
9.打开浏览器