前段时间安装后依稀记起来的步骤 纯手打,有错误望指出
安装包(http://hadoop.apache.org/)
开始安装之前需要做的事情
1.因为hadoop是用java实现的所以第一步先安装java 并且在/etc/profile 配置环境变量,接着来一发 source /etc/profile使新的环境变量生效。
2.vi /etc/hostname 改成hadoop01
vi /etc/hosts
192.168.2.133 hadoop01 wwww.hadoop01.com
192.168.2.129 hadoop02 wwww.hadoop02.com
192.168.2.131 hadoop03 wwww.hadoop03.com
开始安装:
1..开始安装hadoop(一主两从,主:hadoop01,从:hadoop02,hadoop03)
①.tar -zxvf hadoop //解压安装包
②.配置环境变量 vi /etc/profile export HADOOP_HOME=/usr/local/hadoop-3.1.3 export PATH=$HADOOP_HOME/bin source /etc/profile 使其生效
③.vi /etc/hadoop/hadoop-env.sh 配置环境变量(把java的加进去)
2.配置5个xml文件(咱们到/hadoop/etc/hadoop目录下)
1.core-site.xml
<!--配置hdfs文件系统的命名空间--> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <!--操作hdfs的缓存大小--> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!--配置临时数据存储目录--> <property> <name>hadoop.tmp.dir</name> <value>/home/bigdata/tmp</value> </property>
2.hdfs-site.xml
<!--副本数--> <property> <name>dfs.replication</name> <value>3</value> </property> <!--块大小 128m haddop2--> <property> <name>dfs.block.size</name> <value>134217728</value> </property> <!--hdfs元数据存储的位置--> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoopdata/dfs/name</value> </property> <!--hdfs数据存储位置--> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoopdata/dfs/data</value> </property> <!--hdfs的检测目录--> <property> <name>dfs.checkpoint.dir</name> <value>/home/hadoopdata/checkpoint/dfs/cname</value> </property> <!--hdfs的namenode的web地址--> <property> <name>dfs..http.address</name> <value>hadoop01:50070</value> </property> <!--hdfs的snn的web地址--> <property> <name>dfs.namenode.secondary.http.address</name> <value>hadoop01:50090</value> </property> <!--是否开启web操作hdfs--> <property> <name>dfs.webhdfs.enabled</name> <value>false</value> </property> <!--是否启用hdfs权限控制(acl)--> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
3.mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final><true></final> </property> <!--历史服务的通信地址--> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop01:10020</value> </property> <!--历史服务的webui地址--> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop01:19888</value> </property>
4.yarn-site.xml
<!--指定mapreduce的shuffle--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--指定resourcemanager主机名--> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <!--指定rm的scheduler内部通信地址--> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoop01:8030</value> </property> <!--指定rm的resource-tracker内部通信地址--> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoop01:8031</value> </property> <!--指定rm的admin的内部通信地址--> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoop01:8033</value> </property> <!--指定rm的web ui 监控地址--> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoop01:8088</value> </property>
配置完成后咱们
分发到其他服务器
scp -r /usr/local/hadoop/ hadoop2:/usr/local scp -r /usr/local/hadoop/ hadoop3:/usr/local
接着配置ssh免密登陆
ssh-keygen -t rsa //一直回车 分发公钥 ssh-copy-id hadoop01 ssh-copy-id hadoop02 ssh-copy-id hadoop03
记得启动之前注意两点
1.将linux的时间统一
2.hadoop namenode -format 格式化 hadoop01(主节点的)
开始启动命令
全启动 start-all.sh 全关闭 stop-all.sh 模块启动 start-dfs.sh start-yarn.sh 单个进程启动 hadoop-daemon.sh start/stop namenode hadoop-daemons.sh start/stop datanode yarn-daemon.sh start/stop namenode yarn-daemons.sh start/stop datanode
启动之后查看jps
root@hadoop01:~# jps 3606 SecondaryNameNode 12921 Jps 3258 NameNode 4011 NodeManager 3870 ResourceManager
hadoop02 hadoop03
3843 DataNode 5557 Jps 3975 NodeManager
以上就可以运行了
接下来贴下启动过程中报的错误,如果有缘看到这篇博客,可以把自己遇到的错误以及解决方案评论,
1.启动报错:Attempting to operate on hdfs namenode as root 解决方案 修改start/stop-hdfs.sh (直接添加) HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root 修改start/stop-yarn.sh YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root