0


ubuntu中hadoop完全分布式部署【三台主机】

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

hostnamectl set-hostname master

查看是否修改成功

cat /etc/hostname

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

查看IP地址

ip addr

vi /etc/hosts

#添加如下内容

192.168.184.131 master
192.168.184.132 slave2
192.168.184.130 slave1

三、配置ssh免密登录

1、修改配置文件

vi /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、 上传、解压、重命名安装包,

链接:https://pan.baidu.com/s/1tmVEGjRI_7CXgCzcmocRAw
提取码:ku4b

或者官网下载:

https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

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

mv jdk-17_linux-x64_bin jdk

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

vi /etc/profile

export JAVA_HOME=/home/user/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

注意:安装过程中,使用vim编辑器后,上下左右变为ABCD。

解决方案:重新安装vim

apt-get install vim

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

java -version

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

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

#在slave1主机执行

source /etc/profile

java -version

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

#在slave2主机执行

source /etc/profile

java -version

五、配置zookeeper环境

1、上传安装包到/home/user/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

cd zookeeper

mkdir data

cd conf

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

修改以下参数

dataDIr=/home/user/Downloads/zookeeper/data

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

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

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

vi myid

1

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

vi /etc/profile

export ZOOKEEPER_HOME=/home/user/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的值分别为2和3

在slave1主机

cd /home/user/Downloads/zookeeper/data

vi myid

2

在slave2主机

cd /home/user/Downloads/zookeeper/data

vi myid

3

9、将/etc/profile分发到slave1和slave2中。

scp /etc/profile slave1:/etc/

scp /etc/profile slave2:/etc/

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

source /etc/profile

10、启动zookeeper

分别在三台主机输入

zkServer.sh start

然后再查看状态

zkServer.sh status

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

11、部署成功验证

master显示:

slave1:

slave2:

六、配置hadoop完全分布部署【3.1.3版本】

1、下载,上传

Index of /dist/hadoop/common/hadoop-3.1.3 (apache.org)

2、解压

tar -zxvf hadoop-3.1.3.tar.gz

3、重命名

mv hadoop-3.1.3 hadoop

4、配置系统环境变量

vi /etc/profile

export HADOOP_HOME=/home/user/Downloads/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

5、 修改配置文件

(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

(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/user/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/user/Downloads/hadoop/tmp/dfs/name</value>
     </property>

    <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/home/user/Downloads/hadoop/tmp/dfs/data</value>
     </property>
</configuration>
(5)在 $HADOOP_HOME/etc/hadoop配置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>
(6)在 $HADOOP_HOME/etc/hadoop配置yarn-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/user/Downloads/

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

scp /etc/profile slave1:/etc/

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主机:

标签: 分布式 ubuntu hadoop

本文转载自: https://blog.csdn.net/weixin_38383877/article/details/138942099
版权归原作者 chde2Wang 所有, 如有侵权,请联系我们删除。

“ubuntu中hadoop完全分布式部署【三台主机】”的评论:

还没有评论