搭建hadoop完全分布(ubuntu)

提前准备:

1.sudo apt install net-tools    #安装网络配置工具,为后续免密登录会使用的工具

         2.sudo apt install vim       #Linux中的编辑工具

         3.sudo apt install openssh-server    #安装配置ssh服务器的工具   

       

         5.

    Sudo su   #进入管理员模式(输入自己设的密码,不会显示的,输入后按回车)

修改管理员密码

一、修改主机名【分别在三台主机执行,将主机名修改为master,slave1,slave2】

>hostnamectl set-hostname master

>hostnamectl set-hostname slave1

>hostnamectl set-hostname slave2

# 查看是否修改成功

>cat /etc/hostname

二、添加IP与主机名映射【分别在三台主机执行,将主机名修改为master,slave1,slave2】

# 查看IP地址

>ip addr

框内为IP地址

>vim /etc/hosts

#添加如下内容

本机ip    master

客户机ip  slave1

客户机ip  slave2

三、配置ssh免密登录

1、修改配置文件

 >vim /etc/ssh/sshd_config

# 修改两个配置

PermitRootLogin yes

PasswordAuthentication yes

代码添加的位置哪都行

#重启服务

/etc/init.d/ssh restart

2、 配置免密

#(1)在三台主机中分别生成密钥,一直按回车,不要输入

>ssh-keygen -t rsa

 #(2)在三台主机中都传输密钥

>ssh-copy-id master

密码是修改后的管理员密码

>ssh-copy-id slave1

>ssh-copy-id slave2

3、测试连接

# 退出连接使用:logout

ssh master

ssh slave1

ssh slave2

四、配置java环境

1、 上传、解压、重命名安装包,

>tar -zxvf  jdk-17_linux-x64_bin.tar.gz -C /home/master/Downloads

解压jdk安装包到/home/master/Downloads

>mv  jdk-17_linux-x64_bin jdk

将jdk-17_linux-x64_bin改名为jdk

2、在/etc/profile中添加环境变量,并使其生效【注意切换为自己的实际路径】

>vim /etc/profile

export JAVA_HOME=/home/master/Downloads/jdk

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=$PATH:${JAVA_HOME}/bin

>source /etc/profile  #使配置生效

3、安装成功测试,输入以下命令,出现java版本

>java -version

4、在master上分发给其余两台主机,并测试配置是否成功

> scp -r jdk slave1:/home/slave1/Downloads/

要去slave1主机上修改成分发后的主机名

#在slave1主机执行

>source /etc/profile

>java -version

> scp -r jdk slave2:/home/slave2/Downloads/

要求如上修改路径

#在slave2主机执行

>source /etc/profile

>java -version

五、配置zookeeper环境

1、上传安装包到/home/master/Downloads下

2、解压到当前路径

>tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

3、重命名

mv apache-zookeeper-3.5.5-bin zookeeper

4、修改配置文件

打开$ZOOKEEPER_HOME,新建data文件夹,并在conf文件,复制zoo_sample.cfg为zoo.cfg文件,并修改配置参数

>cd /home/user/Downloads   #打开Downloads文件夹

>cd zookeeper    #打开zookeeper

>mkdir data     #创建data文件夹

>cd conf

>mv zoo_sample.cfg zoo.cfg 修改文件名为zoo.cfg

>vim zoo.cfg

# 修改以下参数

dataDIr=/home/master/Downloads/zookeeper/data

# 在文件末尾追加以下参数配置

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

5、data文件夹下新建myid文件,添加值1

>vim myid

1

6、添加系统环境变量配置

 >vim /etc/profile

export ZOOKEEPER_HOME=/home/master/Downloads/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

>source /etc/profile

 7、将zookeeper文件夹分发到slave1和slave2中。

>scp -r zookeeper slave1:/home/user/Downloads/

>scp -r zookeeper slave2:/home/user/Downloads/

同理,要修改主机名,上图红框中修改为分发后的主机名,如:

 8、修改zookeeper/data文件夹下myid的值分别为23

# 在slave1主机

>cd /home/slave1/Downloads/zookeeper/data

>vim myid

2

# 在slave2主机

>cd /home/slave2/Downloads/zookeeper/data

>vim myid

3

9、在slave1主机,slave2主机分别使系统环境变量配置生效

分别在两主机上输入

>source /etc/profile

10、启动zookeeper

分别在三台主机输入

>zkServer.sh start

然后再查看状态(要在三台都启动后再输入)

zkServer.sh status

如果mode为follower或者leader,则表示部署成功。

11、部署成功验证

master显示:

slave1:

slave2:

六、配置hadoop完全分布部署

1、上传

2、解压

>tar -zxvf hadoop-3.1.3.tar.gz –C /home/master/Downloads

3、重命名

 >mv hadoop-3.1.3 hadoop

4、配置系统环境变量

 >vim /etc/profile

export HADOOP_HOME=/home/master/Downloads/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

>source /etc/profile

5、 修改配置文件($HADOOP_HOME为/home/master/Downloads/hadoop, $JAVA_HOME为/home/master/Downloads/jdk)

(1)在 $HADOOP_HOME/etc/hadoop配置hadoop-env.sh文件【$JAVA_HOME,$HADOOP_HOME换为具体路径

export JAVA_HOME=$JAVA_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

#添加

export HDFS_DATANODE_USER=root

export HADOOP_SECURE_DN_USER=root

export HDFS_NAMENODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

#在进入hdfs中修改hadoop生效用户,原默认为hdfs

>vim $HADOOP_HOME/bin/hdfs

修改为”root”

(2)在 $HADOOP_HOME/etc/hadoop配置workers文件【添加datanode部署主机名】

#localhost

master

slave1

slave2

(3) 在 $HADOOP_HOME/etc/hadoop配置core-site.xml文件

<configuration>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>file://home/master/Downloads/hadoop/tmp</value>

        </property>

        <property>

                <name>fs.defaultFS</name>

                <value>hdfs://localhost:9000</value>

        </property>

</configuration>

(4) 在 $HADOOP_HOME/etc/hadoop配置hdfs-site.xml文件

<configuration>

        <property>

                <name>dfs.replication</name>

                <value>3</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/home/master/Downloads/hadoop/tmp/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/home/master/Downloads/hadoop/tmp/dfs/data</value>

        </property>

</configuration>

(5)在 $HADOOP_HOME/etc/hadoop配置yarn-site.xml文件

<configuration>

<!-- Site specific YARN configuration properties -->

        <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>master</value>

        </property>

        <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

(6)在 $HADOOP_HOME/etc/hadoop配置mapred-site.xml文件

 1、改名mapred-site.xml.template 为mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

2>添加如下内容:

<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)在$HADOOP_HOME创建文件夹

mkdir tmp

mkdir tmp/dfs

mkdir tmp/dfs/name

mkdir tmp/dfs/data

mkdir tmp/dfs/namesecondary

 6、将hadoop文件夹,/etc/profile文件分发到slave1,slave2中,并使系统环境配置文件生效

>scp -r hadoop slave1:/home/slave1/Downloads/

>scp -r hadoop slave2:/home/slave2/Downloads/

>scp /etc/profile slave1:/etc/

#x修改配置环境的路径

>scp /etc/profile slave2:/etc/

# 在slave1主机,slave2主机分别使系统环境变量配置生效

>source /etc/profile

7、master主机格式化NameNode

hdfs namenode -format

#不能正常启动需要重新格式化

8、在master主机启动hadoop集群

 start-all.sh

 9、启动成功验证

master主机:

slave1主机:

slave2主机:

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤来搭建Hadoop集群在Ubuntu上: 1. 安装Java:Hadoop依赖于Java环境,所以首先需要安装Java。你可以使用以下命令安装OpenJDK: ``` sudo apt update sudo apt install openjdk-8-jdk ``` 2. 下载和配置Hadoop:你可以从Hadoop的官方网站下载最新版本的Hadoop。解压缩下载的文件并将其移动到所需的目录中。然后,编辑Hadoop的配置文件。打开`hadoop-env.sh`文件并设置`JAVA_HOME`变量,将其指向Java的安装目录。 3. 配置SSH:Hadoop集群需要使用无密码SSH登录到各个节点。确保所有节点上都安装了SSH,并且你可以通过SSH连接到其他节点而无需密码。你可以使用以下命令来生成SSH密钥对: ``` ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 4. 配置Hadoop集群:编辑Hadoop的核心配置文件`core-site.xml`,将以下内容添加到配置文件中: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 5. 配置HDFS:编辑Hadoop的HDFS配置文件`hdfs-site.xml`,将以下内容添加到配置文件中: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 6. 配置YARN:编辑Hadoop的YARN配置文件`yarn-site.xml`,将以下内容添加到配置文件中: ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> ``` 7. 启动Hadoop集群:首先格式化HDFS文件系统,使用以下命令: ``` hdfs namenode -format ``` 然后,启动Hadoop集群: ``` start-all.sh ``` 这样,你就成功地在Ubuntu搭建Hadoop集群。你可以通过访问Hadoop的Web界面来验证集群的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值