3台机器配置hadoop-2.7.3集群
来源:互联网 发布:阿里云服务器ecs备份 编辑:程序博客网 时间:2024/05/17 08:10
一. 环境介绍
三台主机,主机名和ip分别为:
ubuntu1 10.3.19.171
ubuntu2 10.3.19.172
ubuntu3 10.3.19.173
三台主机的登录用户名是bigdata,home目录是/home/bigdata
现在三台主机上部署hadoop集群, ubuntu1作为namenode, ubuntu1 ubuntu2 ubuntu3作为datanode。
二. 安装部署
1. 配置各主机名和hosts, 安装JAVA
修改各主机名的配置, 例如ubuntu1的主机名配置为:
bigdata@ubuntu1:~$ cat /etc/hostname ubuntu1
ubuntu2 和 ubuntu3分别配置为ubuntu2 和 ubuntu3
bigdata@ubuntu1:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 ubuntu# The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouters10.3.19.171 ubuntu110.3.19.172 ubuntu210.3.19.173 ubuntu3
安装配置java. 三台主机都需要安装java, ubuntu1下java安装路径如下, 其它两台主机,也是安装到~/usr/jdk1.8.0_25目录下
bigdata@ubuntu1:~/usr/jdk1.8.0_25$ pwd/home/bigdata/usr/jdk1.8.0_25配置JAVA相关环境变量
export JAVA_HOME=/home/bigdata/usr/jdk1.8.0_25export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport PATH=$JAVA_HOME/bin:$PATH
2. 配置三台主机ssh免密码登录
step1: 分别在ubuntu1 ubuntu2 ubuntu3三台主机上,执行如下命令生成公钥/私钥对
bigdata@ubuntu1:~$ ssh-keygen -t rsa -P ''按回车键,它在/home/bigdata下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。-P表示密码,-P '' 就表示空密码。
step2: 拷贝公钥到各主机,使得各主机可以ssh免密码登录
查看.ssh/authorized_keys文件是否存在,如果不存在则创建
bigdata@ubuntu1:~$ ls .ssh/authorized_keys .ssh/authorized_keys修改.ssh/authorized_keys文件权限为600
bigdata@ubuntu1:~$ chmod 600 .ssh/authorized_keys将ubuntu1 ubuntu2 ubuntu3三台主机 /home/bigdata/.ssh/id_rsa.pub 中的内容拷贝到ubuntu1主机的/home/bigdata/.ssh/authorized_keys文件中。拷贝后/home/bigdata/.ssh/authorized_keys文件的内容如下:
bigdata@ubuntu1:~$ cat .ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrI0nqIW4P7mPbKytk/wo0d1utVQCIgDGQjUZDgVv1Ll9y6PoRtffTqDQ5cHLHnqapsdO/RAfDFUBPaDAHHwZeQ/sKP/c9GWbr9PxjH2dzzVcB6VOll3T0vTLAxMsIevtBj/fN5HRdZTasQeLtibY5CQvGF+owWCWtWp7cEdewL2fgPCFIVijFLqGLtAvLJrpcbnwoY0WgIivviK9QD2Ymm/kC5pAK/5/QljYldyOEiPbTeRLE94b4G7XWPDhIv/1SKLvnwQoy/Zs0HokG/jzW3VXSLJ9aecg8JfTp3q2Ngcm3hm/chfWvxfCRC5DnmTzlKg+HxsWp7M3ku3saR2Kv bigdata@ubuntu1ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7E/gMzpHo4YXEmIBMau+H1Jw01UVEvUSWWy1zz6v0xXQbSQt2fKm1Iwm9XoijLWrv0PWZp44XdPNAP0o+2pK2y8G3t7qMMbAIu9LSe7No51Npz450HMbKlXtZ2ED3Zd/09SP+ekpd4z8IiMeZGUQNCsdRe0jgIbP8QtEkg7MO7WrI9d54dBMzjWPqrxYcSfP3yf65WXGwTcxbmbaFpuFSMvx2c+OsA1u1wemNk0r1/f1Q5Qu4GavOX0ZQojUjz1z2CJe9Hm+hNtpgrIrmnzPk3+4qw/8udUkDGYuZD0G9J2xPmD1qwu5oz29a9b/2eMqStQu7NWoDfCCpoa6ZrHuv bigdata@ubuntu2ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMRgOi/sWQHXRgL24VqDgEncOxmoV9IlmjVhC9Mhbx1vpRWfLakGzxQdmyN6X7xJxZjc3O6CcJbVSZTBnAd45PpX5EhQ/QBa+ycz9Cfl44bVyEaeb2mAtcTbILlepNgvdT+MgVxDkkL+7bL9XMwkxptmQozTY7RTRd3MHiXOk+AoDMt9iJrpGyhjSpR5WEL7jG9TAakOlnBSyTPPnjPV+SerN3DEG/KSg3vAED9Pimzka7MM6syjMVypVt5AZhDmc5bTXPwq6+WTupspI6MdXkeKn6tTCZGhE1Qwvf8nP0Thope6fvrbVWTTOf4RGW8/f9zXyWy2PC9Pp2h5AIihZf bigdata@ubuntu3
尝试在ubuntu1上无密码登录ubuntu2, 第一次可能需要输入密码,后续登录不需要。
bigdata@ubuntu1:~$ ssh ubuntu2Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic x86_64) * Documentation: https://help.ubuntu.com/Last login: Tue May 2 19:56:34 2017 from 10.3.19.171bigdata@ubuntu2:~$
3. 安装hadoop到一台主机ubuntu1上
我的hadoop部署在目录/home/bigdata/run目录下,在ubuntu1上部署hadoop先。操作部署如下:
step1. 解压hadoop-2.7.3.tar.gz,并将其拷贝到run目录下
bigdata@ubuntu1:~$ tar -zxvf hadoop-2.7.3.tar.gz
bigdata@ubuntu1:~$ mv hadoop-2.7.3 /home/bigdata/run/
bigdata@ubuntu1:~$ ln -s /home/bigdata/run/hadoop-2.7.3 /home/bigdata/run/hadoopstep2: 配置core-site.xml
bigdata@ubuntu1:~$ cd /home/bigdata/run/hadoop/etc/hadoopbigdata@ubuntu1:~/run/hadoop/etc/hadoop$
bigdata@ubuntu1:~/run/hadoop/etc/hadoop$ cat core-site.xml ......<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://ubuntu1:9000</value> </property></configuration>
step3: 配置hdfs-site.xml
bigdata@ubuntu1:~/run/hadoop/etc/hadoop$ cat hdfs-site.xml .......<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/bigdata/run/hadoop/tmp/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/bigdata/run/hadoop/tmp/data</value> </property> <property> <name>dfs.http.address</name> <value>ubuntu1:50070</value> </property> <property> <name>dfs.datanode.http.address</name> <value>ubuntu1:50075</value> </property></configuration>
step4: 配置mapred-site.xml
bigdata@ubuntu1:~/run/hadoop/etc/hadoop$ cat mapred-site.xml......<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
step5:配置yarn-site.xml
bigdata@ubuntu1:~/run/hadoop/etc/hadoop$ cat yarn-site.xml ......<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>ubuntu1</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>ubuntu1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
step6: 配置hadoop-env.sh,红色部署,配置JAVA_HOME,即jdk的安装路径
bigdata@ubuntu1:~/run/hadoop/etc/hadoop$ cat hadoop-env.sh ......# The java implementation to use.#export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/home/bigdata/usr/jdk1.8.0_25......
step7: 创建namenode和datanode数据所在目录
mkdir /home/bigdata/run/hadoop/tmp/namemkdir /home/bigdata/run/hadoop/tmp/data这两路径已配置到了hdfs-site.xml配置文件中。
这样在ubuntu1上部署hadoop已经完成了。接下来,将hadoop部署到ubuntu2和ubuntu3两台主机上。
4. 安装hadoop到ubuntu2和ubuntu3主机上
为了方便, 我们直接将ubuntu1上的/home/bigdata/run/hadoop-2.7.3目录打包,拷贝到ubuntu1和ubuntu2主机上。注意, ubuntu2和ubuntu3主机的目录结构,要同ubuntu1主机一样。我们同样将hadoop部署到/home/bigdata/run目录下
bigdata@ubuntu1:~/run$ tar -zcvf hadoop-2.7.3.tar.gz hadoop-2.7.3/
scp hadoop-2.7.3.tar.gz ubuntu2:/run/scp hadoop-2.7.3.tar.gz ubuntu3:/run/
在ubuntu2 ubuntu3主机上解压,并创建软链接,发下是ubuntu2上的操作,ubuntu3类似。
bigdata@ubuntu2:~/run$ tar -zxvf hadoop-2.7.3.tar.gz
bigdata@ubuntu2:~$ ln -s /home/bigdata/run/hadoop-2.7.3 /home/bigdata/run/hadoop
step1. 修改hdfs-site.xml, 注释掉红色部署。
bigdata@ubuntu2:~/run/hadoop/etc/hadoop$ cat hdfs-site.xml ......<configuration> <property> <name>dfs.replication</name> <value>3</value> </property><!-- <property> <name>dfs.namenode.name.dir</name> <value>file:/home/bigdata/run/hadoop/tmp/name</value> </property>--> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/bigdata/run/hadoop/tmp/data</value> </property><!-- <property> <name>dfs.http.address</name> <value>ubuntu1:50070</value> </property> <property> <name>dfs.datanode.http.address</name> <value>ubuntu1:50075</value> </property>--></configuration>
step2: 修改mapred-site.xml, 注释掉红色部分
bigdata@ubuntu2:~/run/hadoop/etc/hadoop$ cat mapred-site.xml......<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
5. 启动hadoop集群
step0: 格式化namenode
bigdata@ubuntu1:~/run/hadoop/bin$ cd /home/bigdata/run/hadoop/binbigdata@ubuntu1:~/run/hadoop/bin$ ./hadoop namenode -formatstep1. 启动
bigdata@ubuntu1:~$ cd /home/bigdata/run/hadoop/sbinbigdata@ubuntu1:~/run/hadoop/sbin$ ./start-all.shstep2. 检查进程是否已启动
bigdata@ubuntu1:~/run/hadoop/sbin$ jps -l1827 org.apache.hadoop.yarn.server.nodemanager.NodeManager1494 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode1225 org.apache.hadoop.hdfs.server.namenode.NameNode1707 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager2110 sun.tools.jps.Jps1343 org.apache.hadoop.hdfs.server.datanode.DataNode
bigdata@ubuntu2:~/run/hadoop/etc/hadoop$ jps -l983 org.apache.hadoop.hdfs.server.datanode.DataNode1166 sun.tools.jps.Jps
6. 测试hadoop
为了测试方便,设置环境变量如下:
export JAVA_HOME=/home/bigdata/usr/jdk1.8.0_25export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport PATH=$JAVA_HOME/bin:$PATH export HADOOP_PREFIX=/home/bigdata/run/hadoopexport HADOOP_HOME=$HADOOP_PREFIX export HADOOP_COMMON_HOME=$HADOOP_PREFIX export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop export HADOOP_HDFS_HOME=$HADOOP_PREFIX export HADOOP_MAPRED_HOME=$HADOOP_PREFIX export HADOOP_YARN_HOME=$HADOOP_PREFIX export PATH=$PATH:$HADOOP_PREFIX/sbin:$HADOOP_PREFIX/bin
测试步骤如下:
a. 本地文件夹/home/bigdata/下创建文件test.txt
$ cat test.txt
hello world
b. hdfs上创建文件夹test:hdfs dfs -mkdir /test
c. 拷贝test.txt到test文件夹下:hdfs dfs -copyFromLocal /home/bigdata/test.txt /test/test.txt
d. 查看hdfs上的test.txt:hdfs dfs -cat /test/test.txt
e. 执行工具类wordcount,将结果输出到output:
hadoop jar /home/bigdata/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/test.txt /output
f. 在output下查看输出结果文件:hdfs dfs -ls /output
g. 查看统计结果 hdfs dfs -cat /output/part-r-00000
0 0
- 3台机器配置hadoop-2.7.3集群
- 3台机器配置hadoop-2.7.3集群
- 3台机器配置hadoop2.6.4集群
- 3台机器配置spark-2.1.0集群
- Hadoop 3台虚拟机的小型集群
- 3台服务器安装hadoop集群+spark集群完整笔记
- hadoop 基于3台虚拟机下的集群配置
- 3台hadoop集群部署计划---安装系列一
- hadoop 2.7.3在ubantu Linux下的集群(3台机)
- hadoop集群搭建2.7.3
- Hadoop 2.7.3 集群配置
- hadoop 2.7.3 集群模式
- Win7下用virtualbox 虚拟3台虚拟机搭建hadoop集群
- win7使用VMware 下部署 hadoop集群(3台)过程及错误
- 一台机器配置两个Tomcat
- Hadoop(3)-Yarn集群
- Hadoop集群实践-完整Hadoop分布式集群部署ubuntu-16.04.1+hadoop-2.7.3
- 2008年3月网吧机器配置推荐
- Windows系统中MySQL 5.6的配置文件(my.ini)修改方法
- 单点登录原理
- 通信协议:HTTP详解
- 设计模式之---组合模式
- DatePickerDialog的样式改变
- 3台机器配置hadoop-2.7.3集群
- docker清理日志
- python项目练习十:DIY街机游戏
- iOS开发
- Bilibil的ijkplayer安装
- mmsql数据库中表结构及数据转换至mysql数据库中
- 宏
- github for windows离线安装包
- 二维码的使用