hadoop部署
hadoop版本3.3.0
jdk 1.8
下载 Apache Hadoop
1 Download tar.gz
2 Download src 源码
3 documentation 文档
部署条件:
1 配置jdk环境变量
2 配置免密登录
3 修改主机名
java环境变量配置
vi /etc/profile
.....
done
//加入以下三行 第一行为jdk解压路径
export JAVA_HOME=/mnt/jdk1.8/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
unset i
unset -f pathmunge
source /etc/profile
java -version
免密登录
(假设集群为192.168.0.1 192.168.0.2 192.168.0.3)
在192.168.0.1机器上执行
cd /root/.ssh //若无此目录执行 ssh hostname hostname主机名
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
在192.168.0.2机器上执行
cd /root/.ssh //若无此目录执行 ssh hostname hostname主机名
ssh-keygen -t rsa
scp id_rsa.pub root@192.168.0.1:/root/.ssh/2
在192.168.0.3机器上执行
cd /root/.ssh //若无此目录执行 ssh hostname hostname主机名
ssh-keygen -t rsa
scp id_rsa.pub root@192.168.0.1:/root/.ssh/3
在192.168.0.1机器上执行
cat 2 >> authorized_keys
cat 3 >> authorized_keys
scp authorized_keys root@192.168.0.2:/root/.ssh/authorized_keys
scp authorized_keys root@192.168.0.3:/root/.ssh/authorized_keys
rm 2
rm 3
修改主机名(规划示例)
| 主机 | 主机名 | 命名空间节点 | 数据节点 | ||
|---|---|---|---|---|---|
| 192.168.0.1 | server1 | Namenode | SecondaryNameNode | ResourceManager | |
| 192.168.0.2 | server2 | DataNode | |||
| 192.168.0.3 | server3 | DataNode |
vi /etc/hostname vi /etc/hosts sudo sysctl kernel.hostname=xxxx
部署
1 在三台linux服务合适的位置创建hadoop的文件夹(三台机器同一路径),例如 mkdir /mnt/hadoop
2 上传下载的hadoop-3.3.0.tar.gz
3 解压 tar -zxvf hadoop-3.3.0.tar.gz
4 在server1机器上配置
5 在/mnt/hadoop文件夹中新建一下文件
mkdir tmp
mkdir var
mkdir dfs
mkdir dfs/name
mkdir dfs/data
6 修改hadoop配置文件 cd /mnt/hadoop/hadoop-3.3.0/etc/hadoop/
6.1 修改core-site.xml (注意:三台机器主机名都是server1)
在
hadoop.tmp.dir /mnt/hadoop/tmp Abase for other temporary directories. fs.default.name hdfs://server1:9000
6.2 修改hadoop-env.sh,配置jdk路径
export JAVA_HOME=/mnt/jdk/jdk1.8/jdk1.8.0_121
6.3 修改hdfs-site.xml
在
dfs.name.dir /mnt/hadoop/dfs/name Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently. dfs.data.dir /mnt/hadoop/dfs/data Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks. dfs.replication 1 dfs.permissions false need not permissions
说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true。
6.4 新建并且修改mapred-site.xml
cp mapred-site.xml mapred-site.xml.template
修改这个新建的mapred-site.xml文件,在
(注意:主机名为三台机器各自的主机名)
mapred.job.tracker server1:49001 mapred.local.dir mnt/hadoop/var mapreduce.framework.name yarn
6.5修改yarn-site.xml文件
在
yarn.resourcemanager.hostname server3 The address of the applications manager interface in the RM. yarn.resourcemanager.address ${yarn.resourcemanager.hostname}:8032 The address of the scheduler interface. yarn.resourcemanager.scheduler.address ${yarn.resourcemanager.hostname}:8030 The http address of the RM web application. yarn.resourcemanager.webapp.address ${yarn.resourcemanager.hostname}:8088 The https adddress of the RM web application. yarn.resourcemanager.webapp.https.address ${yarn.resourcemanager.hostname}:8090 yarn.resourcemanager.resource-tracker.address ${yarn.resourcemanager.hostname}:8031 The address of the RM admin interface. yarn.resourcemanager.admin.address ${yarn.resourcemanager.hostname}:8033 yarn.nodemanager.aux-services mapreduce_shuffle yarn.scheduler.maximum-allocation-mb 512 每个节点可用内存,单位MB,默认8182MB yarn.nodemanager.vmem-pmem-ratio 2.1 yarn.nodemanager.resource.memory-mb 2048 yarn.nodemanager.vmem-check-enabled false
6.6
修改server1 的worker文件
server2
server3
修改server2 的worker文件
server1
server3
修改server3 的worker文件
server1
server2
注意:端口号与里面的值,后期优化配置需要修改,第一次配可以全复制。
说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。
第6的内容另外两台机器同样配置 注意6.1
7 启动Hadoop
server1 为Namenode
cd /mnt/hadoop/hadoop-3.2.0/bin ./hadoop namenode -format
等几秒没报错就是执行成功,格式化成功后,可以在看到在/mnt/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件。
8 在namenode上执行启动命令
cd /mnt/hadoop/hadoop-3.2.0/sbin ./start-all.sh (启动) ./stop-all.sh (停止)
9 行过程中发生报错
start_dfs.sh stop-dfs.sh start-yarn.sh stop-yarn.sh均在/mnt/hadoop/hadoop-3.2.0/sbin
在start_dfs.sh 、stop-dfs.sh两个文件开头位置添加如下配置:
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=root HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
在start_yarn.sh 、stop-yarn.sh两个文件开头位置添加如下配置:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=root YARN_NODEMANAGER_USER=root
hdfs访问地址
http://192.168.0.1:9870/
http://192.168.10.198:8088/
jps命令查看当前的服务
GitHub - 4ttty/winutils: Windows binaries for Hadoop versions (built from the git commit ID used for the ASF relase)



