- 网络适配
vim /etc/sysconfig/network-scripts/ifcfg-ens33
改BOOTROTO=static
ONBOOT=yes
写IPADDR=192.168.211.11 //211必须与下面的211一样,11可随意写,范围是2~255
NETMASK=255.255.255.0
CATEWAY=192.168.211.1 // 1是自己写的,1最好是1,也可以2,
DNS1=223.5.5.5
DNS2=223.6.6.6
service network restart //重启网络服务,ping通网络
修改主机映射 ip+主机名(master)
vim /etc/hosts
修改主机名 名字(master)
vim /etc/hostname
重启
reboot
安装jdk
解压
tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local
设置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
上传hadoop并解压到usr/local路径下
将hadoop添加到环境变量中
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
让profile文件立即生效
使用java -version
,出现版本为java version “1.8.0_131”
4 关闭防火墙
1查看防火墙状态
firewall-cmd --state
2关闭防火墙,停止firewall
systemctl stop firewalld.service
3禁止firewall开机启动
systemctl disable firewalld.service
5设置免密
ssh-keygen -t rsa
ssh-copy-id master
6 设置hadoop
1)hadoop-env.sh
26行 改为 export JAVA_HOME=/usr/java/jdk1.7.0_65
2)core-site.xml
改为主机名
<property>
<name>fs.defaultFS</name>
<value>hdfs://weekend-1206-01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>
3)hdfs-site.xml
有几个datanode写几个
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4)slaves
写datanode的主机名字
7格式化namenode(是对namenode进行初始化)
hadoop namenode -format
8启动 Hadoop
hadoop/sbin
start-dfs.sh
验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
9.配置SecondaryNameNode到其他节点上
在hdfs-site.xml中添加
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
<description>
The address and the base port where the dfs namenode web ui will listen on.
If the port is 0 then the server will start on a free port.
</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/etc/hadoop/dfs.hosts.exclude</value>
</property>
Hadoop伪分布搭建
1.1修改主机名
vim /etc/hostname
Master
1.2修改IP
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 ->
点击Edit connections -> 选中当前网络System eth0 ->
点击edit按钮 -> 选择IPv4 -> method选择为manual ->
点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply
第二种:修改配置文件方式(屌丝程序猿专用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" #启用静态IP地址
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.101" #设置IP地址
NETMASK="255.255.255.0" 子网掩码
GATEWAY="192.168.1.1" #设置网关
DNS1=223.5.5.5
DNS2=223.6.6.6
1.3修改主机名和IP的映射关系
vim /etc/hosts
192.168.1.101 Master
1.4关闭防火墙
centos6 可以使用
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
centos7不能使用解决办法
不能使用iptables 命令的安装源
yum install -y iptables-services
//关闭防火墙
service iptables stop
Redirecting to /bin/systemctl stop iptables.service
//检查防火墙状态
service iptables status
Redirecting to /bin/systemctl status iptables.service
iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.servicedisabled; vendor preset: disabled)Active: inactive(不活动的) (dead)
1.5重启Linux
reboot
2.安装JDK
2.2解压jdk
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app
2.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
export PATH=$PATH:$JAVA_HOME/bin
2.4将hadoop添加到环境变量中
vim /etc/profile
最底下加入:
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
刷新配置
source /etc/profile
3.安装hadoop2.6.4
- 伪分布式需要修改5个配置文件,配置文件在etc目录下
3.1配置hadoop
第一个配置文件名:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_65
第二个配置文件名:core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://weekend-1206-01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>
第三个配置文件:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个配置文件:mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个配置文件:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>weekend-1206-01(主机名)</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3.3格式化namenode(是对namenode进行初始化)
hadoop namenode -format
3.4启动hadoop
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
3.5验证是否启动成功
使用jps
命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNodepro
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
hadoop在子节点上没有datanode进程
经常会有这样的事情发生:在主节点上start-all.sh后,子节点有TaskTracker进程,而没有DataNode进程。
环境:1NameNode 2DataNode三台机器,Hadoop为1.2.1
解决办法:
1.先停止Hadoop bin/stop-all.sh
2.三台机器都把hadoop1.2.1/tmp下所有文件删除 rm -rf tmp/*
3.重新格式化DFS bin/hadoop namenode -format
4.再重启 bin/start-all.sh
5.查看各节点jps
,就有DataNode和TaskTracker了
/usr/local/hadoop-2.6.0-cdh5.7.0
/usr/local/jdk1.8.0_201