本文以研究和測驗功能為主,部署生產環境要參考軟體實際版本以及對應部署方法,
本文涉及軟體:vmware14、jdk8、hadoop2、centos6.8
1.虛擬機配置初始配置
1.1:打開虛擬機安裝centos6.8,本人分配2G記憶體、20G硬碟、創建hadoop01用戶(自行百度創建Linux用戶相關命令)
1.2:安裝完成以root身份進入系統vi /etc/inittab將id:5:initdefault改為3 啟動,默認為命令列(不同發行版本Linux級別檔案目錄不同)
1.3:配置yum源
yum install -y wget
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache
yum update -y
1.4:配置sudo
yum install sudo -y
visudo 后添加 hadoop01 ALL=(ALL) NOPASSWD:ALL
找到 secure_path 這一行之后添加:/usr/local/bin:/usr/local/sbin
1.5:關閉防火墻(centos不同版本命令不同 6通關service 7通過systemctl )
chkconfig iptables off
/etc/init.d/iptables stop
1.6:下載解壓java、hadoop 配置環境變數(下面的環境變數是本人配置,按需修改)
vi /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/home/xxx/software/hadoop-2.7.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2.虛擬機網路配置(此處選擇NAT模式):
網橋、NAT、本機模式具體區別:https://blog.csdn.net/dif90304/article/details/101758657?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
2.1:先將虛擬機網路配接器設定為NAT模式
2.2:配置網路模式,規劃一個局域網網段
本人設定192.168.1.0 255.255.255.0 作為虛擬機配置網段,192.168.1.1~192.168.1.99 作為虛擬機靜態ip
192.168.1.100~192.168.1.251 作為DHCP動態ip(本人192.168.1.252 被占用,所以跳過)
192.168.1.253作為宿主機虛擬網卡(VMware Network Adapter VMnet8)的ip
192.168.1.254作為網關ip
hadoop等節點從虛擬機靜態ip中分配
2.3.配置虛擬機網卡
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
vi /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/network restart
vi /etc/sysconfig/network 修改主機名稱 hadoop01
vi /etc/hosts 添加 192.168.1.1 hadoop01(可以將hadoop2...也添加上)之后主機和虛擬機相互ping通,并且虛擬機可以訪問外網
3.克隆虛擬機配置
3.1:網路配置
vi /etc/udev/rules.d/70-persistent-net.rules 洗掉原來的eht0 將下面的eth1改為eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改HWADDR 和 IPADDR
vi /etc/sysconfig/network 修改主機名
vi /etc/hosts 添加本機ip 和 主機名
3.2:日期同步
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install ntpdate
ntpdate -u ntp.api.bz
3.3:各個機器之間免密登陸(本機也要復制)
ssh-keygen -t rsa
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
*:在hadoop每個機器都執行ssh-copy-id拷貝公鑰(可以通過腳本)該命令只是針對一個用戶
*:scp -r [本地目錄] [遠程目錄] *目錄都可以用 遠程用戶名@計算機名稱:路徑
*:rsync -rvl [本地目錄] [遠程目錄] *目錄都可以用 遠程用戶名@計算機名稱:路徑
4.Hadoop配置完全分布式模式
進入到hadoop安裝目錄
cd ./hadoop/etc/hadoop/
vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_75
vi hadoop-env.sh
# 添加JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.7.0_75
vi core-site.xml
<!-- 配置NameNode服務器 -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
vi hdfs-site.xml
<!-- 配置分片數 -->
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
----------------------------------------------- 配置yarn --------------------------------------
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<!-- 配置mapreduce管理程式yarn -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 歷史服務器端地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<!-- 歷史服務器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
</configuration>
vi yarn-site.xml
#啟動歷史服務器
mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
vi yarn-site.xml
<!-- yarn具體配置 -->
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
vi slaves
# 將hadoop用到的所有機器名稱全部寫入(包括:NameNode、DataNode、SecondaryNameNode、NodeManager、RescourceManager等)
slave1
slave2
slave3
# 將所有組態檔同步到其他機器上(如果其他機器沒有hadoop目錄,則先用scp拷貝其他機器)
rsync -rvl ./hadoop/etc/hadoop/ [遠程目錄] *目錄都可以用 遠程用戶名@計算機名稱:路徑
* 一般都是通過撰寫shell腳本一鍵分發
5. 啟動hadoop
# 格式化NameNode
hadoop namenode format
# 啟動hdfs
start-dfs.sh
# 啟動yarn
start-yarn.sh
*:hadoop官方建議使用start-all.sh
6.配置時間同步服務
日期同步主服務器
# 查詢ntp是否存在 不存在要安裝
rpm -qa|grep ntp
vi /etc/ntp.conf
# 前面注解打開
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 從外部服務器獲取時間注釋掉
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
# 節點丟失網路鏈接 本地時間作為服務器時間
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# 讓硬體時間與系統時間一起同步
vi /etc/sysconfig/ntpd
添加 SYNC_HWCLOCK=yes
service ntpd start
# 設定開機啟動
chkconfig ntpd on
其它機器(從主服務器上讀取時間)
crontab -e
*/10 * * * * /usr/sbin/ntpdate hadoop01
*7.重新格式化
洗掉core-site.xml中hadoop.tmp.dir指定目錄
洗掉logs檔案夾
hadoop namenode -format
* 0.安裝編譯環境
yum install glibc-headers -y
yum install gcc-c++ -y
yum install make -y
yum install cmake -y
yum install openssl-devel -y
yum install ncurses-devel -y
安裝maven或者gradle或者ant
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/174097.html
標籤:大數據
上一篇:Maven白話講解
下一篇:資訊公交服務在滴滴的應用實踐
