一.有两个虚拟机,一个Centos,一个Ubuntu
1.在linux上安装jdk,下载.tar.gz的jdk1.8,然后解压,并配置环境变量。
2.配置节点服务器免密登录:如下:
1、测试是否能免密登录
# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
2、设置免密登录
1)、去掉 /etc/ssh/sshd_config中的两行注释,如没有则添加,所有服务器都要设置的:
#RSAAuthentication yes
#PubkeyAuthentication yes
2)、生成秘钥:
# ssh-keygen -t rsa
备注:输入命令后回车4次
3)、复制到公共密钥中:
# cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
4)、将秘钥复制到目标服务器:
# ssh-copy-id 目标服务器IP
5)、测试:(没有报错,并没有提示输入目标服务器用户密码,用户切换到目标服务器用户名则成功)
# ssh 目标服务器IP
3.安装hadoop
1). 下载解压后,设置环境变量:
2).设置环境变量:
#vi /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop/hadoop-3.0.0
export PATH=$PATH:$HADOOP_HOME/bin
4.修改服务器的主机名,centos7用hostnamectl set-hostname 主机名,并在master中的hosts文件配上子节点的主机名,如下图:
5.修改hadoop配置文件中的workers,删除localhost,改成子节点主机名
6.配置core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop3/hdfs/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
7.配置hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>小于等于子节点数量</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/data</value>
</property>
8.配置yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
9.配置mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
10.设置hadoop-env.sh的jdk目录JAVA_HOME
11.配置好后格式化namenode 执行hdfs name-node -format
12.如果以root用户启动,在start-dfs.sh和stop-dfs.sh加上:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
13.在start-yarn.sh和stop-yarn.sh加上:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
14.提示:子节点的yarn中的配置,一定要确保可以访问主节点
15.后续学习路线可以参照以下:https://blog.csdn.net/CSDN_fzs/article/details/78984845