Hadoop集群配置部署
Hadoop集群配置部署
你我皆温柔Hadoop集群配置部署
Hadoop框架配置
上传hadoop压缩包到node1
解压到 /export/servers
创建软连接
1
2
3cp -r hadoop-3.3.6 /export/server
cd /export/server
ln -s /export/seervers/hadoop-3.3.x进入hadoop安装包内
1
cd /hadoop
Hadoop文件结构
1
2
3
4
5
6
7
8bin:存放Hadoop的各类程序(命令)
etc:存放Hadoop的配置文件
include:C语言的一些头文件
lib:存放Linux的动态链接库(.so文件)
libexec:存放Hadoop系统的脚本文件(.sh和.cmd)
licenses-binary:存放许可证文件
sbin:管理员程序(super bin)
share:存放二进制编码(Java jar包)配置HDFS集群需要修改的文件(hadoop/etc/hadoop文件中)
workers:配置从节点(DataNode)
1
2
3hadoop
node1
node2hadoop-env.sh:配置Hadoop的相关环境变量
1
2
3
4export JAVA_HOME=/export/server/jdk # java环境的位置
export HADOOP_HOME=/export/server/hadoop # Hadoop的安装位置
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop # Hadoop配置文件目录位置
export HADOOP_LOG_DIR=$HADOOP_HOME/logs # 运行日志的位置core-site.xml:Hadoop核心配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<configuration>
<!--
key:fs.defaultFS
含义:HDFS文件系统的网络通讯路径
值:hdfs://node1:8020
协议为:hdfs://
namenode为node1
namenode通讯端口为8020
-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!--
key:io.file.buffer.size
含义:io操作文件的缓冲区大小
值:131072 bit
-->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration >
node1必须启动NameNode进程hdfs-site.xml:HDFS核心配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32<configuration>
<!-- 默认创建的文件权限设置 -->
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
<!-- NameNode元数据存储位置 node1结点下的/data/nn 目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/nn</value>
</property>
<!-- 允许哪些结点的DataNode连接 -->
<property>
<name>dfs.namenode.hosts</name>
<value>node1,node2,node3</value>
</property>
<!-- 默认块大小 -->
<property>
<name>dfs.blocksize</name>
<value>168435456</value>
</property>
<!-- 并发线程数 -->
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<!-- 从节点DataNode的数据存储目录 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dn</value>
</property>
</configuration >
配置namenode和datanode的目录
1
2
3
4
5
6cd /export/server/
node1
mkdir -p /data/nn
mkdir -p /data/dn
node2 node3
mkdir -p /dtat/dn分发Hadoop文件夹
1
2
3
4
5
6
7
8
9
10cd /export/server
scp -r hadoop-3.3.6 node2:`pwd`/
scp -r hadoop-3.3.6 node3:`pwd`/
配置软链接
在node2上执行
ln -s /export/server/hadoop-3.3.6 /export/server/hadoop
在node3上执行
ln -s /export/server/hadoop-3.3.6 /export/server/hadoop配置环境变量
1
2
3
4
5sudo vim /etc/profile
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
node2\node3 同样配置为Hadoop用户授权
1
2
3node1,node2,node3
chown -R node1:node1 /data
chown -R node1:node1 /export格式化HDFS
1
2
3
4
5
6
7
8
9
10
11
12
13
14确保Hadoop用户执行
su hadoop
格式化namenode
hadoop namenode -format
启动Hadoop
一键启动Hadoop集群
start-all.sh
一键关闭Hadoop集群
stop-all.sh
如果提示未找到命令,请确保环境变量配置好了,或用绝对路径执行
sh /export/server/hadoop/sbin/start-all.sh
sh /export/server/hadoop/sbin/stop-all.shSSH无密钥登录
1
2
3
4
5
6
7cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost命令
ssh-keygen -t rsa # 生成密钥文件,会有提示输入加密信息,都按回车键即可
02 分别在三个节点中执行以下命令,将公钥信息复制并追加到对方节点的授权文件authorized_keys中:
ssh-copy-id hadoop
ssh-copy-id node1
ssh-copy-id node2