haddop3.2.1完全分布式安装

目录

  • 集群规划
    • hdfs结构分析
  • 配置hosts文件
  • 普通用户ssh免密管理
    • 生成公私密钥对
    • 对自己实现无密登录,添加公钥到认证库
    • 修改authorized_keys权限为755
    • 登录测试
    • 使用ssh-copy-id复制当前用户的公钥到远程主机指定用户的认证库中
  • root用户ssh免密管理
    • 生成公私密钥对
    • 对自己实现无密登录,添加公钥到认证库
    • 修改authorized_keys权限为755
    • 登录测试
    • 使用ssh-copy-id复制当前用户的公钥到远程主机指定用户的认证库中
  • 同步/etc/hosts文件
  • s101安装jdk
  • s101安装hadoop
  • 授权普通用户
  • 通过scp同步/opt/文件到其他节点
  • 创建软链接
  • 对s101的hadoop的配置目录创建软链接
  • 配置hadoop文件
    • core-site.xml
    • hdfs-site.xml
    • hadoop-env.sh
    • mapred-site.xml
    • yarn-site.xml
  • 分发目录
  • 配置从节点
  • hadoop逻辑格式化
  • 启动hadoop集群
  • 上传文件

集群规划

hdfs结构分析

1.NameNode 名称节点 master 管理其他节点。需要配置ssh免密管理
2.DateNode 数据节点
3.SecondaryNameNode 辅助名称节点

主机名 ip 作用
s101 192.168.255.101 NameNode
s102 192.168.255.102 DateNode
s103 192.168.255.103 DateNode
s104 192.168.255.104 DateNode

配置hosts文件

需要root权限

cat >/etc/hosts<

普通用户ssh免密管理

s101对所有节点(包括自己)需要免密登录
在s101上生成公私密钥对,把公钥发给所有节点(包括自己)的认证库中,通信时,公钥加密,私钥解密。

生成公私密钥对

#-t 加密算法
#-P 无密加密
#-f 指定私钥文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

对自己实现无密登录,添加公钥到认证库

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

修改authorized_keys权限为755

cd ~/.ssh
chmod 755 authorized_keys

登录测试

ssh localhost

使用ssh-copy-id复制当前用户的公钥到远程主机指定用户的认证库中

ssh-copy-id centos@s102
#远程登录验证
ssh centos@s102
ssh-copy-id centos@s103
ssh centos@s103
ssh-copy-id centos@s104
ssh centos@s104

root用户ssh免密管理

切换root

生成公私密钥对

#-t 加密算法
#-P 无密加密
#-f 指定私钥文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

对自己实现无密登录,添加公钥到认证库

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

修改authorized_keys权限为755

cd ~/.ssh
chmod 755 authorized_keys

登录测试

ssh localhost

使用ssh-copy-id复制当前用户的公钥到远程主机指定用户的认证库中

ssh-copy-id s102
#远程登录验证
ssh s102
ssh-copy-id s103
ssh s103
ssh-copy-id s104
ssh s104

同步/etc/hosts文件

内容如下

cat /etc/hosts
127.0.0.1 localhost
192.168.255.101 s101
192.168.255.102 s102
192.168.255.103 s103
192.168.255.104 s104

远程复制该文件到所有主机
root权限

scp /etc/hosts root@s102:/etc/hosts
scp /etc/hosts root@s103:/etc/hosts
scp /etc/hosts root@s104:/etc/hosts
#可登录查看

s101安装jdk

root权限

tar xf jdk-8u201-linux-x64.tar.gz
ln -s jdk1.8.0_201 jdk
echo -e '\n#配置java环境变量' >> /etc/profile
echo -e 'export JAVA_HOME=/opt/jdk' >> /etc/profile
echo -e 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
java -version

s101安装hadoop

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
tar xf hadoop-3.2.1.tar.gz
ln -s hadoop-3.2.1 hadoop
echo -e '\n#配置hadoop环境变量' >> /etc/profile
echo -e 'export HADOOP_HOME=/opt/hadoop' >> /etc/profile
echo -e 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo -e 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile

授权普通用户

mkdir -p /opt/module/hadoop/data/tmp
chown -R centos.centos /opt/*

通过scp同步/opt/文件到其他节点


#复制hadoop
scp -pdr /opt/hadoop-3.2.1 root@s102:/opt
scp -pdr /opt/hadoop-3.2.1 root@s103:/opt
scp -pdr /opt/hadoop-3.2.1 root@s104:/opt
#软链接需要登录然后创建

#复制jdk
scp -pdr /opt/jdk1.8.0_201 root@s102:/opt
scp -pdr /opt/jdk1.8.0_201 root@s103:/opt
scp -pdr /opt/jdk1.8.0_201 root@s104:/opt
#软链接
#软链接需要登录然后创建

复制/etc/profile
scp -pdr /etc/profile root@s102:/etc
scp -pdr /etc/profile root@s103:/etc
scp -pdr /etc/profile root@s104:/etc

创建软链接

登录s102~s104

cd /opt/
ln -s hadoop-3.2.1 hadoop
ln -s jdk1.8.0_201 jdk
mkdir -p /opt/module/hadoop/data/tmp
chown -R centos.centos /opt/*

对s101的hadoop的配置目录创建软链接

可以实现多种配置并并存

cd /opt/hadoop/etc
mv hadoop local
cp -r local full
ln -s full hadoop

配置hadoop文件

core-site.xml

vim /opt/hadoop/etc/hadoop/core-site.xml


    
    
    fs.defaultFS
    hdfs://s101:9000
    
    
    
    
    hadoop.tmp.dir
    /opt/module/hadoop/data/tmp
    

hdfs-site.xml

vim /opt/hadoop/etc/hadoop/hdfs-site.xml



        
                dfs.replication
                3
        

hadoop-env.sh

vim /opt/hadoop/etc/hadoop/hadoop-env.sh

echo 'export JAVA_HOME=/opt/jdk' >> /opt/hadoop/etc/hadoop/hadoop-env.sh

mapred-site.xml

vim /opt/hadoop/etc/hadoop/mapred-site.xml

 
   
     mapreduce.framework.name
     yarn
  
 

yarn-site.xml

vim /opt/hadoop/etc/hadoop/yarn-site.xml

 
   
     yarn.resourcemanager.hostname
       s101
   
   
     yarn.nodemanager.aux-services
     mapreduce_shuffle
   
 

分发目录

注意:使用centos普通用户启动

cd /opt/hadoop/
scp -r etc centos@s102:/opt/hadoop
scp -r etc centos@s103:/opt/hadoop
scp -r etc centos@s104:/opt/hadoop

配置从节点

如果不配置从节点,可能不会启动集群

cat >>/opt/hadoop/etc/hadoop<

hadoop逻辑格式化

注意:在s101上使用centos普通用户启动

hdfs namenode -format

启动hadoop集群

start-all.sh

测试hadoop
ResourceManager是yarn的管理进程
dataNode和NodeManager是一对

#查看进程
jps
#查看详细信息
hdfs dfsadmin -report
#namenode的http端口
curl http://s101:9870/
#yarn的http端口
curl http://s101:8088/

上传文件

hdfs dfs -mkdir -p /usr/centos/data
echo hello hadoop > 1.txt
hdfs dfs -put 1.txt /usr/centos/data

你可能感兴趣的:(haddop3.2.1完全分布式安装)