hadoop集群-linux安装配置-基础配置(三)
hadoop安装配置
-
内容:
1. linux安装配置
2. 多台虚拟机标配
3. hadoop安装配置
4. hadoop集群配置
5. zookeeper高可用配置
实战-hadoop安装配置
- 搭建hadoop-hw
参考手册–在线:http://hadoop.apache.org/docs/r3.1.1/参考手册–离线:%HADOOP_HOME%/share/doc/hadoop/index.html
操作步骤
一定要安装JDK
# 先将rpm包上传到linux上;
yum -y install jdk-8u192-linux-x64.rpm
- 按着文档走,上面JDK安装可以忽略
1. hadoop 先在node-1上配置好,在通过服务器网络发送到其他服务器上
2. 服务器上的网络很快
一定要将hadoop的包(tar.gz)上传到服务器上去
# 一定要将hadoop.tar.gz上传到/data/hadoop下面;
# pwd:一定进入到hadoop所在的目录
# 解压hadoop
tar -xzf hadoop-3.1.1.tar.gz
# 改名;把版本号去掉
mv hadoop-3.1.1 hadoop
# 查看帮助文档
du -h share/doc/
# 删除帮助文档
rm -rf share/doc/
测试hadoop是否好使;
修改配置文件
- 修改此文件:etc/hadoop/hadoop-env.sh
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
- 配置文件(etc/hadoop/core-site.xml)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 核心的hdfs协议访问方式 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:9000</value>
</property>
<!-- 所有hadoop的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/data/hadoop-${user.name}</value>
</property>
</configuration>
- 配置文件(etc/hadoop/hdfs-site.xml)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 副本数;默认3个 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<!-- namenode的访问地址;http协议,网页访问 -->
<property>
<name>dfs.namenode.http-address</name>
<value>node-1:9870</value>
</property>
<!-- secondary的访问地址;http协议,网页访问 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-2:9868</value>
</property>
<!-- dfs.namenode.name.dir:namenode的目录放的路径在hadoop.tmp.dir之上做了修改
file://${hadoop.tmp.dir}/dfs/name
dfs.datanode.data.dir:namenode的目录放的路径在hadoop.tmp.dir之上做了修改
file://${hadoop.tmp.dir}/dfs/data
-->
</configuration>
- 配置文件(etc/hadoop/mapred-site.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- yarn -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- ctrl+shift+/ -->
<!-- <property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property> -->
<!-- 一旦启动了yarn,建议换成必须设置最大内存 -->
<property>
<name>mapreduce.map.memory.mb</name>
<value>200</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx200M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>200</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx200M</value>
</property>
</configuration>
- 配置文件(etc/hadoop/yarn-site.xml)
<?xml version="1.0"?>
<configuration>
<!-- 配置yarn -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- resourcemanager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-1</value>
</property>
</configuration>
- 配置文件(etc/hadoop/workers);(放的是datanode,每一个datanode默认都有一个nodemanager)
#只需要写这三个就行了
node-2
node-3
node-4
- 将配置好的hadoop分发到node-2,node-3,node-4上面;用scp
# 一定是在hadoop软件(框架)所在的目录下面
/data/hadoop
# 在node-1执行此命令,将hadoop拷贝到node-2
scp -r hadoop/ node-2:$PWD
# 拷贝到node-3上
scp -r hadoop/ node-3:`pwd`
# 拷贝到node-4上
scp -r hadoop/ node-4:/data/hadoop
- 在namenode上执行hadoop的启动命令;(node-1)
# 格式化,只操作一次,要格式化的时候要慎重
bin/hdfs namenode -format
# 启动dfs
sbin/start-dfs.sh
# 启动yarn
sbin/start-yarn.sh
- 访问
Node-1:9870
日志
- 如果启动报错,看日志
- 在namenode的内容
- 在datanode存储的数据;(木有加密)