ubuntu的hadoop分布式安装 小白

基于ubuntu的hadoop分布式安装(课程实验)

  1. 在VirtualBox中安装ubuntu,命名这台机器为Master创建用户名为hadoop(自己定)并增加hadoop用户管理员权限:sudo adduser hadoop sudo
  2. 更改软件源:在Ubuntu的菜单中找到软件与更新,选择中国服务器,此处aliyun,163都可。然后对APT进行更新:sudo apt-get update(ubuntu的vim和ifconfig运行都需要下载)
  3. 安装SSH远程连接:
    1)下载SSH客户端sudo apt-get install open-server
    2)尝试登入本机ssh localhost
    3)进行本机的免密登入
    cd ~/.ssh/ #没有此目录就执一遍ssh localhost
    ssh-keygen -t rsa #执行后按enter键即可
    将密钥加入本机授权:
    cat ./id_rsa.pub>>./authorized_keys

1)安装Java环境

sudo apt-get install default-jre defalut-jdk  #下载jdk

2)添加环境变量

vim ~/.bashrc  
export JAVA_HOME=/usr/lib/jvm/defalut-java  #在配置文件中加入
source ~/.bashrc   #重新加载此配置文件

3)检查是否安装成功

echo $JAVA_HOME
java -version
$JAVA_HOME/bin/java -version  #与上一条命令一样

至此,将这台虚拟机克隆,,命名为Slave1

5.使用hadoop包来安装hadoop
1)可以在官网下载官网下载hadoop3.3.0版本 在ubuntu中可用wget+此链接下载
2)下载之后

tar -xzvf ~/Downloads/hadoop-3.3.0.tar.gz -C /usr/local #下载之后解压至本地目录/usr/local目录
cd /usr/local
sudo mv ./hadoop-3.3.0/ ./hadoop #更改文件名
sudo chown -R hadoop ./hadoop  #修改文件权限

3)查看hadoop版本

cd /usr/local/hadoop
./bin/hadoop version

6.配置hadoop文件
文件目录都在 /usr/local/hadoop/etc/hadoop
1)slaves文件
slaves文件下对应的主机名的都是datanode
ps:不知道为啥我配置完slaves文件之后,datanode依旧是两台,而不是按照slaves中的只有一台
我们把规划的两台主机都当成datanode,预计规划的主机名是:Master Slave1在这里插入图片描述
所以datanode中对应的应该填入

Master 
Slave1

2)修改core-site.xml文件
fs.defaultFS是HDFS的访问地址
hadoop.tmp.dir临时文件保存地址

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>                   

3)修改hdfs-site.xml
dfs.replication datanode的数量,我这里是二
dfs.namenode.name.dir namenode储存地址
dfs.datanode.data.dir detanode储存地址

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

4)修改maperd-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>

5)修改yarn-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>

7.网络配置
1)将Master 和 Slave1的网络设置为桥接模式。并把Slave1的MAC地址刷新(因为此台机器是克隆的MAC地址一样)
2)修改主机名
编辑hostname

sudo vim /etc/hostname

Master的机器修改为

Master

Slave1的机器修改为

Slave1

3)修改网络IP映射
在两台机器上编辑hosts

sudo vim /etc/hosts

输入以下内容:

自己的IP Master
自己的IP Slave1

**4)**重启机器检查是否设置有效

ping Master
ping Slave1

8.实现Master免密码登入节点
在Master主机上执行

cd ~/.ssh   #没有就执行ssh localhost
rm ./id_rsa *   #删除公钥,因为主机名改了
ssh-keygen -t rsa   
cat ./id_rsa.pub>>./authorized_keys  #加入主机密钥

改之后可以用ssh Master做试试
将密钥远程传到Slave1

scp ~/.ssh/id_rsa.pub hadoop@ Slave1:/home/hadoop/

接下来在Slave1上操作:

mkdir ~/.ssh  #如果不存在,就创建
cat ~/id_rsa.pub>> ~/.ssh/authorized_keys
rm ~/id_rsa.pub #用完可以删掉

接下来可以自己试试两台机器的无密码登入
ssh Master
ssh Slave1
9.在两台机器编辑系统配置文件,为了以后Hadoop能快速启动和操作

sudo vim /.bashrc
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
source /.bashrc

10.压缩本机的hadoop文件夹(为了传给我们的其它Salve节点)

cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop #将文件夹传输到Slave1

Slave1节点下

tar -zxf ~/hadoop.master.tar.gz -C /usr/local  #解压
sudo chown -R hadoop /usr/local/hadoop  #更改权限

11.格式化namenode,并启动Hadoop服务
在Master主机格式化节点

hdfs namenode -format

Master启动服务

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

Slave1启动服务

start-dfs.sh
start-yarn.sh

简单执行命令

hadoop fs -ls /
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值