Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)
作者:互联网
@Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)
Hadoop2.6.5完全分布式环境搭建超详细教程(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)
准备好所需要jdk、hadoop文件,我采用的是
文件名称 | 文件版本号 |
---|---|
java | jdk-8u60-linux-x64.tar.gz |
hadoop | hadoop-2.6.5.tar.gz |
ubuntu虚拟机配置相关(根据自己需要而定)
虚拟机(共计四台,一台主节点master、三台从节点slave)
hostname 用户名 密码 内存 磁盘 ip
master hadoop ****** 2G 50G 192.168.255.**1
slave1 hadoop ****** 1G 20G 192.168.255.**2
slave2 hadoop ****** 1G 20G 192.168.255.**3
slave3 hadoop ****** 1G 20G 192.168.255.**4
Ubuntu18.04
启动虚拟机之前开启:打开任务管理器->点击“服务”->点击“打开服务”,找到VMware DHCP Service和VMware NAT Service并打开,许多电脑拥有防护软件导致VMware DHCP Service和VMware NAT Service两个服务自行开机启动失效。
虚拟机开机启动顺序
1.master 192.168.255.**1
↓
2.slave11 192.168.255.**2
↓
3.slave12 192.168.255.**3
↓
4.slave13 192.168.255.**4
网络配置
四台机器上:
sudo vim /etc/hostname分别改成master、slave1、slave2、slave3
sudo vim /etc/hosts添加:
192.168.255.**1 master
192.168.255.**2 slave1
192.168.255.**3 slave2
192.168.255.**4 slave3
准备步骤
注意★★★
ubuntu安装后,root 用户默认是被锁定了的,不允许登录,也不允许su到 root 。
允许su到 root,sudo passwd
设置自己的root密码
更新软件源:
sudo apt-get update
添加为用户sudoer权限
全部用户为hadoop
切换到root添加hadoop用户权限
sudo vim /etc/sudoers
root ALL=(ALL:ALL) ALL下添加
hadoop ALL=(ALL:ALL) ALL
配置jdk环境
sudo vim /etc/profile
# for java
export JAVA_HOME=/usr/jdk1.8.0_60
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
普通用户环境变量
# for java
export JAVA_HOME=/usr/jdk1.8.0_60
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
然后source .bashrc
java -version
查看jdk是否安装配置成功
ssh相互免密钥登录
ssh可相互之间ssh通:
每个节点生成ssh密钥:
ssh-keygen -t rsa
一路回车
在~/.ssh下生成id_rsa id_rsa.pub
cd ~/.ssh/
在主节点上将公钥拷到一个特定文件authorized_keys中
cp id_rsa.pub authorized_keys
将authorized_keys文件拷到下一个节点,并将该节点的ssh密钥id_rsa.pub加入该文件中。
拷贝
scp authorized_keys hadoop@192.168.255.***:~/.ssh/
cat id_rsa.pub >> authorized_keys #使用cat追加方式加入
最后一个节点的authorized_keys拷贝到前面1、2、3中
注意★★★
取消ssh每次都要询问yes/no
sudo vim /etc/ssh/ssh_config中的
StrictHostKeyChecking ask 改成
StrictHostKeyChecking no
hadoop环境变量配置
同jdk配置类似:
sudo vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
gedit .bashrc(同上)
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
修改文件属组权限
在/usr目录下
sudo chown hadoop:hadoop jdk1.8.0_60/
sudo chown hadoop:hadoop hadoop-2.6.5/
冷酷一点全部777
sudo chmod 777 jdk1.8.0_60/
sudo chmod 777 hadoop-2.6.5/
hadoop version
查看hadoop是否安装配置成功
★★★Hadoop完全分布式环境搭建与配置
仅仅在master上面做,之后传入slave节点即可。
sudo vim /usr/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
加入export JAVA_HOME=/usr/jdk1.8.0_60
hadoop中slave配置文件
sudo vim /usr/hadoop-2.6.5/etc/hadoop/slaves
localhost
master
slave1
slave2
slave3
hadoop配置文件都在/usr/hadoop-2.6.5/etc/hadoop/里
hadoop中core-site.xml配置文件
sudo vim /usr/hadoop-2.6.5/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-2.6.5/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
mkdir hdfs在hdfs下mkdir name、data
hadoop中hdfs-site.xml配置文件
sudo vim /usr/hadoop-2.6.5/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>4</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop-2.6.5/hdfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>/usr/hadoop-2.6.5/hdfs/data</value>
</property>
</configuration>
hadoop中mapred-site.xml配置文件
首先将template文件复制成xml文件
sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
sudo vim mapred-site.xml
hadoop中yarn-site.xml配置文件
sudo vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
在主节点master上
hadoop namenode -format
把主节点的hadoop文件拷贝到子节点/usr下
sudo scp -r hadoop-2.6.5 root@slave1:/usr
#(更换slave2、slave3)
启动hadoop
进入hadoop目录下的sbin目录,执行
开启hadoop集群
./start-all.sh
关闭hadoop集群
./stop-all.sh
Hadoop集群可视化界面
ip为:
master的ip地址:8088(如我是192.168.255.132:8088)
master的ip地址:50070(如我是192.168.255.132:50070)
以上就是Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)的搭建教程,亲测有效,欢迎大家一起学习交流
QQ(WeChat):312506890
标签:jdk1.8,sudo,Hadoop,192.168,hadoop,export,usr,HOME,hadoop2.6 来源: https://blog.csdn.net/qq_40157042/article/details/111682149