hadoop全分布.docx
《hadoop全分布.docx》由会员分享,可在线阅读,更多相关《hadoop全分布.docx(13页珍藏版)》请在冰豆网上搜索。
hadoop全分布
前期准备
主机名更改
1.1修改主机名
#vim/etc/sysconfig/network
HOSTNAME=master
1.2修改主机名和IP的映射关系(hosts)
#vim/etc/hosts
例如添加:
192.168.111.131master
:
wq!
#保存退出
reboot#重启系统后重新显示
关闭防火墙
serviceiptablesstop(关闭防火墙)
serviceiptablesstatus(查看防火墙状态)
chkconfigiptablesoff(永久关闭防火墙)
关闭selinux
vietc/selinux/config
添加SELINUX=disabled
重启之后命令getenforce
显示disabled
添加用户
useraddHadoop
passwdHadoop
配置java(root权限下)
上传
mkdir/usr/java
exportJAVA_HOME=/usr/java/jdk1.8.0_65
exportJRE_HOME=$JAVA_HOME/jre
exportCLASS_HOME=$JAVA_HOME/lib
exportPATH=$PATH:
$JAVA_HOME/bin
修改hadoop所属/hadoop/hadoop1.2.1
chown–Rhadoop:
hadoop/hadoop
chmod–R755/hadoop
su–hadoop切换到hadoop下
添加hadoop用户环境变量
在hadoop用户下配置环境变量vi.bash_profile
Hadoop1*用户环境变量
添加
HADOOP_HOME=/hadoop/hadoop-1.2.1
PATH=$PATH:
$HADOOP_HOME/bin
刷新
source.bash_profile
hadoop2*用户环境变量
vi.bash_profile
添加
HADOOP_HOME=/usr/hadoop/hadoop-2.6.2
PATH=$PATH:
$HADOOP_HOME/bin:
$HADOOP_HOME/sbin
HADOOP_LOG_DIR=$HADOOP_HOME/logs
YARN_LOG_DIR=$HADOOP_LOG_DIR
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
hadoop用户下建立.ssh
*.pub>>(一定要两个>>表示追加)
并建立所有的ssh公钥互信
用户权限下
传输文件scp-r文件夹主机:
目录
用户权限下
hadoop1.*配置
修改配置文件
第一个:
hadoop-env.sh
vimhadoop-env.sh
第二个:
core-site.xml
vimcore-site.xml
fs.default.name
hdfs:
//主机名(或IP):
9000
hadoop.tmp.dir
(hadoop绝对路径)/tmp
第三个:
hdfs-site.xml(第二个是namenode节点存储hadoop文件系统信息的本地系统路径,可修改
第三个是datanode节点被指定要存储数据的本地系统路径,可修改)
vimhdfs-site.xml
dfs.replication
3
dfs.name.dir
hadoop.tmp.dir(hadoop.tmp.dir可自己更改,但要写绝对路径,并赋予写的权限)
dfs.data.dir
hadoop.tmp.dir(hadoop.tmp.dir可自己更改,但要写绝对路径,并赋予写的权限)
第四个:
mapred-site.xml
vimmapred-site.xml
mapred.job.tracker
(master主机名或jobteacker的主机名):
9001
第五个:
master(单机测试不修改slave即可,成功后在修改)
第六个:
slave
将nemenode和secondarynamenode分离
在core-site.xml中添加
fs.checkpoint.period
3600
同步时间
fs.checkpoint.size
67108864
块大小
fs.checkpoint.dir
/……………./hdfs/namesecondary
secondarynamenode所在目录
在hdfs-site.xml中添加
dfs.secondary.http.address
(secondarynamenode的主机名):
50090
dfs.http.address
(namenode的主机名):
50070
Theaddressandthebaseportwherethedfsnamenodewebuiwilllistenon.
Iftheportis0thentheserverwillstartonafreeport.
并修改master文件
jps测试线程
master显示
namenode
secondarynamenode
jobtracker
slave显示
datanode
tasktracker
查看hadoop集群的状态
hadoopdfsadmin-report
hadoop2.*配置
修改配置文件/etc/hadoop
第一个:
hadoop-env.sh
vimhadoop-env.sh
–$JAVA_HOME=/usr/java/jdk1.8.0_65
yarn-env.sh
vimyarn-env.sh
–$JAVA_HOME
第二个:
core-site.xml
vimcore-site.xml
fs.defaultFS
hdfs:
//主机名(或IP):
9000
hadoop.tmp.dir
(hadoop绝对路径)/tmp
io.file.buffer.size
131072
可选配置
hadoop.proxyuser.hduser.hosts
*
hadoop.proxyuser.hduser.groups
*
第三个:
hdfs-site.xml
vimhdfs-site.xml
dfs.replication
2
dfs.webhdfs.enabled
true
dfs.namenode.secondary.http-address
(mastersecondary主机名):
9001
dfs.namenode.name.dir
file:
///usr/hadoop/hadoop-2.6.2/hdfs/name
dfs.datanode.data.dir
file:
///usr/hadoop/hadoop-2.6.2/hdfs/data
可选配置
*dfs.datanode.ipc.address
0.0.0.0:
50020
*dfs.datanode.http.address
0.0.0.0:
50075
dfs.namenode.http-address
(namenode的主机名):
50070
dfs.namenode.secondary.http-address
(secondarynamenode的主机名):
50090
dfs.namenode.checkpoint.dir
file:
///usr/hadoop/hadoop-2.6.2/hdfs/namesecondary
dfs.namenode.checkpoint.period
3600
第四个:
mapred-site.xml
vimmapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
(master主机名或jobteacker的主机名):
10020
maoreduce.jobhistory.webapp.address
(master主机名或jobteacker的主机名):
10021
第五个:
yarn-site.xml
vimyarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.scheduler.address
(master主机名或jobteacker的主机名):
8030
yarn.resourcemanager.resource-tracker.address
(master主机名或jobteacker的主机名):
8031
yarn.resourcemanager.address
(master主机名或jobteacker的主机名):
8032
yarn.resourcemanager.admin.address
(master主机名或jobteacker的主机名):
8033
第六个:
slave(单机测试不修改slave即可,成功后在修改)
将nemenode和secondarynamenode分离
在hdfs-site.xml中添加
dfs.namenode.secondary.http-address
(secondarynamenode的主机名):
50090
dfs.namenode.http-address
(namenode的主机名):
50070
Theaddressandthebaseportwherethedfsnamenodewebuiwilllistenon.
Iftheportis0thentheserverwillstartonafreeport.
dfs.namenode.checkpoint.dir
file:
///usr/hadoop/hadoop-2.6.2/hdfs/namesecondary
dfs.namenode.checkpoint.period
3600
并修改master文件
jps测试线程
master显示
SecondaryNameNode
ResourceManager
NameNode
slave显示
NodeManager
DataNode
查看hadoop集群的状态
hadoopdfsadmin–report
特有问题
打开debug
exportHADOOP_ROOT_LOGGER=DEBUG,console
在执行hadoopfs-ls
ll/lib64/libc.so.6
显示/lib64/libc.so.6->libc-2.12.so
(也可用ldd--version
)
所以版本不同2.12和2.14的区别
解决方案
手动升级libc64到2.14版本
glibc-2.14自己下载放到/mnt/
yuminstallgcc
yuminstallntpdate
yuminstall-ygcc-c++
yuminstallgperf(会在makeinstall时出现错误:
gperf)
mkdir/usr/build
cp-r/mnt/glibc-2.14/usr/build
cd/usr/build
mkdirglibc-2.14-build
cdglibc-2.14-build/
ls
exportCFLAGS="-g-o2"
../glibc-2.14/configure--prefix=/usr
make
file/lib64/libc.so.6
ll/lib64/libc.so.6
makeinstall(后续错误自己排除)
Datanode错误
解决方案
如果机器都能互相ssh
则是因为文件损坏
时间同步
ntp是时间服务器
ntpdate是时间客户端
ntpdate(时间服务器)与windows同步