麒麟操作系统-03-Hadoop安装与部署
准备工作
首先准备三台服务器node1,node2,node3。
虚拟机也可以,但是要确保运行内存是够用的,建议主节点node1给4G,其他最少2G。在能给的基础上越多越好。注意修改ip们可以参照我的另一篇博文:http://t.csdn.cn/6ohFp
因为没人安装hadoop,就只安装个hadoop,肯定是要使用其他大数据组件的。
1、版本选择
本次hadoop的版本选择3.3.5,稳定版,官方建议2.x和3.x都升级到此版本。
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.5/
清华源下载的快,点进去选择 hadoop-3.3.5.tar.gz 下载,674M的,不要选择错了。
2、配置host、ssh、防火墙。
这些属于前置工作,参照上一篇文章:http://t.csdn.cn/jCylQ
3、 解压:
注意:
为了方便管理,我的环境中,所有安装包上传到
/opt/software/
下;全部解压到
/opt/server/
下;一些配置的日志信息之类的存在/opt/data/
下。所以:在
/opt
目录下,新建software和server和data
三个文件夹,用于存储我们自己的数据和安装包。并且,在
/opt/server/
下的所有安装目录都统一按照name-version
来命名,方便记录包和版本。
#解压hadoop安装包到server目录下。
tar -zxvf hadoop-3.3.5.tar.gz -C /opt/server
4、修改环境变量
修改/etc/profile的环境变量
vim /etc/profile
#shift + ↓ 翻页到最后,按字母o,可以快速换行并进入编辑模式
export HADOOP_HOME=/opt/server/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#shift + zz 保存并退出,或者按键盘左上角esc,再输入 :wq 保存并退出
#重新加载环境变量,使其生效。
source /etc/profile
5、配置文件(重点)
进入hadoop的配置文件所在的目录
cd /opt/server/hadoop-3.5.5/etc/hadoop
这个目录下全是配置文件
-
hadoop-env.sh中添加JAVA_HOME,记住填写你自己实际的。
export JAVA_HOME=/usr/lib/jvm/java
-
core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/hadoop-3.3.5</value> </property> <property> <name>fs.default.name</name> <value>hdfs://node1:8020</value> </property> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property> </configuration>
-
hdfs-site.xml
<property> <name>dfs.namenode.secondary.http-address</name> <value>node2:9868</value> </property>
-
workers
node1 node2 node3
-
mapred-env.sh(可以不改)
export JAVA_HOME=/usr/lib/jvm/java
-
mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <!-- MapReduce JobHistory, 当前计算机的IP --> <value>node1:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <!-- MapReduce Web App JobHistory, 当前计算机的IP --> <value>node1:19888</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
-
yarn-env.sh(可以不改)
export JAVA_HOME=/usr/lib/jvm/java export YARN_RESOURCEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED" export YARN_NODEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
-
yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log.server.url</name> <value>http://node1:19888/jobhistory/logs</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
在hadoop-3.5.5的
sbin
目录下 对启动脚本添加信息:-
start/stop-dfs.sh
HDFS_NAMENODE_USER=root HDFS_DATANODE_USER=root HDFS_SECONDARYNAMENODE_USER=root YARN_RESOURCEMANAGER_USER=root YARN_NODEMANAGER_USER=root
-
start/stop-yarn.sh
RN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root YARN_RESOURCEMANAGER_USER=root
-
-
在主节点node1上进行初始化 :
hadoop namenode -format
-
启动 start-all.sh
(等于start-dfs.sh + start-yarn.sh)
-
使用jps命令检查每个节点上hadoop的进程,注意对照:
node1: ResourceManager NameNode DataNode NodeManager node2: NodeManager DataNode SecondaryNameNode node3: DataNode NodeManager
-
等一会儿再访问webUI界面,防止启动之后出现问题又关闭。
webUI:(在hadoop3中默认的端口为8088和9870)
YARN:http://node1:8088
HDFS:http://node1:9870 -
注意:以上的配置都是些简单配置,很多参数都是可以根据情况去修改的,包括端口号。更多信息需要查阅官方文档。