模拟环境:四台虚拟机node1、node2、node3、node4
node1 | node2 | node3 | node4 |
---|---|---|---|
NameNode | SecondaryNameNode | ||
DataNode-1 | DataNode-2 | DataNode-3 |
/etc/hosts
环境准备
四台虚拟机 :
-
/etc/hosts
192.168.184.61 node1 192.168.184.62 node2 192.168.184.63 node3 192.168.184.64 node4
-
安装jdk并配置java环境变量
-
hadoop-2.6.5
1. ssh免密钥设置
-
在四台机器上执行(/root/目录下)
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
-
在node1上将
id_dsa.pub
拷贝到authorized_keys
中,将node1上的authorized_keys
拷贝到node2上cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys node2:/root/.ssh/
-
在node2中,将
id_dsa.pub
追加到authorized_keys
中,将node2的authorized_keys
拷贝到node3上 -
在node3中,将
id_dsa.pub
追加到authorized_keys
中,将node2的authorized_keys
拷贝到node4上 -
在node3中,将
id_dsa.pub
追加到authorized_keys
中 -
将node4中的
authorized_keys
分别拷贝到node1,node2,node3中
2. Hadoop安装及配置
上传文件hadoop-2.6.5.tar.gz
至node1,解压至/opt/ 目录下
tar -zxvf hadoop-2.6.5.tar.gz -C /opt/
进入到hadoop安装目录下,配置
cd /opt/hadoop-2.6.5/etc/hadoop
需要配置4个配置文件
-
hadoop-env.sh
环境配置,配置JAVA_HOME(自己的jdk目录)
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
-
core-site.xml
<configuration> <!-- namenode 节点,访问HDFS的时候路径的默认前缀 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property> <!-- 指定hadoop的临时目录位置 --> <property> <name>hadoop.tmp.dir</name> <value>/var/theonly/hadoop/full</value> </property> </configuration>
-
hdfs-site.xml
<configuration> <!-- 指定block副本数 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 指定secondarynamenode所在的位置 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>node2:50090</value> </property> </configuration>
-
slaves
DataNode所在的节点
node2 node3 node4
3. hadoop环境变量
vim /etc/profile
在结尾添加java和hadoop的环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4. 格式化hadoop并启动
namenode格式化:在node1上执行:hdfs namenode -format
启动:start-dfs.sh
(四台服务器上哪一台执行都可以)
jps
查看java进程
停止:stop-dfs.sh