我的hadoop集群过程.docx
《我的hadoop集群过程.docx》由会员分享,可在线阅读,更多相关《我的hadoop集群过程.docx(11页珍藏版)》请在冰豆网上搜索。
我的hadoop集群过程
我的Hadoop集群过程
VMlinux虚拟机
1,创建虚拟机
安装rz,jdk,关闭防火墙,调整时间
克隆,
2,搭建集群hadoop
更改固定ip,hosts
设置ssh无密码访问
添加hadoop,更改配置
1,yuminstalllrzszrz安装
2,jdk安装
java-version和javac-version查看安装的jdk
rpm-qa|grepjdk
卸载jdk
rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm-e--nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm-e--nodepstzdata-java-2013g-1.el6.noarch
上传,解压,安装
tar-zxvf/opt/java/jdk-7u72-linux-x64.gz
设置环境变量
vi/etc/profile
在profile文件末尾添加以下代码:
exportJAVA_HOME=/opt/java/jdk1.7.0_72
exportJRE_HOME=$JAVA_HOME/jre
exportPATH=$JAVA_HOME/bin:
$PATH
exportCLASSPATH=.:
$JAVA_HOME/lib:
$JRE_HOME/lib
保存后,使刚才编辑的文件生效:
source/etc/profile
测试是否安装成功:
java–version
3,关闭防火墙,
serviceiptablesstop
chkconfigiptablesoff
4,可以使用如下命令同步系统时间
ntpdatecn.pool.ntp.org
出现theNTPsocketisinuse,exiting解决方案:
cd/etc/rc.d/init.d
./ntpdstop
5,克隆备份!
!
!
!
!
!
网络连接设置桥接>>NAT,连接获取初始的ip!
!
!
(NAT下的)
2虚拟机设置
2.1固定ip;
vi/etc/sysconfig/network-scripts/ifcfg-eth0
更改
添加
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.0.148
GATEWAY=192.168.0.1
DNS1=8.8.4.4
DNS2=222.85.85.85
!
!
!
图文教程
设置ip
2.2主机名,设置hosts文件
配置主节点名(192.168.15.128)
vi/etc/sysconfig/network
添加内容:
NETWORKING=yes
HOSTNAME=master
配置两台子节点名(192.168.15.129)和(192.168.15.130)
vi/etc/sysconfig/network
添加内容:
NETWORKING=yes
HOSTNAME=slaver1
vi/etc/sysconfig/network
添加内容:
NETWORKING=yes
HOSTNAME=slaver2
配置hosts
打开主节点的hosts文件,要将文件的前两行注释掉(注释当前主机的信息)
#localhostnameresolutionishandledwithinDNSitself.
#127.0.0.1localhost
#:
:
1localhost
并在文件中添加所有hadoop集群的主机信息。
vi/etc/hosts
192.168.15.128master
192.168.15.129slaver1
192.168.15.130slaver2
保存之后,将主节点的hosts分别拷贝到其他两个子节点
scp/etc/hostsroot@192.168.15.129:
/etc/
scp/etc/hostsroot@192.168.15.130:
/etc/
然后分别执行(重启服务器也可以不执行下面的语句):
/bin/hostsnamehostsname
例如:
master上执行/bin/hostsnamemaster,使之生效。
2.3,配置ssh无密码访问
生成公钥密钥对
在每个节点上分别执行:
ssh-keygen-trsa
一直按回车直到生成结束
执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件id_rsa和id_rsa.pub
其中前者为私钥,后者为公钥
在主节点上执行:
cpid_rsa.pubauthorized_keys或:
catid_rsa.pub>>authorized_keys
将子节点的公钥拷贝到主节点并添加进authorized_keys
将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp~/.ssh/id_rsa.pubroot@master:
/~/.ssh/id_rsa_slaver1.pub
scp~/.ssh/id_rsa.pubroot@master:
/~/.ssh/id_rsa_slaver2.pub
然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去
主节点上执行:
catid_rsa_slaver1.pub>>authorized_keys
catid_rsa_slaver2.pub>>authorized_keys
最后测试是否配置成功
在master上分别执行
sshslaver1
sshslaver2
能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。
这里的配置方式可以有多种操作步骤,最终目的是每个节点上的/root/.ssh/authorized_keys文件中都包含所有的节点生成的公钥内容。
将主节点的authorized_keys文件分别替换子节点的authorized_keys文件
主节点上用scp命令将authorized_keys文件拷贝到子节点的相应位置
scpauthorized_keysroot@slaver1:
/root/.ssh/
scpauthorized_keysroot@slaver2:
/root/.ssh/
3.1安装hadoop
在master主机上安装hadoop
安装位置自定,例如安装在/usr目录下面
下载hadoop包,放在/usr目录下,解压hadoop
tar-zxvf/usr/hadoop-2.6.4.tar.gz
在usr下面生成hadoop-2.6.4目录
配置环境变量:
vi/etc/profile
在末尾添加:
exportHADOOP_HOME=/usr/hadoop-2.6.4
exportPATH=$PATH:
$HADOOP_HOME/bin
保存后使新编辑的profile生效:
source/etc/profile
3.2配置hadoop
配置hadoop配置文件
需要配置的文件的位置为/hadoop-2.6.4/etc/hadoop,
例如:
cd/usr/hadoop-2.6.4/etc/hadoop/
准备事项:
jdk的环境变量:
cat/etc/profile中可以查看,例如:
exportJAVA_HOME=/opt/java/jdk1.8.0_73
配置hadoop配置文件
需要配置的文件的位置为/hadoop-2.6.4/etc/hadoop,需要修改的有以下几个
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
其中
hadoop-env.sh和yarn-env.sh里面都要添加jdk的环境变量:
hadoop-env.sh中
#Thejavaimplementationtouse.
//下面这句是原始的
exportJAVA_HOME=${JAVA_HOME}
exportJAVA_HOME=/usr/java/jdk1.8.0_73
(红色为新添加的内容,其他的代码是文件中原有的)
yarn-env.sh中
#someJavaparameters
exportJAVA_HOME=/usr/java/jdk1.8.0_73
(红色为新添加的内容,其他的代码是文件中原有的)
core-site.xml中
fs.defaultFS
hdfs:
//master:
9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:
/usr/temp
hadoop.proxyuser.root.hosts
*
hadoop.proxyuser.root.groups
*
hdfs-site.xml中
dfs.namenode.secondary.http-address
master:
9001
dfs.namenode.name.dir
file:
/usr/dfs/name
dfs.datanode.data.dir
file:
/usr/dfs/data
dfs.replication
2
dfs.webhdfs.enabled
true
dfs.permissions
false
dfs.web.ugi
supergroup
mapred-site.xml中
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:
10020
mapreduce.jobhistory.webapp.address
master:
19888
yarn-site.xml中
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:
8032
yarn.resourcemanager.scheduler.address
master:
8030
yarn.resourcemanager.resource-tracker.address
master:
8031
yarn.resourcemanager.admin.address
master:
8033
yarn.resourcemanager.webapp.address
master:
8088
slaves中
slaver1
slaver2
拷贝hadoop安装文件到子节点
主节点上执行:
scp-r/usr/hadoop-2.6.4root@slaver1:
/usr
scp-r/usr/hadoop-2.6.4root@slaver2:
/usr
拷贝profile到子节点
主节点上执行:
scp/etc/profileroot@slaver1:
/etc/
scp/etc/profileroot@slaver2:
/etc/
在两个子节点上分别使新的profile生效:
source/etc/profile
格式化主节点的namenode注意关闭防火墙
systemctlstopfirewalld.service#停止firewall
systemctldisablefirewalld.service#禁止firewall开机启动
主节点上进入hadoop目录
然后执行:
./bin/hadoopnamenode–format
新版本用下面的语句不用hadoop命令了
./bin/
提示:
successfullyformatted表示格式化成功
启动hadoop
主节点上在hadoop目录下执行:
./sbin/start-all.sh
主节点上jps进程有:
NameNode
SecondaryNameNode
ResourceManager
每个子节点上的jps进程有:
DataNode
NodeManager
如果这样表示hadoop集群配置成功