hdfs-单机安装

243 阅读1分钟

基础设施 部署配置 初始化运行 命令行使用

ssh root@192.168.0.1

vi /etc/profile export BIGDATA=hello source /etc/profile echo $BIGDATA

ssh root@192.168.0.2 'mkdir /haha'

不会加载etc/profile文件 拿不到属性值 ssh root@192.168.0.2 'echo $BIGDATA'

ssh root@192.168.0.2 'source /etc/profile ; echo $BIGDATA'

基础设施: 操作系统、环境、网络、必须软件 设置IP及主机名 ifconfig vi /etc/sysconfig/network 关闭防火墙&selinux service iptables stop chkconfig iptables off 设置hosts映射 vi /etc/hosts 时间同步 date 安装jdk 设置SSH免秘钥

ifconfig vi /etc/sysconfig/network

设置IP及主机名 vi /etc/syscofig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network 关闭防火墙&selinux service iptables stop chkconfig iptables off vi /etc/selinux/config SELINUX=disabled 设置hosts映射 vi /etc/hosts 192.168.0.1 node01 192.168.0.2 node02 时间同步 yum install ntp -y vi /etc/ntp.conf 添加 server ntp1.aliyun.com service ntpd start chkconfig ntpd on 安装jdk rpm -i jdk-8u181-linux-x64.rpm cd /usr/java ll default -> /usr/java/latest jdk1.8.0_181-amd64 latest -> /usr/java/jdk1.8.0_181-amd64 有一些软件只认:/usr/java/default vi /etc/profile 追加 export JAVA_HOME=/usr/java/default export PATH=PATH:PATH:JAVA_HOME/bin source /etc/profile ssh免密 ssh localhost 1.验证自己还没免密 2.被动生成了 /root/.ssh ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 如果A想免密的登录到B: A: ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa B: cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 结论:B包含A的公钥,A就可以免密的登录

HADOOP的配置(应用的搭建过程) 规划路径 mkdir /opt/bigdata tar xf hadoop-2.6.5.tar.gz mv hadoop-2.6.5 /opt/bigdata cd /opt/bigdata/hadoop-2.6.5 vi /etc/profile export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5 export PATH=PATH:PATH:JAVA_HOME/bin:HADOOPHOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin source /etc/profile

配置hadoop的角色:
cd $HADOOP_HOME/etc/hadoop
	必须给hadoop配置javahome要不ssh过去找不到
vi hadoop-env.sh
	export JAVA_HOME=/usr/java/default
vi core-site.xml
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://node01:9000</value>
	</property>
vi hdfs-site.xml
	配置hdfs 副本数为1.。。。
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/data</value>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>node01:50090</value>
	</property>
	<property>
		<name>dfs.namenode.checkpoint.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/secondary</value>
	</property>
	配置DN这个角色在哪里启动
vi slaves
	node01

初始化和启动 hdfs namenode -format 创建目录 并初始化一个空的fsimage VERSION CID cd /var/bigdata/hadoop/local/dfs start-dfs.sh 第一次:datanode和secondary角色会初始化创建自己的数据目录 jps http://node01:50070 修改windows的hosts文件 验证知识点 cd /var/bigdata/hadoop/local/dfs/name/current 观察 editlog的id是不是在fsimage的后边 cd /var/bigdata/hadoop/local/dfs/secondary/current SNN 只需要从NN拷贝最后时点的fsimage和增量的editlog hdfs dfs -put hadoop-2.6.5.tar.gz /user/root /var/bigdata/hadoop/local/dfs/data/current/BP-281147636-192.168.0.1-1560691854170/current/finalized/subdir0/subdir0

for i in `seq 100000`;do echo "hello hadoop $i" >> data.txt ; done
ls -l -h 可以查看到存储大小
hdfs dfs -D dfs.blocksize=1048576 -put data.txt
检查data.txt被切割的块,他们的数据什么样子?

简单使用: hdfs dfs -mkdir -p /user/root