#hadoop伪分布式环境搭建
##1.设置服务器的主机名称
三台主机分别设置
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
用bash刷新
##2.绑定主机名与 IP 地址
三台主机分别设置
vi /etc/hosts
加上
192.168.130.128 master
192.168.130.129 slave1
192.168.130.130 slave2
##3. 关闭防火墙
三台主机分别设置
systemctl stop firewalld
systemctl disable firewalld
##4. 创建 hadoop 用户
在master主机上
useradd hadoop
echo “1” |passwd --stdin hadoop
##5. 安装 JAVA 环境
卸载自带 OpenJDK
rpm -qa | grep java
卸载以下出现的所有软件
用以下命令来查看是否卸载完成
java –version
安装 JDK
tar -zxvf /opt/software/jdk-8u152-linux-x64.tar.gz –C /usr/local/src/
查看安装成功
ls /usr/local/src/
设置 JAVA 环境变量
vi /etc/profile
在文件的最后增加如下两行:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
执行 source 使设置生效:
source /etc/profile
检查 JAVA 是否可用
echo KaTeX parse error: Expected 'EOF', got '#' at position 25: … java –version #̲#6. 安装 Hadoop 软…PATH:
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin
source /etc/profile
检查设置是否生效:
Hadoop
修改目录所有者和所有者组
chown -R hadoop:hadoop /usr/local/src/
配置 Hadoop 配置文件
cd /usr/local/src/hadoop-2.7.1/
vi etc/hadoop/hadoop-env.sh
在文件中查找 export JAVA_HOME 这行,将其改为如下所示内容:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
测试 Hadoop 本地模式的运行
su – hadoop
创建输入数据存放目录
mkdir ~/input
创建数据输入文件
vi input/data.txt
输入如下内容,保存退出
Hello World
Hello Hadoop
Hello Husan
测试 MapReduce 运行
hadoop jar /usr/local/src/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-e xamples-2.7.1.jar wordcount ~/input/data.txt ~/output
文件_SUCCESS 表示处理成功,处理的结果存放在 part-r-00000 文件中,查看该文件。
cat output/part-r-00000
##7.生成 SSH 密钥
三台机都切换到 hadoop 用户
su – hadoop
三台都生成密钥
ssh-keygen -t rsa
将 id_rsa.pub 追加到授权 key 文件中
三台都执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ls ~/.ssh/
修改文件"authorized_keys"权限
三台都执行
chmod 600 ~/.ssh/authorized_keys
ll ~/.ssh/
配置 SSH 服务
三台都执行
su – root
vi /etc/ssh/sshd_config
PubkeyAuthentication yes #找到此行,并把#号注释删除
重启 SSH 服务
systemctl restart sshd
切换到 hadoop 用户
su – hadoop
验证 SSH 登录本机
ssh localhost
将 Master 节点的公钥 id_rsa.pub 复制到每个 Slave 点
hadoop 用户登录,通过 scp 命令实现密钥拷贝。
scp ~/.ssh/id_rsa.pub hadoop@slave1:~/
全回车,首次远程连接时系统会询问用户是否要继续连接。需要输入“yes
在每个 Slave 节点把 Master 节点复制的公钥复制到authorized_keys 文件
hadoop 用户登录 slave1 和 slave2 节点,执行命令
slave1和slave2执行
cat ~/id_rsa.pub >>~/.ssh/authorized_keys
在每个 Slave 节点删除 id_rsa.pub 文件
slave1和slave2执行
rm -rf ~/id_rsa.pub
将 Slave1 节点的公钥复制到 Master
Slave1执行
scp ~/.ssh/id_rsa.pub hadoop@master:~/
在 Master 节点把从 Slave 节点复制的公钥复制到 authorized_keys 文件
Master 执行
cat ~/id_rsa.pub >>~/.ssh/authorized_keys
rm -rf ~/id_rsa.pub
将 Slave2 节点的公钥复制到 Master
Slave2执行
scp ~/.ssh/id_rsa.pub hadoop@master:~/
在 Master 节点把从 Slave 节点复制的公钥复制到 authorized_keys 文件
Master 执行
cat ~/id_rsa.pub >>~/.ssh/authorized_keys
rm -rf ~/id_rsa.pub
验证 Master 到每个 Slave 节点无密码登录
Master 执行
ssh slave1
ssh slave2
ssh master
配置两个子节点slave1、slave2的JDK环境。
Master 执行
cd /usr/local/src/
scp -r jdk1.8.0_152 root@slave1:/usr/local/src/
scp -r jdk1.8.0_152 root@slave2:/usr/local/src/
Slave1执行
vi /etc/profile
#此文件最后添加下面两行
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
Slave2执行
vi /etc/profile
#此文件最后添加下面两行
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
##8. 在 Master 节点上安装 Hadoop
Master 执行
cd /usr/local/src/
mv hadoop-2.7.1 hadoop
配置 Hadoop 环境变量
yum install -y vim
vim /etc/profile
tail -n 4 /etc/profile
最后四行改为
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH
su – hadoop
source /etc/profile
exit
cd /usr/local/src/hadoop/etc/hadoop/
vim hadoop-env.sh
搜索并更改
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
配置 hdfs-site.xml 文件参数
vim hdfs-site.xml
dfs.namenode.name.dir
file:/usr/local/src/hadoop/dfs/name
dfs.datanode.data.dir
file:/usr/local/src/hadoop/dfs/data
dfs.replication
3
配置 core-site.xml 文件参数
vim core-site.xml
fs.defaultFS
hdfs://192.168.130.128:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/usr/local/src/hadoop/tmp
配置 mapred-site.xml
Pwd
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
配置 yarn-site.xml
vim yarn-site.xml
hadoop分布式环境搭建
最新推荐文章于 2024-09-11 11:22:09 发布