# 查看当前主机名
hostname
# 此处结果为 node01
# 修改 hosts 文件,将当前主机名配到 127.0.0.1 后面
vi /etc/hosts
# ping 当前主机名进行检测
ping node01
输入命令:ssh-keygen -t rsa,生成key,一直按回车,就会在/root/.ssh生成:authorized_keys id_rsa.pub id_rsa 三个文件。
ssh-keygen -t rsa
在.ssh目录下输入命令,将id_rsa.pub公钥内容拷贝到authorized_keys文件中。
cat id_rsa.pub >> authorized_keys
为了各个机器之间的免登陆,在每一台机器上都要进行此操作。将node01~node05的公钥拷贝到authorized_keys中。
# 创建准备安装的目录
mkdir /app/Hadoop
# 解压到安装目录
tar -zxvf hadoop-3.3.2.tar.gz -C /app/hadoop/
# 进入安装目录,查看是否成功
cd /app/hadoop/hadoop-3.3.2
# 配置环境变量
vim /etc/profile
# 增加以下
export HADOOP_HOME=/app/hadoop/hadoop-3.3.2
export HADOOP_CONF_DIR=/app/hadoop/hadoop-3.3.2/etc/hadoop
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# 使环境变量生效
source /etc/profile
进入hadoop配置目录/app/hadoop/hadoop-3.3.2/etc/hadoop,配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下
vim hadoop-env.sh
# 增加
export JAVA_HOME=/opt/java/jdk1.8.0_211
# 将当前用户 root 赋给下面这些变量
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
vim yarn-env.sh
# 增加
export JAVA_HOME=/opt/java/jdk1.8.0_211
fs.defaultFS
hdfs://127.0.0.1:9000
hadoop.tmp.dir
/usr/local/hadoop/hadoop-3.3.4/tmp
hadoop.native.lib
false
dfs.replication
1
mapreduce.framework.name
yarn
yarn.resourcemanager.hostname
127.0.0.1
yarn.resourcemanager.webapp.address
0.0.0.0:8088
yarn.nodemanager.aux-services
mapreduce_shuffle
格式化 HDFS(首次启动前执行)
hdfs namenode –format
输入命令进行启动(前面已经通过$HADOOP_HOME/sbin配置到环境变量中了,可以直接执行。)
/app/hadoop/hadoop-3.3.2/sbin/start-all.sh
输入jps命令, 出现这些进程就表示Hadoop启动成功。
794756 SecondaryNameNode
794067 NameNode
795507 ResourceManager
794312 DataNode
795770 NodeManager
linux环境下,至少需要3台机子,一台作为master:node01,2台(以上)作为slave:node02~node05。
fs.defaultFS
hdfs://node01:9000
io.file.buffer.size
131072
hadoop.tmp.dir
/app/hadoop/hadoop-2.7.1/temp
dfs.namenode.name.dir
/app/hadoop/hadoop-3.3.2/hdfs/name
dfs.datanode.data.dir
/app/hadoop/hadoop-3.3.2/hdfs/data
dfs.replication
2
dfs.blocksize
268435456
dfs.namenode.handler.count
100
dfs.namenode.secondary.http-address
node01:50090
dfs.namenode.secondary.https-address
node01:50091
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
node01:10020
mapreduce.jobhistory.webapp.address
node01:19888
yarn.resourcemanager.hostname
node01
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.address
node01:8032
yarn.resourcemanager.scheduler.address
node01:8030
yarn.resourcemanager.resource-tracker.address
node01:8031
yarn.resourcemanager.admin.address
node01:8033
yarn.resourcemanager.webapp.address
node01:8088
在node01上,vim slaves
node02
node03
node04
node05
在node01上,cd /app,执行以下命令:
scp -r hadoop/ root@node02:/app/
scp -r hadoop/ root@node03:/app/
scp -r hadoop/ root@node04:/app/
scp -r hadoop/ root@node05:/app/
在Master服务器启动hadoop,从节点会自动启动,进入Hadoop目录下,
格式化 HDFS (首次启动前执行),输入命令
hdfs namenode –format
启动 Hadoop
sbin/start-all.sh
也可以分开启动,sbin/start-dfs.sh、sbin/start-yarn.sh
在master 输入jps命令, 看到ResourceManager、NameNode、SecondaryNameNode进程;
在slave 上输入jps命令, 看到DataNode、NodeManager进程。
出现这些进程就表示Hadoop启动成功。