1、Centos6.5192.168.1.201hadoop01datanode192.168.1.203hadoop03192.168.1.204hadoop04注意:datanode的数量要求是奇数,否则后继安装hbase时会报错。2.1操作系统安装每台主机都安装centos6.5,安装时可以用desktop方式进行安装,但是安装完成之后需要把启动模式改命令行模式,然后重新启动每台主机。修改启动模式需要修改/etc/inittab这个文件把id后面的数字改成32.2配置网络Hadoop集群中的第个主机节点需要配置成静态IP,配置IP时需要修改/etc/sysconfig/network-scr
2、ipts/ifcfg-eth0这个文件,修改内容如下(以namenode的文件为例)修改完成之后,需要运行service network restart这个命令。其它各个datanode主机也需要按同样的方式对网络进行配置,三个datanode的IP分别为:192.168.1.201;192.168.1.203;192.168.1.204。网络配置完成之后要通过ping命令确认各主机之间是否能访问。2.3修改主机名由于hadoop集群,特别是hbase集群在各节点在通信过程中直接使用IP会出现问题,所以集群中每个节点主机要配置一个固定的主机名。1) 修改/etc/sysconfig/netwo
3、rk这个文件Namenode节点: Datanode节点1: Datanode节点2: Datanode节点3:2) 修改/etc/hosts文件注意默认127.0.0.1 localhost后面会有其它内容,建意删掉,否则hadoop集群能正常启动运行,但使用hbase时会出现访问拒绝的情况。在namenode节点上修改完成/ect/hosts这个文件之后可以通过scp命令复制到各个datanode节点上。Scp命令示例:scp /etc/hosts 192.168.1.201:/etcscp /etc/hosts 192.168.1.203:scp /etc/hosts 192.168.1
4、.204:2.4配置ssh无密码登陆1 )在namenode节点上执行命令 ssh-keygen -t rsa 之后一路回 车,查看刚生成的无密码钥对: cd .ssh 后 执行 ll2 、把 id_rsa.pub 追加到授权的 key 里面去。 执行命令 cat /.ssh/id_rsa.pub /.ssh/authorized_keys3 、修改权限: 执行 chmod 600 /.ssh/authorized_keys4 、确保 cat /etc/ssh/sshd_config 中存在如下内容RSAAuthentication yesPubkeyAuthentication yesAut
5、horizedKeysFile .ssh/authorized_keys如需修改, 则在修改后执行重启 SSH 服 务命令使其生效 :service sshd restart5 、将公钥复制到所有的 datanode节点上scp /.ssh/id_rsa.pub 192.168.1.201: /scp /.ssh/id_rsa.pub 192.168.1.203:scp /.ssh/id_rsa.pub 192.168.1.204:通过scp进行远程复制过程中会要求输入各节点的主机登录密码。6 、在各datanode节点上创建 .ssh 文件夹 :mkdir /.ssh 然后 执行 chmod
6、 700 /.ssh (若文件夹以存在 则不需要创建)7 、在各datanode节点上,将公钥追加到授权文件 authorized_keys 执行命令 :cat /id_rsa.pub /.ssh/authorized_keys 然后 执行 chmod 600 /.ssh/authorized_keys8 、在各datanode节点上确保 cat /etc/ssh/sshd_config 中存在如下内容9、重新启动各个节点(包括namenode和datanode)10、各个节点全部重新启动完成之后需要验证一下ssh无密码登录是否成功(在namenode结点上验证)从上面的截图可以看出在name
7、node节点通过ssh命令登录其它节点时不再需要输入密码。如果ssh无密码登录配置完成之后,有哪个节点进行过系统重新安装,需要在namenode节点上,把/root/.ssh/known_hosts这个文件中把重新安装过系统的结点的信息删掉,然后重新通过ssh命令进行连接,否则会报“主机指纹无法识别的”的异常例如:hadoop01这个节点系统重新安装过后,当公钥复制完成和授权配完成之后,需要在namenode结点上把/root/.ssh/known_hosts文件中的hadoop01相关的信息删除掉。2.5安装JDK安装的JDK需要与操作系统相匹配,例如centos6.5是32位的操作系统,所
8、以安装的JDK也应该是32位的JDK。本次安装的JDK版本是jdk-8u25-linux-i586.rpm,参考下载地址是JDK下载之后,进行安装,各个节点都需要安装,而且安装路径和/etc/profile中的配置每个节点要求一至(/etc/profile可以在namenode节点进行配置,然后通过scp命令向其它节点复制)JDK安装目录JDK安装包放到指定目录下,由于是RPM包所以通过rpm ivh命令进行安装rpm -ivh jdk-8u25-linux-i586.rpmrpm命令运行完成之后在/usr/java目录下会生成jdk1.8.0_25这个目录修改/etc/profile这个文件
9、新增内容如下:export JAVA_HOME=/usr/java/jdk1.8.0_25/ export JRE_HOME=/usr/java/jdk1.8.0_25/jre export CLASS_PATH=.:$CLASS_PATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binprofile修改之后,需要重启机器,重启之后通过java version验证JDK是否安装成功2.6关闭防火墙并停止一些服务如果不关闭防火墙并停止一些服务在运行mapreduce时会出现“访问拒绝”错误。注
10、意,集群中每个节点(包括namenode和各个datanode)的防火墙都需要关闭。在各个节点中执行以命令: vim /etc/sysconfig/selinuxSELINUX=enforcing SELINUX=disabled for SERVICES in abrtd acpid avahi-daemon cpuspeed haldaemon mdmonitor messagebus udev-post; do chkconfig $SERVICES off; done2.7安装以及配置hadoop1)创建hadoop用户以及相关的工作目录使用root登陆所有机器后,所有的机器都创建ha
11、doop用户useradd hadooppasswd hadoop此时在/home/下就会生成一个hadoop目录 ,目录路径为/home/hadoop创建相关的目录定义需要数据及目录的存放路径定义代码及工具存放的路径mkdir -p /home/hadoop/source定义数据节点存放的路径到跟目录下的hadoop文件夹,这里是数据节点存放目录需要有足够的空间存放mkdir -p /hadoop/hdfsmkdir -p /hadoop/tmpmkdir -p /hadoop/log设 置可写权限chmod -R 755 /hadoop2)安装配置hadoop声明:Hadoop的安装与配置
12、可以先在namenode节点上进行,然后把配置完成之后hadoop包和profile文件用scp命令同步到各个datanode节点上,而且各个datanode上不需要对配置好的hadoop包和profile进行任何修改。本次hadoop使用的安装包:hadoop-2.2.0.tar.gz,参考下载地址http:/ftp.riken.jp/net/apache/hadoop/common/下载之后放置在/home/hadoop/source下,并过通过tar命令进行解压tar zxvf hadoop-2.2.0.tar.gz解压之后创建联接(联接需要在各个节点上独立创建)cd /home/had
13、oopln -s /home/hadoop/source/ hadoop-2.2.0/ ./hadoop在/etc/profile文件中追加一些内容export HADOOP_HOME=/home/hadoop/hadoopexport HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/
14、etc/hadoop $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native进入到/home/hadoop/source/hadoop-2.2.0/etc/hadoop目录下对下面几个文件进行修改core-site.xml文件中在内追加以下内容:propertynamehadoop.tmp.dirvalue/hadoop/tmpdescriptionA base for other temporary directories./
15、propertyfs.default.namehdfs:/hadoop02:9000hadoop.proxyuser.root.hostshadoop02hadoop.proxyuser.root.groups*hdfs-site.xml文件中在dfs.replication3dfs.namenode.name.dirfile:/hadoop/hdfs/nametruedfs.federation.nameservice.idns1dfs.namenode.backup.address.ns1hadoop02:50100dfs.namenode.backup.http-address.ns15
16、0105dfs.federation.nameservicesdfs.namenode.rpc-address.ns1dfs.namenode.rpc-address.ns2dfs.namenode.http-address.ns123001dfs.namenode.http-address.ns213001dfs.dataname.data.dir/hadoop/hdfs/datadfs.namenode.secondary.http-address.ns123002dfs.namenode.secondary.http-address.ns223003hadoop-env.sh文件中修改以
17、下内容export JAVA_HOME=/usr/java/jdk1.8.0_25注:这里的JAVA_HOME需要与/etc/profile里的JAVA_HOME配置一样。yarn-site.xml文件中在yarn.resourcemanager.address18040yarn.resourcemanager.scheduler.address18030yarn.resourcemanager.webapp.address18088yarn.resourcemanager.resource-tracker.address18025yarn.resourcemanager.admin.addr
18、ess18141yarn.nodemanager.aux-servicesmapreduce.shufflemapred-site.xml文件中在mapred.job.tracker9001mapred.map.java.opts-Xmx1024mmapred.child.java.opts如果没有mapred-site.xml文件,可以根据mapred-site.xml.template复制出一个。修改slaves文件这里写的几个主机名都是datanode节点的主机名上述几个文件修改完成之后,hadoop包和/etc/profile文件通过scp命令复制到各个datanode上scp -r
19、/home/hadoop/source/hadoop-2.2.0 hadoop01:/home/hadoop/source/scp -r /home/hadoop/source/hadoop-2.2.0 hadoop03:scp -r /home/hadoop/source/hadoop-2.2.0 hadoop04:scp /etc/profile hadoop01:/etc/profilescp /etc/profile hadoop03:scp /etc/profile hadoop04:由于/etc/profile进行了修改,各个节点需要重新启动一下。2.8验证hadoop集群1) 格
20、式化namenode在namenode节点执行以下命令hadoop namenode format2) 启动hadoop集群start-all.sh3) 查看进程jps在datanode节点执行以下命令hadoop2.2.0以前的版本进程中还会有nodemanager进程,但2.2.0版本中没有这个进程也不影响hdfs和mapreduce的运行。4) 验证hdfshadoop fs -ls hdfs:9000/5) 验证mapreducehadoop fs -put /home/hadoop/hadoop/*.txt hdfs:9000/inputcd /home/hadoop/hadoop/
21、share/hadoop/mapreducehadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount hdfs:9000/input hdfs:9000/output执行hadoop fs -ls hdfs:执行hadoop fs -cat hdfs:9000/output/part-r-00000出现上述各个截屏中显示的内容,说明hadoop集群已经配置成功。3. 补充说明3.1 hadoop的启动与停止start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrackstop-all.sh 停止所有的Hadoop守护进程。start-dfs.sh 启动Hadoop HDFS守护进程NameNode、Secondar
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1