安装和部署Hadoop
一、安装虚拟机
1、 服务器配置信息
Linux主机一 |
Linux主机二 |
Linux主机三 |
|||
主机名:master |
主机名:host1 |
主机名:host2 |
|||
IP:192.168.100.100 |
IP:192.168.100.101 |
IP:192.168.100.100 |
|||
HDFS |
MapReduce |
HDFS |
MapReduce |
HDFS |
MapReduce |
NameNode |
JobTracker |
DataNode |
TaskTracker |
DateNode |
TaskTracker |
二、修改主机名
l 命令:[[email protected] ~] vim /etc/sysconfig/network 打开文件后, NETWORKING=yes #使用网络 HOSTNAME=master #设置主机名 l 命令:hostname master #立即生效 l 查看主机名命令: [[email protected]~] hostname |
三、设置网络参数
l 命令:[[email protected] ~ ] vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #对应第一张网卡 TYPE=Ethernet ONBOOT=yes #是否启动时运行 NM_CONTROLLED=yes BOOTPROTO=static #使用静态IP,而不是由DHCP分配IP DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" #名称 HWADDR=00:50:56:94:04:3C #必须对应etho是的MAC地址(/etc/udev/rules.d/70-persistent-net.rules) PEERDNS=yes PEERROUTES=yes IPADDR=192.168.1.128 #指定本机IP地址 NETMASK=255.255.255.0 #指定子网掩码 GATEWAY=192.168.1.2 #指定网关 DNS1=192.168.1.2 |
l 重启网络
[[email protected] ~ ] service network restart
四、修改虚拟机的Hosts文件
l 分别在master、host1、host2三台机器上配置hosts。
l 命令:[[email protected] ~ ] vim /etc/hosts
l host文件配置为:
192.168.100.100 master
192.168.100.101 host1
192.168.100.102 host2
五、配置SSH无密码登录
1、 生成公钥私钥
在三台主机上执行生成公钥私钥命令:
[[email protected] ~ ] ssh-keygen –t rsa
一路回车就创建了无密码的公钥私钥,存放在/home/chybin/.ssh文件夹下。
id_rsa是私钥
id_rsa.pub是公钥
2、 复制master的公钥
[[email protected] ~ ] sudo ~/.ssh/id_rsa.pub >> authorized_keys
3、 将master上的公钥发送给host1、host2
[[email protected] ~ ] sudo scp authorized_keys [email protected]:~/.ssh
[[email protected] ~ ] sudo scp authorized_keys [email protected]:~/.ssh
4、 修改authorized_keys权限
在master、host1、host2上修改authorized_keys文件的属性
[[email protected] ~ ] chmod 644 ~/.ssh/authorized_keys
[[email protected] ~ ] chmod 644 ~/.ssh/authorized_keys
[[email protected] ~ ] chmod 644 ~/.ssh/authorized_keys
5、 测试是否成功
在master上用ssh连接host1、host2
[[email protected] ~ ] ssh host1
第一次让输入密码,可以输入多个exit命令退出ssh后,再次ssh host1,就不用输入密码了。
六、安装Java JDK
l 先判断是否已经安装了Java jdk,用命令 [[email protected] ~ ] java –version
l 复制jdk-7u79-linux-x64.rpm到master随便一个目录中
l 安装jdk,命令:[[email protected] ~ ] # rpm –ivh ~/jdk-7u79-linux-x64.rpm.rpm
l 安装目录在/usr/java里,这时候用 java -version 就可以验证是否安装成功了。
七、设置环境变量
l 打开配置文件:sudo vim /etc/profile
l 追加变量:
JAVA_HOME=/usr/java/jdk1.7.0_79
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME CLASSPATH PATH
l 修改后,让配置文件立即生效: [[email protected] ~] source /etc/profile
八、安装hadoop
1、 版本选择
JDK |
V1.7.0 |
Hadoop |
V2.7.2 |
Hbase |
V1.2 |
Hive |
V1.2.1 |
2、 在master上安装Hadoop
(1) 将hadoop-2.7.2.tar.gz文件放入master随便一个目录下,这里选择根目录。
(2) 解压hadoop-2.7.2.tar.gz
[[email protected] ~ ] $ tar –zxvf hadoop-2.7.2.tar.gz |
(3) 在master上创建hadoop文件夹
[[email protected] ~ ] $ sudo mkdir /usr/hadoop |
(4) 剪切hadoop-2.7.2到hadoop文件夹下
[[email protected] ~ ] $ sudo mv /hadoop-2.7.2 /usr/hadoop |
3、 在master上配置Hadoop
(1) 配置Hadoop环境变量
l 打开配置文件
[[email protected] ~]$ sudo vim /etc/profile |
l 追加变量
HADOOP_HOME=/usr/hadoop/hadoop-2.7.2 PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_HOME PATH |
(2) 配置hadoop-env.sh
l hadoop 2.X版本的配置文件都在${HADOOP_HOME}/etc/hadoop目录里。
l 文件结构如下:
l hadoop-env.sh配置为
export JAVA_HOME=${JAVA_HOME} export HADOOP_HOME=/usr/hadoop/hadoop-2.7.2 export PATH=$HADOOP_HOME/bin:$PATH |
l 使hadoop-env.sh生效
[[email protected] ~] $ source ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh |
(3) 配置slave文件
[[email protected] ~]$ sudo vim ${HADOOP_HOME}/etc/hadoop/slaves |
文件内容: host1 host2 |
(4) 配置core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://master</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/hadoop-2.7.2/hadoop_tmp</value> </property> </configuration> |
(5) 配置hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>heartbeat.recheckinterval</name> <value>10</value> </property> <property> <name>dfs.name.dir</name> <value>file:/usr/hadoop/hadoop-2.7.2/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>file:/usr/hadoop/hadoop-2.7.2/hdfs/data</value> </property> </configuration> |
(6) 配置yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.adimin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resoucemanager.webapp.address</name> <value>master:8088</value> </property> <property> <name>yarn.nademanager.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> |
4、 其他必要配置
(7) 三台机器上配置hadoop文件夹的读写权限
[[email protected] ~]$ sudo chmod 777 -R /usr/hadoop/hadoop-2.7.2 |
5、 将Hadoop文件夹复制到host1、host2
(8) 复制hadoop2.7.2到host1、host2
[[email protected] ~ ] $ sudo scp –r /usr/hadoop/hadoop-2.7.2 [email protected]:/usr/hadoop |
[[email protected] ~ ] $ sudo scp –r /usr/hadoop/hadoop-2.7.2 [email protected]:/usr/hadoop |
6、 格式化NameNode
[[email protected] ~ ] $ hadoop namenode -format |
7、 验证是否安装成功
[[email protected] ~]$ hadoop version Hadoop 2.7.2 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41 Compiled by jenkins on 2016-01-26T00:08Z Compiled with protoc 2.5.0 From source with checksum d0fda26633fa762bff87ec759ebe689c This command was run using /usr/hadoop/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar |
[[email protected] ~]$ hadoop fs -ls / Found 1 items drwxr-xr-x - chybin supergroup 0 2016-04-05 05:19 /demo1 |
master机器上: [[email protected] ~]$ jps -l 13121 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode 13275 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager 15271 sun.tools.jps.Jps 12924 org.apache.hadoop.hdfs.server.namenode.NameNode |
host1机器上:
|