大数据环境搭建-Ubuntu集群搭建

一颗蔬菜 2019-05-28 AM 131℃ 0条

大数据环境搭建-Ubuntu集群搭建

一、创建Hadoop用户

安装界面美化工具

sudo apt-get install gnome-tweaks

或者在 软件 搜索gnome-tweaks安装

创建hadoop用户

sudo useradd -m hadoop -s /bin/bash

-m  创建用户主目录
-s 指定账户登录shell
删除用户

sudo userdel -r bigdata001

-r 递归删除其文件夹,此步骤在命令行可能会无效,也可在图形化界面的用户管理中删除用户。
修改hadoop用户密码

sudo passwd hadoop

为hadoop用户添加管理员权限

sudo adduser hadoop sudo

二、更新apt

修改源

在 软件和更新 里设置

更新软件源

sudo apt-get update

更新软件

sudo apt-get upgrade

三、配置SSH

安装ssh

sudo apt-get install openssh-server

用ssh的方式登陆本机

ssh localhost 默认情况下,执行此命令后需要输入用户密码登陆。

退出登录

exit

设置无密码登陆

cd ~/.ssh/ # 执行ssh localhost 命令时自动生成此目录

ssh-keygen -t rsa

# 第一次提示要求输入存储路径,直接回车设置默认文件夹;第二、三次要求输入登陆密码,直接回车设置密码为空

cat ./id_rsa.pub >> ./authorized_keys # 加入授权

无密码登陆

ssh localhost

四、安装Java

安装JDK、JRE

sudo apt-get install openjdk-8-jdk openjdk-8-jre

配置环境变量

vim ~/.bashrc

.bashrc文件中添加 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

source ~/.bashrc # 使该文件生效

五、安装Hadoop

安装增强工具

虚拟机菜单栏 > 设备 > 安装增强功能

虚拟机菜单栏 > 设备 > 共享文件夹 ,选择宿主机端共享文件夹ubuntu,设置自动挂载和固定分配。

在虚拟机端创建共享文件夹:

cd /~
mkdir /ubuntu

关联宿主机和虚拟机端共享文件夹

sudo mount -t vboxsf ubuntu ~/ubuntu

将hadoop文件从宿主机共享到虚拟机的/usr/local/目录下

sudo tar -zxf ~/ubuntu/hadoop.2.7.6.tar.gz -C /usr/local

sudo mv ./hadoop.2.7.6 ./hadoop

sudo chown -R hadoop ./hadoop # 将文件所有者设置为hadoop用户

验证hadoop是否可用

cd /usr/local/hadoop

./bin/hadoop version

六、克隆虚拟机副本

修改主机名称

将master虚拟机主机名称修改为Master,将slaver虚拟机主机名修改为Slaver

vim /etc/hostname
克隆虚拟机

在VirtualBox虚拟机列表中,复制master虚拟机,设置重新生成mac地址,

在虚拟机设置中将Master和Slaver的网络模式都改为桥接模式。

添加集群节点与ip的映射

在Master和Slaver中修改/etc/hosts文件,添加映射关系

vim /etc/hosts
192.168.1.111 Master
192.168.1.107 Slaver
测试网络配置
ping Master -c 3
ping Slaver -c 3
设置SSH无密码登陆

在Master节点中:

cd ~/.ssh  # 如果没有该目录,先执行一次ssh
rm ./id_rsa*  # 删除之前生成的公钥
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
ssh Master # 验证

若验证成功,

scp ./.ssh/id_rsa.pub hadoop@Slaver:/home/hadoop/

在slaver节点中:

mkdir ~/.ssh # 若不存在该文件就需要这样创建
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

在Master节点中:

ssh Slaver

若登陆成功,则配置成功。

七、配置环境变量

vim ~/.bashrc

加入 export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

source ~/.bashrc

八、配置集群和分布式环境

集群的配置共需要修改/usr/local/hadoop/etc/hadoop目录下的5个文件:

  • slaves

    Slaver
  • core-site.xml

    <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>
  • hdfs-site.xml

    <configuration>
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>Master:50090</value>
            </property>
            <property>
                    <!-- 复制因子,value为Slaver的个数-->
                    <name>dfs.replication</name>
                    <value>1</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>
  • mapred-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>
  • yarn-site.xml

    <configuration>
            <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>Master</value>
            </property>
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>
    </configuration>

将以上5个文件拷贝到Slaver

hadoop@Slaver:rm -f slaves core-site.xml hdfs-site.xml yarn-site.xml # 删除默认文件
hadoop@Master:scp slaves core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml hadoop@Slaver:/usr/local/hadoop/etc/hadoop

#### 九、启动Master节点

在Master上格式化NameNode

hdfs namenode -format # 首次运行需要格式化

​ 在Master上启动hadoop

start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver

​ 启动完毕以后,可以通过 jsp命令检查启动情况,启动正常时情况如下:

hadoop@Master:/usr/local/hadoop$ jps
3413 JobHistoryServer
3451 Jps
3132 ResourceManager
2972 SecondaryNameNode
2734 NameNode

hadoop@Slaver:/usr/local/hadoop$ jps
2561 DataNode
2721 NodeManager
2835 Jps

在Master上关闭hadoop

hadoop@Master:/usr/local/hadoop$ jps
3413 JobHistoryServer
3451 Jps
3132 ResourceManager
2972 SecondaryNameNode
2734 NameNode
hadoop@Master:/usr/local/hadoop$ stop-yarn.sh
stopping yarn daemons
stopping resourcemanager
Slaver: stopping nodemanager
no proxyserver to stop
hadoop@Master:/usr/local/hadoop$ stop-dfs.sh
Stopping namenodes on [Master]
Master: stopping namenode
Slaver: stopping datanode
Stopping secondary namenodes [Master]
Master: stopping secondarynamenode
hadoop@Master:/usr/local/hadoop$ mr-jobhistory-daemon.sh stop historyserver
stopping historyserver
hadoop@Master:/usr/local/hadoop$ jps
4167 Jps
hadoop@Master:/usr/local/hadoop$ 

十、创建HDFS用户目录

默认情况下,/usr/local/hadoop目录下是没有HDFS用户目录的,因此在执行分布式任务前需要先创建该目录
hdfs dfs -mkdir -p /usr/hadoop # 此处的路径是相对路径,指的是/usr/local/hadoop/usr/hadoop

十一、结束语

经过以上去10个步骤,集群的搭建已经完成。

标签: 大数据

非特殊说明,本博所有文章均为博主原创。