Hadoop全分布式部署
1、安装VMWare(略)
2、安装Ubuntu(略)
3、配置静态IP
3.1设置虚拟机上网模式为NAT
将多余的VMnet0、1删除
子网IP为想设置的IP段,如:192.168.157.0
子网掩码设置为:255.255.255.0
取消勾选"使用本地DHCP服务将IP地址分配给虚拟机"
3.2进入Ubuntu系统中配置网络
(1)修改文件/etc/network/interfaces
[email protected]:~$ sudo vim /etc/network/interfaces
内容如下:
#interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.157.100
netmask 255.255.255.0
gateway 192.168.157.2
dns-nameservers 8.8.8.8
(2)修改文件/etc/resolv.conf
内容如下:
nameserver 8.8.8.8
(3)重启虚拟机网络
[email protected]:~$ sudo service networking restart
(4)重启虚拟机
把虚拟机重启下就好了
4、安装jdk并配置jdk环境变量
在oracle官网下载jdk1.8版本以上,jdk-8u161-linux-x64.tar.gz
将压缩包放在/usr/local/java目录下(java目录需手动建立)
执行命令
[email protected]:~$ /usr/local/java$tar -zxvf jdk-8u161-linux-x64.tar.gz
发现有个jdk1.8.0_161的文件夹
修改/etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_161
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin
[email protected]:~/etc$source /etc/profile
5、新建hadoop用户,增加管理员权限
[email protected]:~$ sudo useradd -m hadoop -s /bin/bash
[email protected]:~$ sudo passwd hadoop
按提示输入两遍密码
为hadoop用户添加root权限
[email protected]:~$ sudo adduser hadoop sudo
注销用户,使用hadoop用户登录
6、安装SSH,并配置无密码登录
更新apt sudo apt-get update
[email protected]:~$ sudo apt-get install vim
[email protected]:~$ sudo apt-get install openssh-server
[email protected]:~$ ssh localhost
每次使用ssh登录时都要输入密码,比较麻烦
[email protected]:~$ exit
[email protected]:~$ cd ~/.ssh/
[email protected]:~$ ssh-****** -t rsa #一直按回车
[email protected]:~$ cat ./id_rsa.pub >> ./authorized_keys
[email protected]:~$ ssh localhost #已经可以无密码登录
7、安装Hadoop
下载hadoop-2.7.5.tar.gz
进入下载目录
[email protected]:~$ cd ~/下载
[email protected]:~/下载$ mv ./hadoop-2.7.5.tar.gz /home/hadoop/soft/
[email protected]:~/下载$ cd /home/hadoop/soft
[email protected]:~/home/hadoop/soft$ tar -zxvf hadoop-2.7.5.tar.gz
检查hadoop是否可用
[email protected]:~/home/hadoop/soft$ ./bin/hadoop version
8、配置Hadoop环境
8.1 修改hadoop-env.sh
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/hadoop-env.sh
修改JAVA_HOME=/usr/bin/local/java/jdk1.8.0_161
8.2 修改yarn-env.sh
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/yarn-env.sh
修改JAVA_HOME=/usr/bin/local/java
8.3 修改slaves
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/slaves
添加数据
hadoop02
hadoop03
hadoop04
8.4 修改core-site.xml
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop/tmp</value>
</property>
</configuration>
8.5 修改hdfs-site.xml
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:9001</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop/temp/name</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop/temp/data</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<final>true</final>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
8.6 修改mapred-site.xml
[email protected]:~/soft/hadoop$ vim ./etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
</configuration>
8.7 修改yarn-site.xml
[email protected]:~/soft/hadoop$ vim 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>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop01:8088</value>
</property>
</configuration>
8.8 复制到其他节点上
[email protected]:~$ sudo scp -r /home/hadoop/soft/hadoop2.7.5 [email protected]:~/soft/
[email protected]:~$ sudo scp -r /home/hadoop/soft/hadoop2.7.5 [email protected]:~/soft/
[email protected]:~$ sudo scp -r /home/hadoop/soft/hadoop2.7.5 [email protected]:~/soft/
8.9 修改Hadoop环境变量
[email protected]:~$ sudo vim /etc/profile
export HADOOP_HOME=/home/hadoop/soft/hadoop
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
(每台slaver都配置环境变量)
9、启动Hadoop
9.1 格式化namenode
[email protected]:~$ hdfs namenode -format
9.2启动hdfs
[email protected]:~$ start-dfs.sh
9.3启动yarn
[email protected]:~$ start-yarn.sh
9.4 查看启动情况
[email protected]:~$jps
[email protected]:~$ hdfs dfsadmin -report
配置成功