ubuntu的hadoop分布式安装 小白

    科技2022-07-15  123

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

    在VirtualBox中安装ubuntu,命名这台机器为Master创建用户名为hadoop(自己定)并增加hadoop用户管理员权限:sudo adduser hadoop sudo更改软件源:在Ubuntu的菜单中找到软件与更新,选择中国服务器,此处aliyun,163都可。然后对APT进行更新:sudo apt-get update(ubuntu的vim和ifconfig运行都需要下载)安装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 /
    Processed: 0.011, SQL: 8