Vì vậy trong bài này tôi sẽ tiếp tục hướng dẫn các bạn cách cài Hadoop trong môi trường multi server.
Các bước chuẩn bị bạn làm y hệt như trong bài hướng dẫn này và dừng lại sau bước tạo ssh-key.
Ở đây, tôi giả định bạn đang để các máy có IP như sau (cấu hình file hosts):
192.168.1.109 master.hadoop.com 192.168.1.145 slave.hadoop.com
Cấu hình ssh-key cho các máy chủ
Bạn chạy lệnh sau để cấu hình:
# su hadoop $ ssh -keygen -t rsa $ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master.hadoop.com $ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave.hadoop.com $ chmod 0600 ~/.ssh/authorized_keys $ exitDownload và giải nén bộ cài hadoop vào thư mục /opt/hadoop như sau:
Quay về tài khoản root nếu đang ở tài khoản khác.
Tải về Hadoop (lưu ý có thể chọn phiên bản khác tùy ý):
wget http://www-eu.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gzGiải nén file vừa tải về:
Tạo thư mục lưu các tập tin của Hadoop:tar xfz hadoop-2.7.2.tar.gz
mkdir /opt/hadoop mv hadoop-2.7.2/* /opt/hadoop
Đổi quyền cho thư mục:
chown -R hadoop:hadoop /opt/hadoop/
Kiểm tra lại các tập tin đã nằm ở thư mục chỉ định hay chưa:
ls /opt/hadoop
nếu thấy output như sau thì được:
LICENSE.txt README.txt etc lib sbin NOTICE.txt bin include libexec share
Chuyển sang tài khoản hadoop.
Chèn nội dung sau vào tập tin ~/.bash_profile:su - hadoop
Khởi tạo các biến bằng lệnh sau:export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=/opt/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
Kiểm tra lại các biến bằng các lệnh sau:source .bash_profile
Nếu output tương tự như sau là được:echo $JAVA_HOME echo $HADOOP_HOME
Cấu hình cho Hadoop:/usr/java/default/opt/hadoop
Mở tập tin /opt/hadoop/etc/hadoop/core-size.xml và thêm vào nội dung sau:
fs.default.name hdfs://master.hadoop.com:9000/ dfs.permissions false
Mở tiếp tập tin /opt/hadoop/etc/hadoop/hdfs-site.xml và thêm vào nội dung sau:
Mở tiếp tập tin /opt/hadoop/etc/hadoop/mapred-size.xml và thêm vào nội dung sau:dfs.data.dir /opt/hadoop/hadoop/dfs/name/data true dfs.name.dir /opt/hadoop/hadoop/dfs/name true dfs.replication 1
Cài đặt Hadoop lên các máy chủ khác Copy bộ cài Hadoop lên các máy chủ khác bằng lệnh:mapred.job.tracker master.hadoop.com:9001
# su hadoop $ cd /opt/hadoop $ scp -r hadoop slave.hadoop.com:/opt/hadoopCấu hình trên máy chủ chính Trên máy chủ master.hadoop.com, thêm tập tin /opt/hadoop/etc/hadoop/masters với nội dung sau:
master.hadoop.comThêm tập tin /opt/hadoop/etc/hadoop/slaves với nội dung sau:
slave.hadoop.comChạy Hadoop: Từ máy chủ chính chạy lệnh sau để format: hdfs namenode -format. Chạy dịch vụ của Hadoop bằng các lệnh sau:
sbin/start-dfs.sh sbin/start-yarn.sh.Thêm một DataNode vào Hadoop Cluster: Giả sử ta có thêm một DataNode có địa chỉ như sau: 192.168.1.103 slave2.hadoop.com Trên slave2 ta thêm tài khoản có tên là hadoop: useradd hadoop passwd hadoop Từ trên máy chủ master, ta chạy các lệnh sau:
mkdir -p $HOME/.ssh chmod 700 $HOME/.ssh ssh-keygen -t rsa -P '' -f $HOME/.ssh/id_rsa cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys chmod 644 $HOME/.ssh/authorized_keys Copy the public key to new slave node in hadoop user $HOME directory scp $HOME/.ssh/id_rsa.pub hadoop@192.168.1.103:/home/hadoop/Từ trên máy chủ slave2, ta copy public key vào tập tin $HOME/.ssh/authorized_keys:
cd $HOME mkdi -p $HOME/.>ssh chmod 700 $HOME/.ssh cat id_rsa.pub >> $HOME/.ssh/authorized_keys chmod 644 $HOME/.ssh>/authorized_keysCác bước trên là để các máy chủ đăng nhập vào nhau mà không phải sử dụng mật khẩu. Cập nhật thông tin máy chủ slave2 trên mọi file hosts của các máy chủ khác. Khởi động DataNode trên máy chủ mới bằng lệnh sau: bin/hadoop-daemon.sh start datanode Loại bỏ máy chủ DataNode ra khỏi cụm máy chủ: Đăng nhập vào máy chủ master. Thêm trường sau vào tập tin hdfs-site.xml:
Thêm tập tin hdfs_exclude.txt với nội dung sau: slave2.hadoop.com Load lại thông tin cấu hình: bin/hadoop/hdfs dfsadmin -refreshNodes Tắt Node vừa loại bỏ. Tham khảo tại đây.dfs.hosts.exclude /home/hadoop/hadoop-1.2.1/hdfs_exclude.txt DFS exclude
Có thể xem thêm hướng dẫn ở đây:
Trả lờiXóahttp://linuxpitstop.com/configure-distributed-hbase-cluster-on-centos-linux-7/
Cài HBASE:
Trả lờiXóahttp://linuxpitstop.com/configure-distributed-hbase-cluster-on-centos-linux-7/
Phải cài thêm zookeeper để mở được web HBASE:
Trả lờiXóahttps://www.tutorialspoint.com/zookeeper/zookeeper_installation.htm
http://hanishblogger.blogspot.com/2013/11/zookeeper-setup-in-distributed-mode.html
Trả lờiXóaLưu ý: giờ trên các server phải đồng bộ với nhau
Trả lờiXóaregionserver phải giống nhau trên mọi node của Hbase.
Trả lờiXóaSố zookeeper phải là số lẻ.
Chú ý phải đặt đúng zookeeper sẽ chạy trên máy nào (phải trên datanode?)
http://stackoverflow.com/questions/39746714/distributed-cluster-hadoop-and-hbase
Trả lờiXóahttp://hadooptutorial.info/hbase-installation-fully-distribution-mode/
Trả lờiXóaPhải thiết lập cổng 60010 bằng tay như cấu hình ở đây mới được:
Trả lờiXóahttp://stackoverflow.com/questions/38180823/hbase-regionservers-are-not-communicating-with-master
cài đặt Hue:
Trả lờiXóahttp://cloudera.github.io/hue/docs-3.5.0/manual.html
Cách đưa hadoop thoát khỏi trạng thái safemode:
Trả lờiXóahttp://unmeshasreeveni.blogspot.in/2014/04/name-node-is-in-safe-mode-how-to-leave.html
Fix corrupt data:
Trả lờiXóahttp://centoshowtos.org/hadoop/fix-corrupt-blocks-on-hdfs/