废话不多说,先准备三台centos7,然后开始安装
第一步。配置主机名
编辑/etc/hostname分别给三台虚拟机命名,我写的是master,slave1,slave2,接着重启虚拟机,使名称生效。
第二步。配置免密登录
首先,关闭防火墙:
systemctl stop firewalld
永久关闭:
systmctl disable firewalld
然后,在三台虚拟机上都配置/etc/hosts文件,在最后加入
192.168.196.128 master
192.168.196.129 slave1
192.168.196.130 slave2
然后分别在三台虚拟机上,使用ssh-keygen -t rsa命令生成ssh密钥 在maste主机r执行命令
cd /root/.ssh
cp id_rsa.pub authorized_keys
然后分别 在slave1 ,slave2上执行命令 cat /root/.ssh/id_rsa.pub 并分别将 id_rsa.pub 内容复制粘贴到master的 authorized_keys上,保存退出
接着使用scp命令,将文件传输到其余两台虚拟机的.ssh目录下。
scp authorized_keys slave1:/root/.ssh
scp authorized_keys slave2:/root/.ssh
接着就可以试试使用ssh登录其他机器了
第三步。配置jdk与hadoop环境变量 分别在三台机器上创建software文件夹,上传jdk1.8,hadoop3.2的压缩包到software文件夹,解压缩jdk与hadoop
编辑环境变量 执行命令 vim /etc/profile 在最后追加环境变量 J
AVA_HOME=/software/jdk1.8
HADOOP_HOME=/software/hadoop3.2
export PATH=$PATH:${JAVA_HOME}/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
第四步。配置hadoop
建立存储文件夹。
mkdir /usr/local/hadoop
mkdir /usr/local/hadoop/data
mkdir /usr/local/hadoop/data/tmp
mkdir /usr/local/hadoop/dfs
mkdir /usr/local/hadoop/dfs/data
mkdir /usr/local/hadoop/dfs/name
mkdir /usr/local/hadoop/tmp
执行命令 cd /software/hadoop3.2/etc/hadoop
然后执行命令 vi hadoop-env.sh 修改这一行 export JAVA_HOME=/software/jdk1.8 #这里修改为jdk的JAVA_HOME路径
vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<property><!--namenode持久存储名字空间及事务日志的本地文件系统路径-->
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
<property><!--DataNode存放块数据的本地文件系统路径-->
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
<property><!--数据需要备份的数量,不能大于集群的机器数量,默认为3-->
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property><!--NodeManager上运行的附属服务,用于运行mapreduce-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi workers 删除localhost改成
slave1
slave2
分别先后执行 如下命令 vi /software/hadoop3.2/sbin/start-yarn.sh 加入如下
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
然后 vi /software/hadoop3.2/sbin/stop-yarn.sh 加入
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vi /software/hadoop3.2/sbin/start-dfs.sh 加入
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
接着 vi /software/hadoop3.2/sbin/stop-dfs.sh 加入一下几行(在开头添加下面几行)
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
然后通过scp命令将hadoop3.2发送到其他slave上
scp -r /software/hadoop3.2 root@slave1:/software/
scp -r /software/hadoop3.2 root@slave2:/software/
第五步,启动 进入bin目录格式化namenode
cd /software/hadoop3.2/bin
执行命令 hadoop namenode -formatt
启动hadoop
cd /software/hadoop3.2/sbin
执行命令
./start-all.sh
192.168.196.128:50070、192.168.196.128:8088查看是否正常运行
执行jps命令,如果master上有 1818 NameNode 2314 ResourceManager 2078 SecondaryNameNode 而slave上有 1818 NameNode 2314 ResourceManager 说明启动成功
参考文章 https://blog.csdn.net/qq_40421109/article/details/103563455
|